[SERVER-67305] Lock-free reads setup should validate writes permitted before and after setting up snapshot. Created: 15/Jun/22  Updated: 29/Oct/23  Resolved: 07/Jul/22

Status: Closed
Project: Core Server
Component/s: None
Affects Version/s: None
Fix Version/s: 6.0.1, 5.0.11, 6.1.0-rc0

Type: Bug Priority: Major - P3
Reporter: Henrik Edin Assignee: Henrik Edin
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Backports
Depends
Gantt Dependency
has to be done before SERVER-67402 Linearizable reads can occasionally r... Closed
Related
related to SERVER-66763 Reading on secondaries during repl st... Closed
Backwards Compatibility: Fully Compatible
Operating System: ALL
Backport Requested:
v6.0
Sprint: Execution Team 2022-06-27, Execution Team 2022-07-11
Participants:
Linked BF Score: 111

 Comments   
Comment by Githook User [ 07/Jul/22 ]

Author:

{'name': 'Henrik Edin', 'email': 'henrik.edin@mongodb.com', 'username': 'henrikedin'}

Message: SERVER-67305 Fix lock-free read timestamp order during repl stepup

Eliminate the race between setting read source to lastApplied and getting
the lastApplied timestamp for storage snapshot. When transitioning out of
primary catchup mode we may get a snapshot at lastApplied concurrent with
out-of-order writers.

Changed so the lastApplied timestamp is determined when calling
setTimestampReadSource to allow us to re-verify that we need to read
at lastApplied before opening the storage snapshot.
Branch: master
https://github.com/mongodb/mongo/commit/381f698f0e5ba9099ed2bb1d0f51cd7e5e92aea0

Generated at Thu Feb 08 06:07:48 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.