[SERVER-46870] Generalize the WiredTigerRecordStore::OplogStones and move it out of WiredTigerRecordStore Created: 13/Mar/20 Updated: 29/Oct/23 Resolved: 24/Feb/23 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Storage |
| Affects Version/s: | None |
| Fix Version/s: | 7.0.0-rc0 |
| Type: | Improvement | Priority: | Major - P3 |
| Reporter: | Dianna Hohensee (Inactive) | Assignee: | Jordi Olivares Provencio |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||||||||||||||||||||||||||
| Assigned Teams: |
Storage Execution
|
||||||||||||||||||||||||||||||||||||
| Backwards Compatibility: | Fully Compatible | ||||||||||||||||||||||||||||||||||||
| Sprint: | Execution Team 2023-02-20, Execution Team 2023-03-06 | ||||||||||||||||||||||||||||||||||||
| Participants: | |||||||||||||||||||||||||||||||||||||
| Linked BF Score: | 20 | ||||||||||||||||||||||||||||||||||||
| Description |
|
After WiredTigerRecordStore::OplogStones holds a private WiredTigerRecordStore* for the oplog collection, but I think this should be able to be refactored out, switching it with accessing the record store via the oplog collection object, the usual way logic above the storage engine does. Extricating the _oplogStones object from the rest of the WiredTigerRecordStore, with special behavior in nooks and crannies, will be the tricky and uncertain part for this task. |
| Comments |
| Comment by Githook User [ 24/Feb/23 ] |
|
Author: {'name': 'Jordi Olivares Provencio', 'email': 'jordi.olivares-provencio@mongodb.com', 'username': 'jordiolivares'}Message: |
| Comment by Dianna Hohensee (Inactive) [ 30/Mar/20 ] |
|
I think with SERVER-46869, yieldAndAwaitOplogDeletionRequest no longer needs the isDead() check – nor the _isDead boolean – because the OplogCapMaintainerThread that calls the function will be stopped before the oplog record store is ever destroyed for shutdown or catalog restart (rollback). I put a TODO for this ticket in the code. |