-
Type:
Task
-
Resolution: Unresolved
-
Priority:
Major - P3
-
None
-
Affects Version/s: 8.3.0-rc0, 8.2.0, 9.0.0-rc0
-
Component/s: Catalog, Index Builds
-
Catalog and Routing
-
Fully Compatible
-
CAR Team 2026-04-27
-
2
-
🟩 Routing and Topology
-
None
-
None
-
None
-
None
-
None
-
None
Problem: Some of the catalog changes we do on setFCV can not be done if there's an index build is in progress, if there is, then setFCV fails with a BackgroundOperationInProgressForNamespace error and:
- The user can not complete the upgrade/downgrade until the index build finishes (which may take hours/days) or is aborted.
- The user can not return to the original FCV since the failure happens on the "isCleaningServerMetadata" part of setFCV.
This can leave users stuck on setFCV for a long time, which is undesirable.
Â
*List of catalog changes on setFCV incompatible with index builds (non exhaustive):
- On upgrade, collMod to remove deprecated catalog fields (all collections)
- On downgrade, collMod to remove recordIdsReplicated: true (all new collections)
- Convert timeseries to/from viewless format on upgrade / downgrade (see SERVER-119738 for detail).
Â
Solution: Add a feasibility check on setFCV (userCollectionsUassertsForUpgrade / userCollectionsUassertsForDowngrade) that fails early if there are index builds on progress. If this happens the user is still on the original FCV.
Â
This would be best effort (the index build may start during the upgrade/downgrade) but it's expected to catch the majority cases where this would cause setFCV to fail.
- is related to
-
SERVER-119738 Fail viewless timeseries upgrade/downgrade if there are index builds in progress
-
- In Code Review
-
-
SERVER-77387 FCV Down+Index build results in crash in jstests/core/query/array/arrayfind7.js
-
- Closed
-
- related to
-
SERVER-111153 Ambiguity between in-progress and stuck FCV Upgrade
-
- Closed
-