-
Type:
Bug
-
Resolution: Fixed
-
Priority:
Major - P3
-
Affects Version/s: None
-
Component/s: None
-
None
-
Catalog and Routing
-
Fully Compatible
-
ALL
-
CAR Team 2026-05-11
-
200
-
None
-
None
-
None
-
None
-
None
-
None
-
None
The catalog list-operations consistency validator can fail with CommandNotSupportedOnLegacyTimeseriesBucketsNamespace (error 491) — see BF-43011.
The validator already tries to filter legacy buckets via skipLegacyBucketsForListIndexes, but there is a race during an FCV upgrade that crosses the timeseries-viewless boundary: listCollections runs while FCV is still kUpgrading, so the flag is not yet considered enabled and the legacy system.buckets. namespace is returned. Before the validator issues listIndexes on it, FCV transitions to fully upgraded — featureFlagBlockDirectSystemBucketsAccess is now active — but the per-collection viewless conversion has not yet completed for this namespace. listIndexes on system.buckets. is then rejected with error 491. Eventually the conversion completes and the collection becomes viewless, which is why the failure is transient.
Fix
Treat CommandNotSupportedOnLegacyTimeseriesBucketsNamespace as a transient error in the listIndexes retry loop, alongside ObjectIsBusy and InterruptedDueToReplStateChange. On retry, either the viewless conversion completes and listCollections no longer returns the buckets namespace, or skipLegacyBucketsForListIndexes filters it out.
Workaround until legacy buckets namespaces are gone — tracked by SERVER-106164.
- is related to
-
SERVER-106164 Add guardrails to ensure FCV upgrades/downgrades are finalized
-
- Backlog
-