confluentinc / parallel-consumer

Parallel Apache Kafka client wrapper with per message ACK, client side queueing, a simpler consumer/producer API with key concurrency and extendable non-blocking IO processing.

Home Page:https://confluent.io/confluent-accelerators/#parallel-consumer

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Support BitSet and RunLength encoding lengths longer than Short.MAX_VALUE

astubbs opened this issue · 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