Timeseries catalog helpers pass boost::none instead of the open snapshot's read timestamp to establishConsistentCollection

XMLWordPrintableJSON

    • Type: Bug
    • Resolution: Fixed
    • Priority: Major - P3
    • 9.1.0-rc0, 9.0.1, 9.0.2
    • Affects Version/s: 9.0.0-rc0
    • Component/s: None
    • None
    • Catalog and Routing
    • Fully Compatible
    • ALL
    • v9.0
    • CAR Team 2026-08-31
    • 200
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      CollectionCatalog::establishConsistentCollection (declared here) is meant to return a collection instance consistent with the currently open storage snapshot. Passing readTimestamp == boost::none instead means "use the latest collection instance," which is not guaranteed to be consistent with an already-open snapshot — this is the misuse pattern tracked generally in SERVER-133590.

      Three timeseries catalog helpers had this bug: they run with a snapshot already open at a specific read timestamp (enforced via assertSnapshotOpen in two of the three cases) but call establishConsistentCollection with boost::none instead of the snapshot's actual read timestamp:

      The fix retrieves the point-in-time read timestamp via getPointInTimeReadTimestamp() on the active recovery unit and passes it to establishConsistentCollection, matching the same fix previously applied to a similar call site in SERVER-123333.

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

              Created:
              Updated:
              Resolved: