[SERVER-45608] Remove UninterruptibleLockGuard from TransactionParticipant Created: 16/Jan/20 Updated: 27/Oct/23 Resolved: 20/Jul/20 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Improvement | Priority: | Major - P3 |
| Reporter: | Daniel Ernst | Assignee: | Backlog - Storage Execution Team |
| Resolution: | Gone away | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||
| Assigned Teams: |
Storage Execution
|
||||||||
| Participants: | |||||||||
| Description |
|
UninterruptibleLockGuard cannot be used in transaction operation code paths if we wish to prevent deadlocks. SERVER-34951 would invariant that UninterruptibleLockGuard is not used along with _maxLockTimeout (which is set for all transactions) in LockerImpl, but is blocked on this ticket. Specifically, the UninterruptibleLockGuard in commitUnpreparedTransactions should be removed. Other uses of UninterruptibleLockGuard in TransactionParticipant should be investigated as well. |
| Comments |
| Comment by Connie Chen [ 03/Mar/20 ] |
|
Moving this back to open since no action planned until next sprint (3/23/2020), this ticket needs additional investigation |