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

Reply via email to