Report timeseries collections without bucketing parameters or clusteredIndex in checkMetadataConsistency

    • Type: Task
    • Resolution: Unresolved
    • Priority: Major - P3
    • None
    • Affects Version/s: 7.0.0, 8.0.0, 8.3.0-rc0, 8.2.0, 8.3.0, 9.0.0
    • Component/s: None
    • Catalog and Routing
    • 馃煢 Shard Catalog
    • None
    • None
    • None
    • None
    • None
    • None

      Problem

      In MongoDB 7.0 it was possible to create a timeseries buckets collection directly like this:

      db.createCollection("system.buckets.xyzzy", {timeseries:{timeField:'t'}}) 

      The resulting buckets collection doesn't have many required options (for example a clustered index and the granularity)

      Customers may bring those corrupted collections to new versions (including upgrading it to a still-corrupted viewless timeseries collection in FCV 9.0{+}).

      Impact

      Thanks to SERVER-88200 we prevent writing to those collections, so there is no data loss.

      However customers may be surprised by this behavior, and understanding the prevalence and cleaning the fleet would mitigate any future risk from those collections.

      Suggested action

      We should add a checkMetadataConsistency check to report this inconsistency (collection with timeseries options missing clustered index or granularity).

      This can be similar to the check added by SERVER-90889.

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

              Created:
              Updated: