[SERVER-48771] Enforce constraints on "multi-timestamp" transactions Created: 12/Jun/20 Updated: 29/Oct/23 Resolved: 02/Oct/20 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Storage |
| Affects Version/s: | None |
| Fix Version/s: | 4.9.0 |
| Type: | Improvement | Priority: | Major - P3 |
| Reporter: | Daniel Gottlieb (Inactive) | Assignee: | Gregory Wlodarek |
| Resolution: | Fixed | Votes: | 1 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Backwards Compatibility: | Fully Compatible | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Sprint: | Execution Team 2020-07-13, Execution Team 2020-08-24, Execution Team 2020-09-21, Execution Team 2020-10-05, Execution Team 2020-10-19 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Participants: | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Linked BF Score: | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Description |
|
While MongoDB's storage API historically allowed for composing smaller write units of work into bigger ones by nesting WriteUnitOfWork RAII types, since the addition of user-level timestamping, not all transactions are safely composable in this way. Consider the following example:
The invariant that I think makes sense to suss out the typical pattern that goes bad (said two different ways):
|
| Comments |
| Comment by Githook User [ 02/Oct/20 ] |
|
Author: {'name': 'Gregory Wlodarek', 'email': 'gregory.wlodarek@mongodb.com', 'username': 'GWlodarek'}Message: |
| Comment by Githook User [ 02/Oct/20 ] |
|
Author: {'name': 'Tommaso Tocci', 'email': 'tommaso.tocci@mongodb.com', 'username': 'toto-dev'}Message: Revert " This reverts commit 0760780e4afa55be377c2a1a47b43e29132478df. |
| Comment by Githook User [ 02/Oct/20 ] |
|
Author: {'name': 'Gregory Wlodarek', 'email': 'gregory.wlodarek@mongodb.com', 'username': 'GWlodarek'}Message: |
| Comment by Githook User [ 02/Oct/20 ] |
|
Author: {'name': 'Gregory Wlodarek', 'email': 'gregory.wlodarek@mongodb.com', 'username': 'GWlodarek'}Message: |