-
Type:
Bug
-
Resolution: Unresolved
-
Priority:
Major - P3
-
None
-
Affects Version/s: 7.0.0, 8.0.0, 8.2.0
-
Component/s: None
-
None
-
Catalog and Routing
-
ALL
-
CAR Team 2026-02-02
-
200
-
🟩 Routing and Topology
-
None
-
None
-
None
-
None
-
None
-
None
TopologyTimeTicker::onNewLocallyCommittedTopologyTimeAvailable is called from three different places:
- ConfigServerOpObserver::onInserts
- ConfigServerOpObserver::onUpdate
- VectorClockMongoD::onConsistentDataAvailable
ConfigServerOpObserver::onInserts avoids calling onNewLocallyCommittedTopologyTimeAvailable during initial sync. However, ConfigServerOpObserver::onUpdate does not.
Because of that, when a node undergoes initial sync, it could be that onUpdate registers a topology time tick with a commit time CT.
If that happens to also be the stopTimestamp of the initial sync, then VectorClockMongoD::onConsistentDataAvailable will be called with commit time also CT. This violates this invariant, as commitTime will be equal to _topologyTimeByLocalCommitTime.crbegin()->first, so the configsvr replica undergoing initial sync will crash.
- is caused by
-
SERVER-65837 Use internal transactions instead of applyOps in removeShard
-
- Closed
-