This is an automated email from the ASF dual-hosted git repository.

JingsongLi pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/paimon.git


The following commit(s) were added to refs/heads/master by this push:
     new b573ea82ba [common] Serialize BlobDescriptor with current version 
(#7915)
b573ea82ba is described below

commit b573ea82bad5f0a5ca6e9a595a74fdffcc9e11b0
Author: YeJunHao <[email protected]>
AuthorDate: Wed May 20 19:26:02 2026 +0800

    [common] Serialize BlobDescriptor with current version (#7915)
---
 .../java/org/apache/paimon/data/BlobDescriptor.java    |  2 +-
 .../org/apache/paimon/data/BlobDescriptorTest.java     | 18 ++++++++++++++++++
 2 files changed, 19 insertions(+), 1 deletion(-)

diff --git 
a/paimon-common/src/main/java/org/apache/paimon/data/BlobDescriptor.java 
b/paimon-common/src/main/java/org/apache/paimon/data/BlobDescriptor.java
index 2687083c62..671ac822a2 100644
--- a/paimon-common/src/main/java/org/apache/paimon/data/BlobDescriptor.java
+++ b/paimon-common/src/main/java/org/apache/paimon/data/BlobDescriptor.java
@@ -117,7 +117,7 @@ public class BlobDescriptor implements Serializable {
         ByteBuffer buffer = ByteBuffer.allocate(totalSize);
         buffer.order(ByteOrder.LITTLE_ENDIAN);
 
-        buffer.put(version);
+        buffer.put(CURRENT_VERSION);
         buffer.putLong(MAGIC);
         buffer.putInt(uriLength);
         buffer.put(uriBytes);
diff --git 
a/paimon-common/src/test/java/org/apache/paimon/data/BlobDescriptorTest.java 
b/paimon-common/src/test/java/org/apache/paimon/data/BlobDescriptorTest.java
index eaf9d3dea8..b25d603bf8 100644
--- a/paimon-common/src/test/java/org/apache/paimon/data/BlobDescriptorTest.java
+++ b/paimon-common/src/test/java/org/apache/paimon/data/BlobDescriptorTest.java
@@ -114,6 +114,24 @@ public class BlobDescriptorTest {
         assertThat(blobDescriptor.length()).isEqualTo(200L);
     }
 
+    @Test
+    public void testSerializeUsesCurrentVersion() throws Exception {
+        byte[] serializedV1 =
+                IOUtils.readFully(
+                        BlobDescriptorTest.class
+                                .getClassLoader()
+                                
.getResourceAsStream("compatible/blob_descriptor_v1"),
+                        true);
+
+        BlobDescriptor blobDescriptor = 
BlobDescriptor.deserialize(serializedV1);
+        byte[] serialized = blobDescriptor.serialize();
+
+        assertThat(serialized[0]).isEqualTo((byte) 2);
+        assertThat(BlobDescriptor.isBlobDescriptor(serialized)).isTrue();
+        assertThat(BlobDescriptor.deserialize(serialized))
+                .isEqualTo(new BlobDescriptor("/test/path", 100L, 200L));
+    }
+
     private BlobDescriptor createDescriptorWithVersion(
             byte version, String uri, long offset, long length) throws 
Exception {
         Constructor<BlobDescriptor> constructor =

Reply via email to