metatron-discovery
metatron-discovery copied to clipboard
Fix fail of BitmapOffsetTest.testSanity
java.lang.NullPointerException: null
at org.roaringbitmap.buffer.ArrayBatchIterator.hasNext(ArrayBatchIterator.java:30)
at org.roaringbitmap.buffer.RoaringBatchIterator.nextBatch(RoaringBatchIterator.java:23)
at io.druid.segment.bitmap.FromBatchIterator.hasNext(FromBatchIterator.java:63)
at io.druid.segment.BitmapOffset.increment(BitmapOffset.java:62)
at io.druid.segment.BitmapOffsetTest.testSanity(BitmapOffsetTest.java:97)
Regression from #4028. Due to a bug in org.roaringbitmap.buffer.RoaringBatchIterator.clone().
@Override
public BatchIterator clone() {
try {
RoaringBatchIterator it = (RoaringBatchIterator)super.clone();
if (null != iterator) {
it.iterator = iterator.clone();
}
if (null != containerPointer) {
it.containerPointer = containerPointer.clone();
}
it.arrayBatchIterator = null;
it.bitmapBatchIterator = null;
it.runBatchIterator = null;
return it;
} catch (CloneNotSupportedException e) {
// won't happen
throw new IllegalStateException();
}
}
reported https://github.com/RoaringBitmap/RoaringBitmap/issues/574