Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-86320

Change TSBlock code to handle buckets with unsorted time field

    • Type: Icon: Task Task
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 8.0.0-rc0
    • Affects Version/s: None
    • Component/s: None
    • Labels:
      None
    • Fully Compatible

      The TSBlock code assumes that the bucket time field is sorted. Since newer buckets will not be sorted on time (possibly behind a v:3 version flag), we must update this code.

      This will mean we can no longer get the actual min() value of the time field by taking the first value. We should add TSBlock::lowerBound() and TSBlock::upperBound(), and audit all call sites. lowerBound() and upperBound() can still be used for applying filters, but cannot be used for accumulators. TSBlock::min() would return Nothing for the time field when dealing with a potentially unsorted bucket, and the control.min value for other fields.

            Assignee:
            ian.boros@mongodb.com Ian Boros
            Reporter:
            ian.boros@mongodb.com Ian Boros
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: