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.
- is duplicated by
-
SERVER-67514 SizeStorer load() can get stuck in page eviction
- Closed
- is related to
-
SERVER-61097 SizeStorer can cause deadlocks with cache eviction
- Closed
-
SERVER-88944 Use something better than the GlobalLock to protect storage engine access
- Backlog
-
SERVER-58311 MongoDB calls WT RTS API while holding an open cursor on _mdb_catalog
- Closed
- related to
-
SERVER-67514 SizeStorer load() can get stuck in page eviction
- Closed