Investigate if WT_SESSION::reconfigure has to always reset open cursors

XMLWordPrintableJSON

    • Type: Improvement
    • Resolution: Unresolved
    • Priority: Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • None
    • Storage Engines, Storage Engines - Foundations
    • None
    • None

      The WiredTiger docs state

      This method additionally resets the cursors associated with the session.

      However, I feel like not all reconfigure calls need to reset open cursors, such as cache_max_wait_ms.

      To give some context, this is related to SERVER‑93982. We're looking to bound the amount of time we block on cache eviction after allocating an oplog slot. Holding an oplog slot open for an extended period can cause secondaries to lag behind the primary, because secondaries cannot fetch oplog entries beyond gaps ("holes") in the sequence. So we need to minimize how long these holes remain open.
      Under cache pressure, it would be better to return WT_ROLLBACK so the hole is closed and the operation can retry later, allocating a new oplog slot at that time. This allows other operations to proceed and be replicated in the meantime.

            Assignee:
            [DO NOT USE] Backlog - Storage Engines Team
            Reporter:
            Gregory Wlodarek
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: