We wait for all threads to queue in the unit test, but it looks like on very slow machines the test may not wait long enough, and we hit the assertion right before the last request queues:
[2025/06/15 12:22:14.723] {"t":{"$date":"2025-06-15T15:40:30.982+00:00"},"s":"D4", "c":"-", "id":10550200,"ctx":"thread21","msg":"Going to sleep waiting for token acquisition","attr":{"rateLimiterName":"ConcurrentTokenAcquisitionWithQueueing","napTimeMillis":"249 ms"}} [2025/06/15 12:22:14.723] {"t":{"$date":"2025-06-15T15:40:30.982+00:00"},"s":"D4", "c":"-", "id":10550200,"ctx":"thread22","msg":"Going to sleep waiting for token acquisition","attr":{"rateLimiterName":"ConcurrentTokenAcquisitionWithQueueing","napTimeMillis":"499 ms"}} [2025/06/15 12:22:14.723] {"t":{"$date":"2025-06-15T15:40:31.010+00:00"},"s":"D4", "c":"-", "id":10550200,"ctx":"thread23","msg":"Going to sleep waiting for token acquisition","attr":{"rateLimiterName":"ConcurrentTokenAcquisitionWithQueueing","napTimeMillis":"721 ms"}} [2025/06/15 12:22:14.723] {"t":{"$date":"2025-06-15T15:40:31.010+00:00"},"s":"D4", "c":"-", "id":10550200,"ctx":"thread24","msg":"Going to sleep waiting for token acquisition","attr":{"rateLimiterName":"ConcurrentTokenAcquisitionWithQueueing","napTimeMillis":"971 ms"}} [2025/06/15 12:22:14.723] {"t":{"$date":"2025-06-15T15:40:31.010+00:00"},"s":"D4", "c":"-", "id":10550200,"ctx":"thread25","msg":"Going to sleep waiting for token acquisition","attr":{"rateLimiterName":"ConcurrentTokenAcquisitionWithQueueing","napTimeMillis":"1221 ms"}} [2025/06/15 12:22:14.723] {"t":{"$date":"2025-06-15T15:40:31.041+00:00"},"s":"D4", "c":"-", "id":10550200,"ctx":"thread26","msg":"Going to sleep waiting for token acquisition","attr":{"rateLimiterName":"ConcurrentTokenAcquisitionWithQueueing","napTimeMillis":"1440 ms"}} [2025/06/15 12:22:14.723] {"t":{"$date":"2025-06-15T15:40:31.041+00:00"},"s":"D4", "c":"-", "id":10550200,"ctx":"thread27","msg":"Going to sleep waiting for token acquisition","attr":{"rateLimiterName":"ConcurrentTokenAcquisitionWithQueueing","napTimeMillis":"1690 ms"}} [2025/06/15 12:22:14.723] {"t":{"$date":"2025-06-15T15:40:31.310+00:00"},"s":"E", "c":"TEST", "id":23070, "ctx":"thread28","msg":"Throwing exception","attr":{"exception":"Expected rateLimiter.queued() == numThreads - maxTokens (7 == 8) @src/mongo/db/admission/rate_limiter_util_test.cpp:442"}} [2025/06/15 12:22:14.723] {"t":{"$date":"2025-06-15T15:40:31.386+00:00"},"s":"D4", "c":"-", "id":10550200,"ctx":"thread29","msg":"Going to sleep waiting for token acquisition","attr":{"rateLimiterName":"ConcurrentTokenAcquisitionWithQueueing","napTimeMillis":"1594 ms"}}
We can increase the timeout to avoid this failure.