-
Type:
Task
-
Resolution: Unresolved
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
None
-
Storage Execution
-
None
-
None
-
None
-
None
-
None
-
None
-
None
In SizeCountCheckpointOplogTailer, we intentionally keep the same oplog cursor alive while the tailer continues to make progress, to avoid the cost of recreating the WiredTiger cursor.
As a compromise until further investigation, we reset the cursor after an iteration where no progress is mades, allowing the underlying dhandle session_ref to be released during idle periods as best-effort mitigation for WT-17075,
Investigation conclusion:
Resetting the cursor isn't necessary. The tailer holds a single cursor on the oplog itself, a special and highly active collection, and runs in the primary-side checkpointing path where operations requiring exclusive access are not expected to contend with it in normal operation. So the practical risk appears very low, and the code can be simplified to avoid resetting the cursor during normal idle periods.
- is related to
-
WT-17075 cursor->reset() should release session_ref on the data handle
-
- Open
-