-
Type: Improvement
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: Replication
-
None
-
Fully Compatible
-
Repl 2019-03-25
Currently, the transaction code is part of theĀ catalog_raii target in src/mongo/db/SConscript. We should evaluate whether it makes sense to keep the transaction code in catalog_raii in order to reduce the possibility of encountering circular dependencies in the future.
Initially, the transaction code used to live inside session.cpp but was refactored out into transaction_participant.cpp. There exists a dependency between TransactionParticipant and LockManager where we need to be able to know whether a read command is inside a transaction in order to decide whether to acquire a mode IS or mode IX lock. It would be helpful to investigate these dependencies in greater detail in order to prevent more tech debt.
- related to
-
SERVER-39441 Write the new prepare command on primary
- Closed