-
Type: Task
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: None
-
None
-
Fully Compatible
-
Repl 2020-12-28, Repl 2021-01-25
The step up process is clearing appliedThrough by writing to the minValid document at timestamp lastApplied.
https://github.com/mongodb/mongo/blob/d5743ba8411a50534d33bc2e940377fb003dccea/src/mongo/db/repl/replication_coordinator_external_state_impl.cpp#L503-L510
With lock free reads, holding the RSTL in exclusive mode is not blocking readers. So secondaries may have readers on timestamp lastApplied.
This is causing an assert in WiredTiger that we are writing to a timestamp that we have active readers on.
The problem is reproducible by running test jstests/replsets/read_operations_during_step_up.js with LockFreeReads enabled.
- is depended on by
-
SERVER-52221 Enable feature flag for Lock free reads
- Closed
- is related to
-
SERVER-53642 Cleanup writes to appliedThrough that changed as part of Lock Free Reads
- Closed
- related to
-
SERVER-59721 Node may become unable to sync from other members after performing rollback to stable timestamp
- Closed