File tree Expand file tree Collapse file tree 2 files changed +8
-3
lines changed Expand file tree Collapse file tree 2 files changed +8
-3
lines changed Original file line number Diff line number Diff line change @@ -18,6 +18,7 @@ function getIngressConnectionEstablishmentMaxQueueDepthDefault(mongo) {
1818// Check the default values are used if not set explicitly
1919let mongo = MongoRunner . runMongod ( ) ;
2020const maxInt32 = Math . pow ( 2 , 31 ) - 1 ;
21+ const maxInt64 = Math . pow ( 2 , 63 ) - 1 ;
2122
2223let ingressConnectionEstablishmentRatePerSecDefault =
2324 getIngressConnectionEstablishmentRatePerSec ( mongo ) ;
@@ -27,10 +28,10 @@ let ingressConnectionEstablishmentBurstCapacitySecsDefault =
2728 getingressConnectionEstablishmentBurstCapacitySecs ( mongo ) ;
2829assert . eq ( ingressConnectionEstablishmentBurstCapacitySecsDefault , Number . MAX_VALUE ) ;
2930
30- // There are infinite tokens available by default.
31+ // There are infinite tokens available by default, and we append that as INT64_MAX .
3132let availableTokens =
3233 mongo . adminCommand ( { serverStatus : 1 } ) . queues . ingressSessionEstablishment . totalAvailableTokens ;
33- assert . eq ( availableTokens , Infinity ) ;
34+ assert . eq ( availableTokens , maxInt64 ) ;
3435
3536let ingressConnectionEstablishmentMaxQueueDepthDefault =
3637 getIngressConnectionEstablishmentMaxQueueDepthDefault ( mongo ) ;
Original file line number Diff line number Diff line change @@ -194,7 +194,11 @@ void RateLimiter::appendStats(BSONObjBuilder* bob) const {
194194 if (const auto avg = stats ().averageTimeQueuedMicros .get ()) {
195195 bob->append (" averageTimeQueuedMicros" , *avg);
196196 }
197- bob->append (" totalAvailableTokens" , tokensAvailable ());
197+
198+ // FTDC consumers may not handle infinity, and so we append INT64_MAX instead.
199+ bob->append (" totalAvailableTokens" ,
200+ static_cast <double >(std::min (static_cast <long double >(INT64_MAX),
201+ static_cast <long double >(tokensAvailable ()))));
198202}
199203
200204double RateLimiter::tokensAvailable () const {
You can’t perform that action at this time.
0 commit comments