Extract transaction library from catalog_raii library

XMLWordPrintableJSON

    • Type: Improvement
    • Resolution: Fixed
    • Priority: Major - P3
    • 4.1.10
    • Affects Version/s: None
    • Component/s: Replication
    • None
    • Fully Compatible
    • Repl 2019-03-25
    • None
    • 3
    • None
    • None
    • None
    • None
    • None
    • None

      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.

            Assignee:
            Siyuan Zhou
            Reporter:
            Jason Chan
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

              Created:
              Updated:
              Resolved: