Skip to content

Commit 6f7a1db

Browse files
committed
Fix util_test timeout caused by TestAddRangeClampBeyondMaxPosition
The old test called AddRange near kMaxPosition (0x7FFFFFFE80000000), which required allocating ~2 billion internal bitmap slots and took ~180 seconds. CI killed the util_test binary before it finished. Replace with a range entirely beyond kMaxPosition so clamping makes the range empty — no allocation needed, completes in < 1 ms.
1 parent 3c55027 commit 6f7a1db

File tree

1 file changed

+5
-6
lines changed

1 file changed

+5
-6
lines changed

src/iceberg/test/roaring_position_bitmap_test.cc

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -177,12 +177,11 @@ TEST(RoaringPositionBitmapTest, TestAddRangeClampNegativeStart) {
177177

178178
TEST(RoaringPositionBitmapTest, TestAddRangeClampBeyondMaxPosition) {
179179
RoaringPositionBitmap bitmap;
180-
bitmap.AddRange(RoaringPositionBitmap::kMaxPosition - 1,
181-
RoaringPositionBitmap::kMaxPosition + 2);
182-
ASSERT_EQ(bitmap.Cardinality(), 2u);
183-
ASSERT_TRUE(bitmap.Contains(RoaringPositionBitmap::kMaxPosition - 1));
184-
ASSERT_TRUE(bitmap.Contains(RoaringPositionBitmap::kMaxPosition));
185-
ASSERT_FALSE(bitmap.Contains(RoaringPositionBitmap::kMaxPosition + 1));
180+
// Range entirely beyond kMaxPosition: after clamping both endpoints the range
181+
// becomes empty, so no allocation or insertion happens.
182+
bitmap.AddRange(RoaringPositionBitmap::kMaxPosition + 1,
183+
RoaringPositionBitmap::kMaxPosition + 10);
184+
ASSERT_TRUE(bitmap.IsEmpty());
186185
}
187186

188187
struct AddRangeNoOpParams {

0 commit comments

Comments
 (0)