[SERVER-65144] commit and durability timestamps are not validated at transaction commit Created: 31/Mar/22 Updated: 29/Oct/23 Resolved: 06/Apr/22 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | 6.0.0-rc0 |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | Keith Bostic (Inactive) | Assignee: | Jordi Olivares Provencio |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||
| Backwards Compatibility: | Fully Compatible | ||||||||
| Operating System: | ALL | ||||||||
| Sprint: | Execution Team 2022-04-18 | ||||||||
| Participants: | |||||||||
| Description |
|
The WiredTiger code has not historically validated commit and durability timestamps at transaction commit if they were set before the transaction commit. That is, timestamps were validated when they were set, rather than always being checked at transaction commit. This could lead to the following sequence:
Which would result in a transaction committing before the stable timestamp. This is fixed in This is a data consistency problem and deserves a reasonably high priority. |
| Comments |
| Comment by Githook User [ 06/Apr/22 ] | |
|
Author: {'name': 'Jordi Olivares Provencio', 'email': 'jordi.olivares-provencio@mongodb.com', 'username': 'jordiolivares'}Message: | |
| Comment by Louis Williams [ 05/Apr/22 ] | |
|
Hey keith.bostic, we triage tickets every Tuesday so we’ll look at this today as a team. Thanks for letting us know the priority! | |
| Comment by Daniel Gottlieb (Inactive) [ 05/Apr/22 ] | |
|
The only error I saw is a unittest that specifically sets up the scenario WT is protecting against. I would say it's fine to remove the test.
| |
| Comment by Keith Bostic (Inactive) [ 05/Apr/22 ] | |
|
geert.bosch, louis.williams, could I check in with you on I'm hoping this is a relatively simple test update and we could get this into 6.0 (of course, if that's not correct, just tell me to go away). – Thanks! | |
| Comment by Keith Bostic (Inactive) [ 31/Mar/22 ] | |
|
The patch build is here: https://evergreen.mongodb.com/version/6245eac11e2d176c27ea3787?redirect_spruce_users=true The errors I expect to see in these failures are that a transaction's commit or durable timestamps are before stable, or before a system read timestamp. |