[SERVER-81179] Backup cursor service reports backup cursor checkpointTimestamp that does not match the actual WT backup cursor checkpointTimestamp Created: 19/Sep/23 Updated: 29/Oct/23 Resolved: 20/Sep/23 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | 7.2.0-rc0, 7.1.0-rc4 |
| Type: | Bug | Priority: | Critical - P2 |
| Reporter: | Suganthi Mani | Assignee: | Gregory Noma |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||||||||||||||
| Assigned Teams: |
Storage Execution NAMER
|
||||||||||||||||||||||||
| Backwards Compatibility: | Fully Compatible | ||||||||||||||||||||||||
| Operating System: | ALL | ||||||||||||||||||||||||
| Backport Requested: |
v7.1
|
||||||||||||||||||||||||
| Sprint: | Execution NAMR Team 2023-10-02 | ||||||||||||||||||||||||
| Participants: | |||||||||||||||||||||||||
| Linked BF Score: | 148 | ||||||||||||||||||||||||
| Description |
|
After Given the fact committing the checkpoint and updating txn_global.last_ckpt_timestamp (reported by getLastStableRecoveryTimestamp()) aren't atomic. This means, we can end up a scenario, like below 1) CKPT thread: WT checkpoint committed for TS(100) with ckptId:100
3) BackupService thread: Calls getLastStableRecoveryTimestamp() and reads the previous checkpoint ts values , say TS(90).
Since, step #2 and step#6 checkpoint Id are same, the sanity check in step#6 passes. However, now the backup cursor returns the `checkpointTimestamp` as TS(90) (ie, step #3 value) instead of actual checkpoint ts value at which WT opened backup cursor, which is TS(100). Before
My proposal would be to make step 6 to use the original way , which is using `getLastStableRecoveryTimestamp()`
|
| Comments |
| Comment by Suganthi Mani [ 19/Sep/23 ] |
|
Regression in 7.1 |
| Comment by Suganthi Mani [ 19/Sep/23 ] |
|
spoke offline and we agreed to have backup cursor service do the following steps
This will address both BF-29621 and BF-30016 CC gregory.wlodarek@mongodb.com gregory.noma@mongodb.com |