-
Type:
Task
-
Resolution: Fixed
-
Priority:
Major - P3
-
Affects Version/s: None
-
Component/s: None
-
None
-
Catalog and Routing
-
Fully Compatible
-
CAR Team 2026-01-19, CAR Team 2026-02-02
-
None
-
None
-
None
-
None
-
None
-
None
-
None
In SERVER-98386 and SERVER-103226 we added a protection mechanism to ensure that the shards correctly perform shard version checks even after translating the timeseries namespace from timeseries view to timeseries buckets (e.g. `db.coll` -> `db.system.buckets.coll`).
The protection consist in installing the same shard version we received on the timeseries view namespace also on the timeseries buckets namespace. In this way, if the shard decides to translate the namespace and operate on the bucket, the shard version protocol will only succeed when the timeseries buckets collection is unsharded.
The problem is that this protection is only engaged if at the beginning of the command execution on the shard, the buckets collection exists. This is very confusing and potentially wrong, in fact if the timeseries collection gets created during the execution of the operation then the shard will translate the timeseries namespace and operate on the buckets collection skipping completely the shard version protocol.
- is related to
-
SERVER-98386 Shard does not correctly check the ShardVersion received for timeseries collections
-
- Closed
-
-
SERVER-103226 Fix bulk_write.cpp set up of OperationShardingState when translating timeseries view to buckets nss
-
- Closed
-
- related to
-
SERVER-80719 Review timeseries name disambiguation in sharded clusters
-
- Closed
-