-
Type: Task
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: Replication, Storage
-
None
-
Fully Compatible
-
v4.2, v4.0
-
Repl 2019-07-29
Currently, if a transaction is prepared, we don't acquire ticket due to SERVER-41980. We have ticketing mechanism to throttle readers and writers from overwhelming the storage resources. Also, when a ticket is acquired, it indicates that the operation/cmd is going to acquire more storage resources. But, both abortTransaction and commitTransaction cmd are not going to acquire any more storage resources (except writing to oplog) instead they are going to release the storage resources. So, to have a general solution, abortTransaction and commitTransaction commands should not acquire ticket.
- is related to
-
SERVER-41980 Non-transactional commands can deadlock with prepared transactions when the tickets are exhausted by the non-transactional write commands.
- Closed
- related to
-
SERVER-92292 Skip ticket acquisition for prepareTransaction
- Closed