-
Type: Task
-
Resolution: Unresolved
-
Priority: Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
None
-
Catalog and Routing
-
1
SERVER-90360 introduced a new (and hopefully clearer and simpler) contract to help keep in-memory states with on-disk data.
The contract is:
ReplicaSetAwareInterface::onConsistentDataAvailable: In-memory states may choose to reconstruct here and
subscribe to future writes from now on (e.g. via OpObservers). This is called
- After replSetInitiate
- After initial sync completes (for both logical and file-copy based initial sync)
- After rollback to the stable timestamp
- After storage startup from a stable checkpoint
- After replication recovery from an unstable checkpoint
ReplicationCoordinator::isDataConsistent: In-memory state may start tailing writes (e.g. via OpObservers) when this returns true.
- Instead of checking member states, this function returns true after ReplicaSetAwareInterface::onConsistentDataAvailable is called.
This ticket is to determine if we should adopt this for ShardingRecoveryService (See git grep SERVER-91505).
- is depended on by
-
SERVER-91505 [Catalog] Adopt the improved repl interfaces to keep in-memory states in sync with data
- Blocked