Uploaded image for project: 'WiredTiger'
  1. WiredTiger
  2. WT-10958

Session API to roll-back a transaction if it is blocking eviction

    • Type: Icon: New Feature New Feature
    • Resolution: Unresolved
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • Labels:
    • StorEng - Refinement Pipeline

      MongoDB uses long-running WT transactions to implement multi-statement transactions. The problem is that these transactions may be idle for long periods of time (up to 1 minute) and when the WT cache is under pressure, we need to target these transactions for rollback. If these transactions are idle, however, WT cannot roll them back.

      As an alternative proposal to WT-9035, I would like to propose an API that MongoDB can call periodically on idle WT sessions that will roll back the transaction if it is blocking cache eviction and otherwise do nothing. In this way, we could quickly iterate through our idle sessions to make sure the cache is not getting stuck.

      This API would need to be non-blocking. That is, after rolling back the transaction the caller should have the option to not participate in cache eviction.

            backlog-server-storage-engines [DO NOT USE] Backlog - Storage Engines Team
            louis.williams@mongodb.com Louis Williams
            0 Vote for this issue
            8 Start watching this issue