<!-- llms-explorer concept facts · https://llms-explorer.com/tree/concurrent-multi-document-transaction-admission-limits/ · pack 2026-10-29 · ~1382 tokens -->

# Concurrent multi-document transaction admission limits

> Source-anchored research for Concurrent multi-document transaction admission limits. Run status: COMPLETED.

Parent: [MongoDB Transactions](https://llms-explorer.com/tree/mongodb-transactions/) · 4 facets · 13 facts · page: https://llms-explorer.com/tree/concurrent-multi-document-transaction-admission-limits/

## How it works

- Admission uses a server-wide count of open transactions. Process-internal transactions contribute to that count but are exempt from rejection. This is an external-client admission rule, not a strict ceiling on every transaction the process can open. (high confidence) (verified as of 2026-10-27) — [source](https://www.mongodb.com/docs/manual/reference/parameters.md)
- serverStatus().transactions exposes currentOpen, currentActive, and currentInactive. A transaction becomes open when its first command runs and stays open until commit or abort; inactive transactions are open transactions not currently executing a command. These metrics help diagnose accumulated open transactions. (low confidence) (verified as of 2026-10-14) — [source](https://www.mongodb.com/docs/manual/reference/command/serverStatus.md)
- Cache-related aborts have separate causes: an uncommitted transaction creating excessive WiredTiger cache pressure can produce a write conflict, while a transaction too large to fit can produce TransactionTooLargeForCache. These should not be diagnosed as TooManyOpenTransactions admission rejection. (low confidence) (verified as of 2026-10-14) — [source](https://www.mongodb.com/docs/manual/core/transactions-production-consideration.md)

## Problems, failure modes and limitations

- MongoDB 9.0 release notes describe maxConcurrentMultiDocumentTransactions with default 10000. When the open-transaction count reaches the configured limit, the server rejects new external-client multi-document transactions with TooManyOpenTransactions. (high confidence) (verified as of 2026-10-27) — [source](https://www.mongodb.com/docs/manual/release-notes/9.0.md)
- maxConcurrentMultiDocumentTransactions accepts nonnegative integers; 0 disables the limit. It can change at startup or runtime, for example db.adminCommand({setParameter:1,maxConcurrentMultiDocumentTransactions:5000}). The parameter documentation lists mongod only. (high confidence) (verified as of 2026-10-27) — [source](https://www.mongodb.com/docs/v8.0/reference/parameters/)
- Admission count and transaction lifetime are separate controls. transactionLifetimeLimitSeconds defaults to 60 seconds; expired transactions are aborted by periodic cleanup. Changing a time limit does not directly configure the concurrent-open admission threshold. (high confidence) (verified as of 2026-10-27) — [source](https://github.com/mongodb/mongo/blob/master/src/mongo/db/transaction/transaction_participant.idl)
- TransactionTooLargeForCache denotes a transaction that cannot fit in WiredTiger cache. It is a different failure condition from TooManyOpenTransactions; raising the admission count does not establish that cache pressure is resolved. (medium confidence) (verified as of 2026-10-14) — [source](https://www.mongodb.com/docs/manual/core/transactions-production-consideration.md)
- OSSeva recommends inspecting peak db.serverStatus().transactions.currentOpen when assessing the concurrency-cap upgrade risk. This is the consultancy's operational guidance; the reviewed page does not show a measured admission-limit incident. (low confidence) (verified as of 2026-10-08) — [source](https://www.osseva.io/blog/mongodb-7-to-8-upgrade)

## Comparisons and alternatives

- Storage-engine read/write transaction tickets control concurrent entry into the storage engine. Their meaning differs from maxConcurrentMultiDocumentTransactions, which counts open multi-document transactions, including idle transactions. (medium confidence) (verified as of 2026-10-27) — [source](https://www.mongodb.com/docs/manual/reference/parameters.md)

## Facts and statements

- The 9.0 release-note wording does not establish exclusive availability in 9.x: the MongoDB 8.0 parameter reference explicitly labels maxConcurrentMultiDocumentTransactions as new in 8.0.30. Check the deployed patch version before assuming an 8.0 server lacks admission limits. (high confidence) (verified as of 2026-10-27) — [source](https://www.mongodb.com/docs/manual/release-notes/9.0.md)
- MongoDB production guidance says to abort abandoned transactions. This addresses resource retention; a high open-transaction count alone does not prove that the application leaks transactions. (low confidence) — [source](https://www.mongodb.com/docs/manual/core/transactions-production-consideration.md)
- Operational inference: compare serverStatus().transactions.currentOpen with the configured admission threshold on the affected mongod. Counting only currently executing operations can miss idle open transactions; the parameter documentation explicitly identifies excessive idle transactions as a performance concern. (high confidence) (verified as of 2026-10-14) — [source](https://www.mongodb.com/docs/manual/reference/parameters.md)
- TMS Outsource supplies db.adminCommand({getParameter:1,maxConcurrentMultiDocumentTransactions:1}) as an inspection example. Its example is guidance, not evidence that a particular deployment uses the documented default or that leaked transactions caused a rejection. (low confidence) (verified as of 2026-10-27) — [source](https://tms-outsource.com/cs/mongodb-cheat-sheet/)
