confluentinc/parallel-consumer

Support BitSet and RunLength encoding lengths longer than Short.MAX_VALUE

astubbs opened this issue · 1 comments

BitSet offset encodings are limited to Short.MAX_VALUE (32,000~ relative offsets) because a Short is used to serialise the Bitset run length. In order to support longer BitSets, need to use a bigger format like Integer (2,147,483,647 relative offsets).

RunLength has a similar problem - an integer is silently cast to a short, assuming a given run length is less than 32,000. Which may not always be the case. A new version of run length could use integer's instead. Could be another encoder that runs in parallel...

Not as important if #38 is fixed