-
Type: Task
-
Resolution: Unresolved
-
Priority: Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
None
-
Storage Execution
-
Execution Team 2024-02-19
When a user inserts a measurement into a time-series collection that contains a field that does not exist for prior measurements, the compression code needs to create a new BSONColumnBuilder to represent the new data field. If there are already dozens or hundreds of measurements in the bucket, there will need to be dozens or hundreds of skips initialized in the new column.
This API improves performance by not calling append() each time and checking if RLE is possible. Instead, it will set each RLE block directly and any other state required without calling append().
Proposed shape of the API:
BSONColumnBuilder(size_t numPrefixSkips); // fill ctor
- depends on
-
SERVER-86427 Decide on decompression behavior if there are deltas without an uncompressed control byte
- Closed
- is related to
-
SERVER-79411 Maintain the compression state in the Bucket class
- Closed