This is an automated email from the ASF dual-hosted git repository. lincoln pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/flink.git
commit 8ade28e18d3580875ccd8ddf0e98f5f956fa82ff Author: dylanhz <[email protected]> AuthorDate: Tue Mar 24 21:08:31 2026 +0800 [hotfix][core] Make RoaringBitmapData implement Serializable and Remove unused wrap method --- .../flink/types/bitmap/RoaringBitmapData.java | 22 +++++----------------- .../apache/flink/types/RoaringBitmapDataTest.java | 6 ------ 2 files changed, 5 insertions(+), 23 deletions(-) diff --git a/flink-core/src/main/java/org/apache/flink/types/bitmap/RoaringBitmapData.java b/flink-core/src/main/java/org/apache/flink/types/bitmap/RoaringBitmapData.java index d9ee1988cc6..f170041de88 100644 --- a/flink-core/src/main/java/org/apache/flink/types/bitmap/RoaringBitmapData.java +++ b/flink-core/src/main/java/org/apache/flink/types/bitmap/RoaringBitmapData.java @@ -20,7 +20,6 @@ package org.apache.flink.types.bitmap; import org.apache.flink.annotation.Internal; import org.apache.flink.types.DeserializationException; -import org.apache.flink.util.Preconditions; import org.roaringbitmap.IntConsumer; import org.roaringbitmap.RoaringBitmap; @@ -28,6 +27,7 @@ import org.roaringbitmap.RoaringBitmap; import javax.annotation.Nonnull; import javax.annotation.Nullable; +import java.io.Serializable; import java.nio.ByteBuffer; import java.util.Objects; @@ -36,7 +36,9 @@ import java.util.Objects; * modifications. */ @Internal -public final class RoaringBitmapData implements Bitmap { +public final class RoaringBitmapData implements Bitmap, Serializable { + + private static final long serialVersionUID = 1L; private final RoaringBitmap roaringBitmap; @@ -48,10 +50,6 @@ public final class RoaringBitmapData implements Bitmap { this.roaringBitmap = other.roaringBitmap.clone(); } - private RoaringBitmapData(RoaringBitmap roaringBitmap) { - this.roaringBitmap = roaringBitmap; - } - // ~ Static Methods ---------------------------------------------------------------- public static RoaringBitmapData empty() { @@ -79,17 +77,7 @@ public final class RoaringBitmapData implements Bitmap { return rb32; } - /** - * Wraps the given {@link RoaringBitmap} without copying. The returned {@link RoaringBitmapData} - * shares the same internal object as the input. - */ - public static RoaringBitmapData wrap(@Nonnull RoaringBitmap roaringBitmap) { - Preconditions.checkNotNull(roaringBitmap); - return new RoaringBitmapData(roaringBitmap); - } - - private static RoaringBitmapData toRoaringBitmapData(Bitmap bm) - throws IllegalArgumentException { + public static RoaringBitmapData toRoaringBitmapData(Bitmap bm) throws IllegalArgumentException { if (!(bm instanceof RoaringBitmapData)) { throw new IllegalArgumentException("Unsupported bitmap type: " + bm.getClass() + "."); } diff --git a/flink-core/src/test/java/org/apache/flink/types/RoaringBitmapDataTest.java b/flink-core/src/test/java/org/apache/flink/types/RoaringBitmapDataTest.java index cce27ddb26d..837f889c231 100644 --- a/flink-core/src/test/java/org/apache/flink/types/RoaringBitmapDataTest.java +++ b/flink-core/src/test/java/org/apache/flink/types/RoaringBitmapDataTest.java @@ -66,12 +66,6 @@ class RoaringBitmapDataTest { // fromArray assertThat(RoaringBitmapData.fromArray(new int[0]).toArray()).containsExactly(); assertThat(RoaringBitmapData.fromArray(new int[] {1, 2}).toArray()).containsExactly(1, 2); - - // wrap - assertThatThrownBy(() -> RoaringBitmapData.wrap(null)) - .isInstanceOf(NullPointerException.class); - assertThat(RoaringBitmapData.wrap(RoaringBitmap.bitmapOf(1, 2)).toArray()) - .containsExactly(1, 2); } @Test
