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

Don't lock session catalog to find highest child txnNumber to refresh transaction participant

    • Type: Icon: Improvement Improvement
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 6.0.0-rc9, 6.1.0-rc0
    • Affects Version/s: None
    • Component/s: None
    • Labels:
    • Fully Compatible
    • v6.0
    • Sharding NYC 2022-06-13

      Currently a transaction participant will get the highest txnNumber the SessionCatalog has seen for any transaction in the current logical session when refreshing the participant from disk. This is to avoid reading more config.transactions entries than necessary. This is gotten from the SessionRuntimeInfo of the participant's session from the SessionCatalog. By this point, the participant has already checked out the session once, so we should be able to avoid looking back into the SessionCatalog (and locking its mutex) by caching the highest seen txnNumber onto the participant's Session, which is accessible directly in the transaction participant code.

            jack.mulrow@mongodb.com Jack Mulrow
            jack.mulrow@mongodb.com Jack Mulrow
            0 Vote for this issue
            2 Start watching this issue