[SERVER-71440] Remove OpCtx::setIgnoreInterruptsExceptForReplStateChange Created: 17/Nov/22 Updated: 23/Jan/24 Resolved: 27/Jan/23 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | 6.3.0-rc0 |
| Type: | Improvement | Priority: | Major - P3 |
| Reporter: | Jordi Olivares Provencio | Assignee: | Steve Tarzia |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||||||||||
| Backwards Compatibility: | Fully Compatible | ||||||||||||||||||||
| Sprint: | QE 2023-02-06 | ||||||||||||||||||||
| Participants: | |||||||||||||||||||||
| Description |
|
As part of |
| Comments |
| Comment by Githook User [ 27/Jan/23 ] |
|
Author: {'name': 'Steve Tarzia', 'email': 'steve.tarzia@mongodb.com', 'username': 'starzia'}Message: |
| Comment by Steve Tarzia [ 17/Jan/23 ] |
|
Thanks for the feedback, jordi.olivares-provencio@mongodb.com. I updated the PR to avoid making the operation uninterruptible: It's a little more complicated, but based on your feedback, it seems like a safer approach. I also removed OpCtx:: setIgnoreInterruptsExceptForReplStateChange, as you requested. Can you review the OpCtx parts of that PR? |
| Comment by Steve Tarzia [ 22/Dec/22 ] |
|
I have this branch with a solution that seems to work: I'll come back to this after the holidays. |
| Comment by Steve Tarzia [ 05/Dec/22 ] |
|
Update from last week: OpCtx artificial deadlines seem to be a much cleaner way to handle this use case. An artificial deadline can be created with opCtx->runWithDeadline() which pushes an artificial deadline onto the opCtx via a DeadlineGuard. I will look into this approach next, but it's not my highest priority right now and may not have time to look at this again in this sprint. |