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

lzljs3620320 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 ccbfae1331 [core] Notify null blob to consumer in BlobFormatWriter
ccbfae1331 is described below

commit ccbfae1331c59e35ff37baf8734753a4f505abf7
Author: JingsongLi <[email protected]>
AuthorDate: Tue Jan 27 19:17:14 2026 +0800

    [core] Notify null blob to consumer in BlobFormatWriter
---
 .../src/test/java/org/apache/paimon/append/BlobTableTest.java  | 10 +++++++---
 .../java/org/apache/paimon/format/blob/BlobFormatWriter.java   |  3 +++
 2 files changed, 10 insertions(+), 3 deletions(-)

diff --git 
a/paimon-core/src/test/java/org/apache/paimon/append/BlobTableTest.java 
b/paimon-core/src/test/java/org/apache/paimon/append/BlobTableTest.java
index 5f0d007d73..3045f33b16 100644
--- a/paimon-core/src/test/java/org/apache/paimon/append/BlobTableTest.java
+++ b/paimon-core/src/test/java/org/apache/paimon/append/BlobTableTest.java
@@ -75,16 +75,20 @@ public class BlobTableTest extends TableTestBase {
                     });
             write.write(dataDefault(0, 0));
             write.write(dataDefault(0, 0));
+            write.write(GenericRow.of(1, BinaryString.fromString("nice"), 
null));
         }
-        assertThat(blobs.size()).isEqualTo(2);
+        assertThat(blobs.size()).isEqualTo(3);
         FileIO fileIO = table.fileIO();
         UriReader uriReader = UriReader.fromFile(fileIO);
-        for (BlobDescriptor blob : blobs) {
+        for (int i = 0; i < 2; i++) {
+            BlobDescriptor blob = blobs.get(i);
             assertThat(Blob.fromDescriptor(uriReader, 
blob).toData()).isEqualTo(blobBytes);
         }
-        for (BlobDescriptor blob : blobs) {
+        for (int i = 0; i < 2; i++) {
+            BlobDescriptor blob = blobs.get(i);
             fileIO.deleteQuietly(new Path(blob.uri()));
         }
+        assertThat(blobs.get(2)).isNull();
     }
 
     @Test
diff --git 
a/paimon-format/src/main/java/org/apache/paimon/format/blob/BlobFormatWriter.java
 
b/paimon-format/src/main/java/org/apache/paimon/format/blob/BlobFormatWriter.java
index aa93708ff8..83d6c0eb91 100644
--- 
a/paimon-format/src/main/java/org/apache/paimon/format/blob/BlobFormatWriter.java
+++ 
b/paimon-format/src/main/java/org/apache/paimon/format/blob/BlobFormatWriter.java
@@ -82,6 +82,9 @@ public class BlobFormatWriter implements 
FileAwareFormatWriter {
         checkArgument(element.getFieldCount() == 1, "BlobFormatWriter only 
support one field.");
         if (element.isNullAt(0)) {
             lengths.add(-1L);
+            if (writeConsumer != null) {
+                writeConsumer.accept(blobFieldName, null);
+            }
             return;
         }
         Blob blob = element.getBlob(0);

Reply via email to