TimeseriesOpObserver::onDropCollection unconditionally increments catalogEra when any collection is dropped

XMLWordPrintableJSON

    • Type: Bug
    • Resolution: Unresolved
    • Priority: Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • None
    • Storage Execution
    • ALL
    • Storage Execution 2025-08-04
    • None
    • 3
    • TBD
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      Prior to SERVER-106567, we would only call into the bucket_catalog::drop code for a collection if it's namespace was a time-series buckets namespace. After SERVER-106567, we do this unconditionally. The reasoning behind this was that this would prevent us from looking up potentially stale information about the collection (i.e, it may have already been dropped and looking it up to check if it was a time-series collection may not have worked), and it was believed that there should be no side-effects to doing this more often.

      However, performing this drop unconditionally for any dropped collection does have the side effect of always incrementing the bucket catalog era. Besides growing the registry.clearedSets set a lot more than we used to, as a result of this we could bump the catalog era more often than we expect to and cause us to fail to reopen a bucket due to a catalog era mismatch error, ultimately allocating a new bucket instead.

              Assignee:
              Damian Wasilewicz
              Reporter:
              Damian Wasilewicz
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

                Created:
                Updated: