-
Type: Bug
-
Resolution: Unresolved
-
Priority: Major - P3
-
None
-
Affects Version/s: 8.0.0
-
Component/s: None
-
None
-
Catalog and Routing
-
ALL
-
CAR Team 2025-02-03, CAR Team 2025-02-17
-
2
MongoDB 8.0 introduces moving an unsharded collection to a different shard through moveCollection. Technically, this is implemented by registering an unsplittable collection in the sharding catalog, and moving its single chunk to another shard. As unsplittable collections do not exist in previous versions, they are converted back to regular unsharded collections on downgrade (SERVER-86309).
In most scenarios, this correctly untracks all collections because existing DDLs are drained and no new untracked collections can be created. However, the untracking during downgrade can miss an unsplittable collection if it is renamed during the process:
1. The untrack-on-downgrade process gathers a list of collections to untrack
2. One of those collections is renamed [by a rename DDL started after draining]
4. The _shardsvrUntrackUnsplittableCollection still succeeds, as it doesn't find a tracked collection on the namespace, and this is considered a success - so the FCV downgrade can continue.
As a result, an unsplittable collection exists on FCV 7.0.
A reproducer is attached.
- related to
-
SERVER-86309 Untrack unsplittable collections on downgrade
- Closed