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 98db99dca8 [spark] Respect blob-compaction.enabled in Spark compact 
procedure (#9165)
98db99dca8 is described below

commit 98db99dca8ca16bab7ab56c39a19586b69c05cfc
Author: jackylee <[email protected]>
AuthorDate: Tue Aug 11 18:25:53 2026 +0800

    [spark] Respect blob-compaction.enabled in Spark compact procedure (#9165)
---
 .../paimon/spark/procedure/CompactProcedure.java   |  6 +++++-
 .../org/apache/paimon/spark/sql/BlobTestBase.scala | 25 ++++++++++++++++++++++
 2 files changed, 30 insertions(+), 1 deletion(-)

diff --git 
a/paimon-spark/paimon-spark-common/src/main/java/org/apache/paimon/spark/procedure/CompactProcedure.java
 
b/paimon-spark/paimon-spark-common/src/main/java/org/apache/paimon/spark/procedure/CompactProcedure.java
index b73c0b189a..8fd213da1b 100644
--- 
a/paimon-spark/paimon-spark-common/src/main/java/org/apache/paimon/spark/procedure/CompactProcedure.java
+++ 
b/paimon-spark/paimon-spark-common/src/main/java/org/apache/paimon/spark/procedure/CompactProcedure.java
@@ -526,7 +526,11 @@ public class CompactProcedure extends BaseProcedure {
         }
         DataEvolutionCompactCoordinator compactCoordinator =
                 new DataEvolutionCompactCoordinator(
-                        table, partitionPredicate, false, false, snapshot);
+                        table,
+                        partitionPredicate,
+                        table.coreOptions().blobCompactionEnabled(),
+                        false,
+                        snapshot);
         CommitMessageSerializer messageSerializerser = new 
CommitMessageSerializer();
         String commitUser = 
createCommitUser(table.coreOptions().toConfiguration());
         try {
diff --git 
a/paimon-spark/paimon-spark-ut/src/test/scala/org/apache/paimon/spark/sql/BlobTestBase.scala
 
b/paimon-spark/paimon-spark-ut/src/test/scala/org/apache/paimon/spark/sql/BlobTestBase.scala
index 72d80690b3..b09a243587 100644
--- 
a/paimon-spark/paimon-spark-ut/src/test/scala/org/apache/paimon/spark/sql/BlobTestBase.scala
+++ 
b/paimon-spark/paimon-spark-ut/src/test/scala/org/apache/paimon/spark/sql/BlobTestBase.scala
@@ -704,6 +704,31 @@ class BlobTestBase extends PaimonSparkTestBase {
     }
   }
 
+  test("Blob: test compaction with blob compaction enabled") {
+    withTable("t") {
+      sql(
+        "CREATE TABLE t (id INT, data STRING, picture BINARY) TBLPROPERTIES 
('row-tracking.enabled'='true', 'data-evolution.enabled'='true', 
'blob-field'='picture', 'blob-compaction.enabled'='true')")
+      for (i <- 1 to 10) {
+        sql("INSERT INTO t VALUES (" + i + ", 'paimon', X'48656C6C6F')")
+      }
+      sql("INSERT INTO t VALUES (1, 'paimon', X'48656C6C6F')")
+
+      checkAnswer(
+        sql("SELECT COUNT(*) FROM `t$files`"),
+        Seq(Row(22))
+      )
+      sql("CALL paimon.sys.compact('t')").collect()
+      checkAnswer(
+        sql("SELECT COUNT(*) FROM `t$files`"),
+        Seq(Row(2))
+      )
+      checkAnswer(
+        sql("SELECT *, _ROW_ID, _SEQUENCE_NUMBER FROM t LIMIT 1"),
+        Seq(Row(1, "paimon", Array[Byte](72, 101, 108, 108, 111), 0, 11))
+      )
+    }
+  }
+
   test("Blob: merge-into updates non-blob column on raw blob table with split 
blob files") {
     withTable("s", "t") {
       sql(

Reply via email to