Make shard-local create timeseries collection command idempotent in case of concurrent FCV upgrade-downgrade

XMLWordPrintableJSON

    • Type: Bug
    • Resolution: Fixed
    • Priority: Major - P3
    • 8.3.0-rc0
    • Affects Version/s: None
    • Component/s: None
    • None
    • Catalog and Routing
    • Fully Compatible
    • CAR Team 2026-02-16
    • 200
    • 🟦 Shard Catalog
    • None
    • None
    • None
    • None
    • None
    • None

      Currently, the idempotency check logic of create commands is conditional on the viewless timeseries feature flag. This means that if a concurrent FCV transition happens, we could execute the wrong idempotency check based on a stale value of the viewless timeseries feature flag.
      For instance, the following scenario could happen:

      1. viewless feature flag is DISABLED
      2. legacy timeseries collection already exists
      3. attempt to create a legacy timeseries collections with same options of the already existsing one. We found the already existing collection and we throw NamespaceExists
      4. FCV downgrade happen and the viewless collection gets upgraded to viewfull
      5. perform idempotency checks based on value of feature flag at 1.. Thus we look for the presence of the system.buckets legacy timeseries namespace, but since the collection got upgraded we won't find it. Thus, we wrongly bubble up NamespaceExists error.

            Assignee:
            Tommaso Tocci
            Reporter:
            Tommaso Tocci
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: