checkMetadataConsistency can report MalformedTimeseriesBucketsCollection during successful viewful timeseries $out

    • Type: Bug
    • Resolution: Unresolved
    • Priority: Major - P3
    • None
    • Affects Version/s: 8.0.0, 8.2.0, 9.0.0-rc0, 8.3.0
    • Component/s: None
    • Catalog and Routing
    • ALL
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      This is a low-impact bug that only affects legacy/viewful timeseries.

       

      Summary

      SERVER-90889 implemented an inconsistency in checkMetadataConsistency if a timeseries system.buckets collection without a corresponding timeseries view is found.

       

      During the commit of timeseries $out, we rename the temporary $out collection to "system.buckets.result" then create the timeseries view as two separate steps. If a checkMetadataConsistency comes in between those two steps, a false positive spurious MalformedTimeseriesBucketsCollection is reported.

       

      On other DDLs like createCollection, this is prevented by the DDL lock, but $out does not hold it during the commit phase.

       

      Proposed fix

      We may ignore this issue since it's low impact and it is fixed with viewless timeseries.

       

      A potential fix approach could be to verify if there is a temporary collection registered in "config.agg_temp_collections" and if so, discard the inconsistency.

            Assignee:
            Unassigned
            Reporter:
            Joan Bruguera Micó
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: