Uploaded image for project: 'Documentation'
  1. Documentation
  2. DOCS-15192

Investigate changes in SERVER-63593: Support compressing arrays in BSONColumn

      Original Downstream Change Summary

      This introduces a data format change to be able to compress arrays with the time-series column compression. Users downgrading to v5.0 will have a new floor on the v5.0 branch where the decompression support is included (tracked in SERVER-64732).

      Apart from the above, array compression works like object compression where scalar sub-fields are compressed.

      Description of Linked Ticket

      Add support for Arrays for the sub-object compression mode in BSONColumn.

      Arrays can mostly be treated as Objects but care need to be taken so we don't merge in when the types are different.

      Because there is existing data using this feature, we cannot use the existing control byte for sub-object mode start. An existing reference object with a sub-array need to not look for interleaved data for the array content.

      Arrays can also exist at the root level and we need a separate control byte for interleave start as an array.

      So:
      Existing 0xF0 control byte need to decode as it currently does
      Add new 0xF1 control byte for array support under objects
      Add new 0xF2 control byte for array support when the root is an array

            Assignee:
            jason.price@mongodb.com Jason Price
            Reporter:
            backlog-server-pm Backlog - Core Eng Program Management Team
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved:
              1 year, 45 weeks, 5 days ago