[CONTROLLER-1919] Add Magnesium streaming format Created: 19/Sep/19  Updated: 04/Nov/22  Resolved: 19/Oct/19

Status: Resolved
Project: controller
Component/s: clustering
Affects Version/s: None
Fix Version/s: Magnesium, Sodium SR1

Type: New Feature Priority: Highest
Reporter: Robert Varga Assignee: Robert Varga
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Blocks
is blocked by CONTROLLER-1889 Rework NormalizedNodePruner in terms ... Resolved
Duplicate
is duplicated by CONTROLLER-1909 Deduplicate NodeIdentifierWithPredica... Resolved
Relates
relates to CONTROLLER-2052 cds-access-api uses wrong ABI version Resolved

 Description   

Current Neon-SR2 streaming format has a few deficiencies:

  1. it encodes MapEntry key values twice, once in the leaf itself and once in the entry's NodeIdentifierWithPredicates
  2. it is 'zero-happy', i.e. they do not recognize that integer codes and sizes are typically much smaller than the 4-byte range and thus much of the stream is just small ints encoded as 4 bytes
  3. while they are simple and straighforward, they also end up wasting bits – the four token families (codes, value types, node types, path argument types) each have at most 15 distinct values, and hence the bytes used to transmit them have 4 empty bits (or more)

Furthermore it cannot deal with Uint8/16/32/64 types, which is a must for the MRI window.


Generated at Wed Feb 07 19:56:46 UTC 2024 using Jira 8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d.