[SERVER-45525] ReplBatcher should explicitly read at kNoTimestamp Created: 13/Jan/20 Updated: 29/Oct/23 Resolved: 31/Jan/20 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | None |
| Affects Version/s: | 4.2.2 |
| Fix Version/s: | 4.2.6, 4.3.4 |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | Louis Williams | Assignee: | Matthew Russotto |
| 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.2
|
||||||||||||||||
| Sprint: | Repl 2020-02-10 | ||||||||||||||||
| Participants: | |||||||||||||||||
| Case: | (copied to CRM) | ||||||||||||||||
| Linked BF Score: | 13 | ||||||||||||||||
| Description |
|
The ReplBatcher thread reads from the storage engine here. This results in using AutoGetCollectionForReadCommand. The various rules of that helper allow the thread to read at kLastApplied. This behavior can cause rollback to crash in debug builds. Specifically while reconstructing prepared transactions. This WT assertion fails when the prepare timestamp is older than any active readers. The ReplBatcher, however, may still be reading at kLastApplied. |
| Comments |
| Comment by Githook User [ 09/Apr/20 ] |
|
Author: {'name': 'Matthew Russotto', 'email': 'matthew.russotto@10gen.com', 'username': 'mtrussotto'}Message: |
| Comment by Githook User [ 30/Jan/20 ] |
|
Author: {'username': 'mtrussotto', 'name': 'Matthew Russotto', 'email': 'matthew.russotto@10gen.com'}Message: |
| Comment by Matthew Russotto [ 28/Jan/20 ] |
|
We had an idea to add an AutoGetOplogForRead helper, but I don't think we scheduled it. |