Revisit the logic of preconditions check of timeseries upgrade downgrade coordinator

XMLWordPrintableJSON

    • Type: Task
    • Resolution: Fixed
    • Priority: Major - P3
    • 9.0.0-rc0
    • Affects Version/s: None
    • Component/s: None
    • None
    • Catalog and Routing
    • Fully Compatible
    • CAR Team 2026-02-02, CAR Team 2026-02-16, CAR Team 2026-03-02, CAR Team 2026-03-16, CAR Team 2026-03-30
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      We identified 3 issues with the timeseries upgrade downgrade coordinator:

      1. We're failing early in the preconditions check if a bucket collection exists, but the main namespace is actually a regular collection. This fails with IllegalOperation because the namespace is NOT a timeseries collection, while it should be considered an inconsistency and should be skipped during setFCV.
      2. We check if the collection exists in the prepare phase, if it doesn't, we simply return ok, but the commit phase doesn't check if the collection exists and we stay stuck retrying forever. We should also check in the commit phase that the collection exists. NOT TRUE, we already check that it exists
      3. We are incorrectly using the error code UserDataInconsistent, we should use a special error code like kTimeseriesBucketMetadataInconsistent.  Created SERVER-122241 for this change.

      The goal of this ticket is to review the logic.

            Assignee:
            Meryama Nadim
            Reporter:
            Meryama Nadim
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: