[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:
Backports
Depends
Related
related to SERVER-44906 Rollback should take global write loc... Backlog
Backwards Compatibility: Fully Compatible
Operating System: ALL
Backport Requested:
v4.2
Sprint: Repl 2020-02-10
Participants:
Case:
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: SERVER-45525 ReplBatcher should explicitly read at kNoTimestamp
Branch: v4.2
https://github.com/mongodb/mongo/commit/d9b632531edcdd5d973dd0bba2848571c3351763

Comment by Githook User [ 30/Jan/20 ]

Author:

{'username': 'mtrussotto', 'name': 'Matthew Russotto', 'email': 'matthew.russotto@10gen.com'}

Message: SERVER-45525 ReplBatcher should explicitly read at kNoTimestamp
Branch: master
https://github.com/mongodb/mongo/commit/ab01304d9c3e2b635f43a88920eef629be26c56e

Comment by Matthew Russotto [ 28/Jan/20 ]

We had an idea to add an AutoGetOplogForRead helper, but I don't think we scheduled it.

Generated at Thu Feb 08 05:09:02 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.