[SERVER-57360] Log additional debug info for the "invariant (_requests.empty());" in ~LockerImpl Created: 02/Jun/21 Updated: 29/Oct/23 Resolved: 21/Jun/21 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | 4.2.16, 5.0.3, 4.4.9, 5.1.0-rc0 |
| Type: | Improvement | Priority: | Major - P3 |
| Reporter: | Dianna Hohensee (Inactive) | Assignee: | Dianna Hohensee (Inactive) |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||
| Backwards Compatibility: | Fully Compatible | ||||||||||||
| Backport Requested: |
v5.0, v4.4, v4.2
|
||||||||||||
| Sprint: | Execution Team 2021-06-14, Execution Team 2021-06-28 | ||||||||||||
| Participants: | |||||||||||||
| Description |
|
Somehow, the TransactionCoordinator, which appears to only take a mutex(es) in its own implementation, managed to invariant in ~LockerImpl after failing to acquire the global lock for a document write sub-operation via the DBDirectClient. It's unclear to me what could have gone wrong. The TransactionParticipant is the only component in the codebase using Locker instances outside of RAII types, but the TransactionCoordinator isn't involved with the TransactionParticipant at all as far as I can tell. We could add some logging information to the invariant failure. It isn't clear what information would be helpful, so basically whatever we can. ~LockerImpl checks that the lock requests are empty, which is a map of ResourceId to LockRequest -- we could log some of this information. The invariant failure was seen in the v4.2 branch. |
| Comments |
| Comment by Vivian Ge (Inactive) [ 06/Oct/21 ] | ||||||||||||||||
|
Updating the fixversion since branching activities occurred yesterday. This ticket will be in rc0 when it’s been triggered. For more active release information, please keep an eye on #server-release. Thank you! | ||||||||||||||||
| Comment by Githook User [ 20/Aug/21 ] | ||||||||||||||||
|
Author: {'name': 'Dianna Hohensee', 'email': 'dianna.hohensee@mongodb.com', 'username': 'DiannaHohensee'}Message: (cherry picked from commit a260a07648a984acaa54ab8cb1d18b37434d1b97) | ||||||||||||||||
| Comment by Githook User [ 10/Aug/21 ] | ||||||||||||||||
|
Author: {'name': 'Dianna Hohensee', 'email': 'dianna.hohensee@mongodb.com', 'username': 'DiannaHohensee'}Message: (cherry picked from commit a260a07648a984acaa54ab8cb1d18b37434d1b97) | ||||||||||||||||
| Comment by Githook User [ 04/Aug/21 ] | ||||||||||||||||
|
Author: {'name': 'Dianna Hohensee', 'email': 'dianna.hohensee@mongodb.com', 'username': 'DiannaHohensee'}Message: (cherry picked from commit a260a07648a984acaa54ab8cb1d18b37434d1b97) | ||||||||||||||||
| Comment by Githook User [ 21/Jun/21 ] | ||||||||||||||||
|
Author: {'name': 'Dianna Hohensee', 'email': 'dianna.hohensee@mongodb.com', 'username': 'DiannaHohensee'}Message: | ||||||||||||||||
| Comment by Dianna Hohensee (Inactive) [ 02/Jun/21 ] | ||||||||||||||||
|
Something like this as a starting point, maybe??
|