[SERVER-74375] Failpoint should not allow escape of FCBIS:_finishCallback Created: 24/Feb/23 Updated: 29/Oct/23 Resolved: 06/Mar/23 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | 7.0.0-rc0 |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | Matthew Russotto | Assignee: | Matthew Russotto |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||
| Assigned Teams: |
Replication
|
||||
| Backwards Compatibility: | Fully Compatible | ||||
| Operating System: | ALL | ||||
| Sprint: | Repl 2023-03-06 | ||||
| Participants: | |||||
| Linked BF Score: | 49 | ||||
| Description |
|
If fCBISHangBeforeFinish is interrupted by cancelation (e.g. at shutdown), we will uassert out of _finishCallback and be left in a state where _onCompletion is nullptr and _state is not State::kComplete. The state will cause us to call _finishCallback again, at which point it will crash because of _onCompletion being null. Instead we should swallow the "interrupted" exception and just continue when fCBISHangBeforeFinish is interrupted. |