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(