Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-39942

Extract transaction library from catalog_raii library

    • Type: Icon: Improvement Improvement
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 4.1.10
    • Affects Version/s: None
    • Component/s: Replication
    • Labels:
      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.

            Assignee:
            siyuan.zhou@mongodb.com Siyuan Zhou
            Reporter:
            jason.chan@mongodb.com Jason Chan
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

              Created:
              Updated:
              Resolved: