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

Avoid caching the cursor and session in WiredTigerSizeStorer

    XMLWordPrintable

Details

    • Improvement
    • Status: Closed
    • Major - P3
    • Resolution: Fixed
    • None
    • 5.2.0, 5.0.6, 4.4.16, 4.2.22
    • None
    • None
    • Fully Compatible
    • v5.0, v4.4, v4.2
    • Execution Team 2021-11-15

    Description

      Note: this ticket fixes the bug described in SERVER-67514.

      Original description:
      SERVER-58311 discovered that mongod calls into WiredTiger Rollback To Stable (RTS) while holding the sizeStorer.wt dhandle. This is not expected as WiredTiger usually requires RTS to have exclusive access to a dhandle. This is observed when building the server with these non-default flags.

      E  STORAGE  22435   [BackgroundSync] "WiredTiger error","attr":{"error":16,"message":"[1625743985:510865][6205:0x7f6a41a84700], file:sizeStorer.wt, txn rollback_to_stable: __rollback_to_stable_btree_apply, 1522: file:sizeStorer.wt: unable to open handle, error indicates handle is unavailable due to concurrent use: Device or resource busy"}
      

      Add a pause/resume API to WiredTigerSizeStorer. Pause the WiredTigerSizeStorer after syncing the sizeInfo and resume it after completing the RTS.

      Attachments

        Issue Links

          Activity

            People

              gregory.wlodarek@mongodb.com Gregory Wlodarek
              josef.ahmad@mongodb.com Josef Ahmad
              Votes:
              0 Vote for this issue
              Watchers:
              8 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: