[SERVER-86320] Change TSBlock code to handle buckets with unsorted time field Created: 06/Feb/24  Updated: 06/Feb/24

Status: Open
Project: Core Server
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Task Priority: Major - P3
Reporter: Ian Boros Assignee: Ian Boros
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Participants:

 Description   

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.


Generated at Thu Feb 08 06:59:59 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.