[SERVER-39321] Re-enable the CheckReplDBHashInBackground hook Created: 31/Jan/19 Updated: 29/Oct/23 Resolved: 25/Apr/19 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Replication, Testing Infrastructure |
| Affects Version/s: | None |
| Fix Version/s: | 4.1.11 |
| Type: | Task | Priority: | Major - P3 |
| Reporter: | Vesselina Ratcheva (Inactive) | Assignee: | Gregory Wlodarek |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | open_todo_in_code, prepare_testing, txn_storage | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||||||||||||||||||
| Backwards Compatibility: | Fully Compatible | ||||||||||||||||||||||||||||
| Sprint: | Storage NYC 2019-04-08, Storage NYC 2019-04-22, Storage NYC 2019-05-06 | ||||||||||||||||||||||||||||
| Participants: | |||||||||||||||||||||||||||||
| Description |
|
All usages of the hook were temporarily removed as part of |
| Comments |
| Comment by Githook User [ 25/Apr/19 ] |
|
Author: {'name': 'Gregory Wlodarek', 'username': 'GWlodarek', 'email': 'gregory.wlodarek@mongodb.com'}Message: |
| Comment by Githook User [ 25/Apr/19 ] |
|
Author: {'name': 'Gregory Wlodarek', 'username': 'GWlodarek', 'email': 'gregory.wlodarek@mongodb.com'}Message: |
| Comment by Githook User [ 25/Apr/19 ] |
|
Author: {'name': 'Gregory Wlodarek', 'username': 'GWlodarek', 'email': 'gregory.wlodarek@mongodb.com'}Message: |
| Comment by Max Hirschhorn [ 08/Apr/19 ] |
milkie, I had added calls to opCtx->recoveryUnit()->setIgnorePrepared(false) without adding testing around the semantics of the find, getMore, and dbHash commands when using the $_internalReadAtClusterTime option in the presence of prepared transactions. Since the $_internalReadAtClusterTime option is effectively simulating one-shot reads with {readConcern: {level: "snapshot", atClusterTime: ...}}, it must wait for decision of the prepared transaction before returning data back to the client if the commit/abort timestamp would fall within the window of the specified cluster time. However, the requirement for the $_internalReadAtClusterTime option is that it must not prevent oplog application while doing so. To more explicitly enumerate the cases for testing I have in mind:
|
| Comment by Eric Milkie [ 03/Apr/19 ] |
|
The priority for this ticket work will be to re-enable the hook and investigate any failures. I'd like to discuss with Max the specifics of the new tests he proposed. |
| Comment by Max Hirschhorn [ 05/Feb/19 ] |
|
Work on this ticket should include adding a test that (1) ensures the find, getMore, and dbHash commands block when attempting to read prepared data, and (2) ensure these operations being blocked doesn't prevent oplog application from proceeding. #2 requires one of |
| Comment by Vesselina Ratcheva (Inactive) [ 04/Feb/19 ] |
|
The commit for the removal left some TODOs, which are meant to be addressed here. |