[SERVER-71610] [StorEx] Remove or document instances of UninterruptibleLockGuard Created: 24/Nov/22 Updated: 29/Oct/23 Resolved: 25/May/23 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | 7.1.0-rc0 |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | Yujin Kang Park | Assignee: | Yujin Kang Park |
| 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 | ||||||||
| Operating System: | ALL | ||||||||
| Sprint: | Execution Team 2023-03-20, Execution Team 2023-05-15, Execution Team 2023-05-29 | ||||||||
| Participants: | |||||||||
| Description |
|
SERVER-68868 intends to remove UninterruptipleLockGuard uses where possible, from its description: Uses of UninterruptibleLockGuard indicate places in the code that do not comply with MongoDB's requirement that all operations be interruptible at places where they block to wait for resources. Every one of them is a potential future deadlock, and adds complexity to other parts of the codebase. We should reimplement codepaths that depend on UninterruptibleLockGuard so as to be interruptible. The work has been split for the different teams in server, this one being for Storage Execution.
We should either add a comment justifying the use of UninterruptibleLockGuard or fix the code to remove its use. https://github.com/10gen/mongo/blob/34ac49477b87e183637f68cda828ecff8b393c64/src/mongo/db/repair.cpp#L173 |
| Comments |
| Comment by Githook User [ 24/May/23 ] |
|
Author: {'name': 'Yu Jin Kang Park', 'email': 'yujin.kang@mongodb.com', 'username': 'ykangpark'}Message: |
| Comment by Gregory Noma [ 31/Jan/23 ] |
|
We should split this up into smaller tasks |
| Comment by Yujin Kang Park [ 29/Nov/22 ] |
|
Moving the transaction_participant instances to the Replication ticket. https://github.com/10gen/mongo/blob/34ac49477b87e183637f68cda828ecff8b393c64/src/mongo/db/transaction/transaction_participant.cpp#L1603 |