-
Type:
Bug
-
Resolution: Unresolved
-
Priority:
Major - P3
-
None
-
Affects Version/s: 9.0.0-rc0, 8.3.0
-
Component/s: None
-
None
-
Storage Execution
-
ALL
-
Storage Execution 2026-05-25
-
None
-
None
-
None
-
None
-
None
-
None
-
None
Context: SERVER-106222 added an optional isTimeseries flag to oplog entries that gets set every time a write happens on a collection with timeseries options and a namespace not in the system.buckets format.
In SERVER-109210 we FCV gated most usages of this field. The reasoning is that old binaries (e.g. v8.0) can not parse this field, and even though in those old versions only system.buckets-prefixed collections should have timeseries options, due to inconsistency bugs (e.g. SERVER-109210 or SERVER-59666) this is not fully guaranteed.
Issue: However there remain some usages (e.g. 1, 2) that are still not FCV gated. In the worst case, if:
(1) we are in a scenario with a new primary (v8.3 or v9.0) and old secondaries (v8.0)
(2) a user has one of those inconsistencies
(3) some operation (e.g. insert) happens on those collections
Then the field will be emitted and the v8.0 secondaries will crash.
The attached repro shows that this actually happens (as long as there is a non-system.buckets collection without timeseries options, which in the repro is artificially forced).
Action: We should re-review all places where we set the isTimeseries oplog field is set and make sure they are gated by the gFeatureFlagMarkTimeseriesEventsInOplog flag.
- is related to
-
SERVER-59666 Renaming system.buckets collection should be disallowed
-
- Closed
-
-
SERVER-109210 Make sure `isViewlessTimeseries` oplog field does not lead to multiversion issues
-
- Closed
-
-
SERVER-106222 Introduce new oplog entry format for viewless time-series collections
-
- Closed
-
- related to
-
SERVER-109884 Prevent inconsistent buckets from being considered viewless timeseries
-
- Closed
-