Description
Numeric buckets can contain IDs only in summary_bitmap after saturated duplicate inserts. Some paths still treat ids as the source of truth, so bitmap-only IDs can be skipped, dropped, or cause a bucket to be deleted incorrectly.
Steps to Reproduce
- Insert more than
Bucket::MAX_SIZE documents with the same numeric value.
- Remove IDs or insert another value that triggers bucket split behavior.
- Query the exact numeric value and compare results with inserted live IDs.
Expected Behavior
All live IDs should remain queryable and removable whether represented in ids/deltas or only in summary_bitmap.
Actual Behavior
Bucket::is_empty(), range handling for empty ids, and split bitmap rebuilds can ignore or drop bitmap-only IDs.
Description
Numeric buckets can contain IDs only in
summary_bitmapafter saturated duplicate inserts. Some paths still treatidsas the source of truth, so bitmap-only IDs can be skipped, dropped, or cause a bucket to be deleted incorrectly.Steps to Reproduce
Bucket::MAX_SIZEdocuments with the same numeric value.Expected Behavior
All live IDs should remain queryable and removable whether represented in
ids/deltasor only insummary_bitmap.Actual Behavior
Bucket::is_empty(), range handling for emptyids, and split bitmap rebuilds can ignore or drop bitmap-only IDs.