Connection-establishment admission queue and rejection diagnostics
Parent: Connection Capacity · Published reference · snapshot 2026-10-31
↓ Facts as markdownall context files
Source-anchored research for Connection-establishment admission queue and rejection diagnostics. Run status: COMPLETED.
These notes link each claim to its source. Some citations identify archived research reports that are no longer hosted on this site. A published reference means the content is available; it does not certify independent review or accuracy.Read the editorial policy and follow the sources before relying on a claim.
How it works
- connections.queuedForEstablishment measures the number currently waiting for establishment. queues.ingressSessionEstablishment.totalAvailableTokens measures immediately available token-bucket capacity; at zero tokens, new non-exempt attempts wait or are rejected when the queue is full. (low confidence) [source]
- connections.establishmentRateLimit.interruptedDueToClientDisconnect counts connections whose clients disconnect while waiting for establishment. The documentation says a high value can indicate connectTimeoutMS is too short relative to queue wait, which depends on ingressConnectionEstablishmentMaxQueueDepth and ingressConnectionEstablishmentRatePerSec. It is a diagnostic clue, not proof of a single cause. (low confidence) [source]
- The configuration procedure enables ingressConnectionEstablishmentRateLimiterEnabled, sets ingressConnectionEstablishmentRatePerSec to a sustainable fixed rate, and adjusts ingressConnectionEstablishmentMaxQueueDepth with driver timeout headroom in mind. When rejection rises, it recommends increasing the rate only if sufficient CPU resources remain and reviewing queue depth. The procedure supplies no universal safe rate or queue depth. (low confidence) [source]
- Datadog exports mongodb.atlas.queues.ingressSessionEstablishment.addedToQueue, attemptedAdmissions, removedFromQueue, interruptedInQueue, rejectedAdmissions and successfulAdmissions as rates, while averageTimeQueuedMicros is a gauge in microseconds. Atlas documents corresponding INGRESS_SESSION_ESTABLISHMENT_* measurement names for these admission rates. Preserve the exported types when building dashboards. (medium confidence) (verified as of 2026-10-14) [source]
- SERVER-130114 reports that macOS arm64 build 9.0.0-alpha0-4dc31f0f accepted TCP but sent no response or FIN when the establishment queue overflowed, whereas its 8.3.4 comparison sent FIN. This is a narrowly scoped bug report, not evidence that every rejection on every MongoDB version produces an immediate observable EOF. (low confidence) (verified as of 2026-09-17) [source]
- The MongoDB 8.3 parameter reference specifies ingressConnectionEstablishmentMaxQueueDepth=0 as rejecting every connection that would need to queue; it does not mean unlimited queue capacity. MinervaDB explicitly warns operators to choose a real queue depth when enabling the limiter. Treat this as version-specific documented behavior and verify the deployed configuration. (medium confidence) (verified as of 2026-10-30) [source]
- MongoDB recommends monitoring queues.ingressSessionEstablishment and connections.establishmentRateLimit.rejected, increasing ingressConnectionEstablishmentRatePerSec only when CPU capacity permits, and tuning queue depth against the driver connection timeout. MinervaDB adds an operator procedure: measure TLS/authentication timings during a planned staging stepdown and size from measured reconnect behavior; its sample values are explicitly not a recommendation. (medium confidence) [source]
Comparisons and alternatives
- In serverStatus.queues.ingressSessionEstablishment, addedToQueue counts incoming connections entering the limiter queue; removedFromQueue counts connections leaving after acquiring an establishment token; interruptedInQueue counts connections halted while waiting, typically by client disconnect or server shutdown. These describe queue transitions rather than interchangeable outcomes. (low confidence) [source]
- queues.ingressSessionEstablishment.rejectedAdmissions counts attempts rejected because the establishment queue exceeds ingressConnectionEstablishmentMaxQueueDepth. MongoDB documents immediate connection closure instead of enqueueing; connections.establishmentRateLimit.rejected also exposes establishment-limiter rejections. Diagnose rejection separately from interruption while waiting. (medium confidence) [source]
- queues.ingressSessionEstablishment.attemptedAdmissions counts attempts offered to the limiter; successfulAdmissions counts attempts the limiter processes successfully, immediately or after queueing. Successful admission describes passage through the limiter, rather than an application command outcome. (medium confidence) [source]
- queues.ingressSessionEstablishment.averageTimeQueuedMicros is an exponentially weighted moving average in microseconds. It describes waiting time rather than current queue occupancy; use connections.queuedForEstablishment for the current number waiting. (low confidence) [source]
- For the Atlas Datadog integration, mongodb.atlas.queues.ingressSessionEstablishment.addedToQueue, removedFromQueue, interruptedInQueue, rejectedAdmissions and successfulAdmissions are exported as rates. Datadog documents averageTimeQueuedMicros as a microsecond gauge. Preserve these types when graphing exported telemetry rather than interpreting rates as raw serverStatus counts. (medium confidence) (verified as of 2026-10-14) [source]
Facts and statements
- queues.ingressSessionEstablishment.exemptedAdmissions and connections.establishmentRateLimit.exempted track connections bypassing rate limiting through ingressConnectionEstablishmentRateLimiterBypass IP addresses or CIDR ranges. Exempted connections establish immediately irrespective of queue size or rate limits. (medium confidence) [source]
- The current serverStatus reference marks the establishment queue and related establishmentRateLimit metrics as introduced in 8.2 and also available in 8.1.1, 8.0.12 and 7.0.23. Check the deployed patch release before interpreting absent fields as zero admission pressure. (low confidence) (verified as of 2026-10-31) [source]
- MinervaDB publishes its own monitoring example that graphs queuedForEstablishment, establishmentRateLimit.rejected, establishmentRateLimit.exempted and ingressSessionEstablishment.averageTimeQueuedMicros alongside TLS-handshake and authentication durations. It explicitly labels its numerical rate and queue example illustrative and recommends measuring reconnect behavior before selecting a rate. (low confidence) [source]
- queues.ingressSessionEstablishment.averageTimeQueuedMicros is an exponentially weighted moving average of connection queue wait in microseconds. Read it alongside connections.establishmentRateLimit.interruptedDueToClientDisconnect: MongoDB says high client-disconnect interruptions can indicate connectTimeoutMS is short relative to queue wait. (low confidence) [source]
- The MongoDB 8.3 parameter reference separates ingressConnectionEstablishmentRateLimiterEnabled, ingressConnectionEstablishmentRatePerSec, ingressConnectionEstablishmentBurstCapacitySecs and ingressConnectionEstablishmentMaxQueueDepth. They respectively enable limiting, set establishment admissions per second, allow seconds worth of burst capacity, and bound waiting attempts. These controls can be set at startup or runtime using setParameter. (medium confidence) (verified as of 2026-10-30) [source]
Children
- No children recorded.