question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

RoaringBitmap.previousValue returning wrong value

See original GitHub issue

Describe the bug

RoaringBitmap#previousValue is returning wrong value or throws assertion error when running with -ea in some situations.

To Reproduce

RoaringBitmap.bitmapOf(27399807).previousValue(403042); // This returns 27399807 or throws assertion error when application is run with -ea 

Not all values lower than the minimum value of the bitmap has this behaviour. For example, RoaringBitmap.bitmapOf(27399807).previousValue(1000) returns -1 which is correct.

RoaringBitmap version:

0.9.28

Java version:

openjdk version “11.0.14”

Issue Analytics

  • State:closed
  • Created a year ago
  • Comments:7 (6 by maintainers)

github_iconTop GitHub Comments

1reaction
lemirecommented, Jun 23, 2022

Damn it. Re-releasing.

0reactions
lemirecommented, Jun 23, 2022

Note that I did not spend much time on the review. It felt straight-forward.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Support previousValue, nextAbsentValue, and ... - GitHub
Hi, Both BitSet and SparseBitSet have said functions, which return the next / previous index which is contained / not contained in the...
Read more >
RoaringBitmap (RoaringBitmap 0.7.30 API) - javadoc.io
long, previousValue(int fromValue). Returns the first value less than or equal to the provided value (interpreted as an unsigned integer).
Read more >
roaring - Go Packages
It returns a boolean value, and also an explanation for a false value. ... sets-or-clears bits based on a provided Roaring bitmap.
Read more >
RoaringBitmap Performance Tricks - Richard Startin's Blog
In a RoaringBitmap you need to store the value 1 for the higher 16 bits ... if (xlen != ylen) { return false;...
Read more >
Consuming and Indexing rows in Realtime
Pinot controller sets the value of the starting offset in the segment metadata in ... pinot.server.instance.realtime.alloc.offheap: Default is false.
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found