[SERVER-83596] OplogBufferCollection methods should not fassert on "InterruptedDueToReplStateChange" error, and instead allow the callers to handle them. Created: 27/Nov/23 Updated: 02/Feb/24 |
|
| Status: | In Progress |
| Project: | Core Server |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | Suganthi Mani | Assignee: | Suganthi Mani |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||
| Operating System: | ALL | ||||
| Sprint: | Execution Team 2023-12-11, Execution Team 2024-02-05, Execution Team 2024-02-19 | ||||
| Participants: | |||||
| Linked BF Score: | 8 | ||||
| Description |
|
Since we interrupt all opCtx created on behalf of POS services when the node steps down, OplogBufferCollection methods (used internally by POS services, such as tenant migration and merge) can trigger fasserts, as seen in the BF. Instead of fasserting, throw an exception and let the caller handle those errors. As part of this ticket, audit other fassert places in oplog_buffer_collection.cpp file to see if they need a similar treatment. |