Incorrect BSONColumn handling of skip after non-zero RLE for double type

XMLWordPrintableJSON

    • Type: Bug
    • Resolution: Fixed
    • Priority: Major - P3
    • 8.2.0-rc0, 8.1.0-rc2, 8.0.8
    • Affects Version/s: None
    • Component/s: None
    • None
    • Storage Execution
    • Fully Compatible
    • ALL
    • v8.1, v8.0
    • Storage Execution 2025-04-14
    • None
    • 3
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      Issue Status as of August 7, 2025

      ISSUE DESCRIPTION AND IMPACT
      Time series data can be corrupted if double-precision metrics are inserted in a pattern of multiple successive values with identical non-zero deltas, followed by a measurement where the metric is missing, into a time series collection for a specific meta value and adjacent time range. The number of required successive values is at least 4, but is variable and can be up to 32, depending on the number of significant digits in the deltas.

      This issue manifests as queries on affected data erroring with “Invalid double encoding” or returning incorrect results.

      DIAGNOSIS AND AFFECTED VERSIONS
      Timeseries collections on MongoDB 8.0.0-8.0.7 under FCV 8.0 are affected.

      The issue can be detected by running validate({full: 1}) on MongoDB 8.0.10 or newer. Logs will be emitted with ID 6825900 or 6698300 with errmsg containing either “Invalid double encoding” or “Mismatch between time-series control and observed min or max for field <metricFieldName>” where the stored data is of the double type.

      REMEDIATION AND WORKAROUNDS
      Internal buckets with the “Invalid double encoding” error should be deleted from the underlying system.buckets.<coll> collection. The affected bucket _id is provided in the log ID 6825900.

      Internal buckets with the “Mismatch between time-series control and observed min or max for field <metricFieldName>” error can be partially remediated using a script provided here.

              Assignee:
              Henrik Edin
              Reporter:
              Henrik Edin
              Votes:
              1 Vote for this issue
              Watchers:
              18 Start watching this issue

                Created:
                Updated:
                Resolved: