[SERVER-48294] Have internal oplog helpers be resilient to EBUSY on opening cursors Created: 19/May/20 Updated: 29/Oct/23 Resolved: 19/May/20 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Storage |
| Affects Version/s: | None |
| Fix Version/s: | 4.4.0-rc7, 4.7.0 |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | Daniel Gottlieb (Inactive) | Assignee: | Daniel Gottlieb (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 | ||||||||||||
| Operating System: | ALL | ||||||||||||
| Backport Requested: |
v4.4
|
||||||||||||
| Sprint: | Execution Team 2020-06-01 | ||||||||||||
| Participants: | |||||||||||||
| Linked BF Score: | 37 | ||||||||||||
| Description |
|
Opening a WT cursor can fail with an EBUSY if a verify or salvage is being run on the table. This gets turned into a WriteConflictException. Internal oplog helpers (e.g: getLatestOplogTimestamp) should retry in these cases. To avoid unnecessary spinning in tests, our foreground validate hooks should omit validating the oplog. The background validation hooks are safe to continue running on the oplog. |
| Comments |
| Comment by Githook User [ 19/May/20 ] |
|
Author: {'name': 'Daniel Gottlieb', 'email': 'daniel.gottlieb@mongodb.com', 'username': 'dgottlieb'}Message: (cherry picked from commit ec8ef5998028c6ea5e9e01c9780765d7c76b4f1e) |
| Comment by Githook User [ 19/May/20 ] |
|
Author: {'name': 'Daniel Gottlieb', 'email': 'daniel.gottlieb@mongodb.com', 'username': 'dgottlieb'}Message: |