lhotari opened a new issue, #26120:
URL: https://github.com/apache/pulsar/issues/26120

   _Originally posted by @lhotari in 
https://github.com/apache/pulsar/issues/26117#issuecomment-4841690150_
   
   Please notice that there's a need for a follow up PR to remove the 
`RoaringBitSet` (backed by `RoaringBitmap`) usage in 
org.apache.bookkeeper.mledger.impl.RangeSetWrapper. 
   There shouldn't be a need to choose between OpenLongPairRangeSet and 
LongPairRangeSet.DefaultRangeSet implementations in the Pulsar code base. 
   There's no need for a generic implementation of `RangeSetWrapper` in the 
Pulsar code base. All instances in production code are 
`RangeSetWrapper<Position>`. Therefore the implementation can be simplified 
significantly by replacing the generics solution in `RangeSetWrapper` with a 
new specific abstraction to handle `Position` and `entryId`/`ledgerId` with 
`TreeMap` & `LongBitmap`. Since there could be a need for locking of all 
methods already in this new abstraction, it's worth considering an `LongBitmap` 
implementation that doesn't add additional locking. Alternatively the new 
abstraction to replace `RangeSetWrapper` could directly wrap `RoaringBitmap` 
instead of using `LongBitmap` at all. That might be simpler after all.
             


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to