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 8dbe45ba58 [test] Add test for overwrite-upgrade (#6841)
8dbe45ba58 is described below
commit 8dbe45ba58f6c4be4d2d7c4c1bdc59d7a1df4ecb
Author: yuzelin <[email protected]>
AuthorDate: Fri Dec 19 17:49:16 2025 +0800
[test] Add test for overwrite-upgrade (#6841)
---
.../paimon/operation/FileStoreCommitImpl.java | 2 +-
.../apache/paimon/flink/BatchFileStoreITCase.java | 30 ++++++++++++++++++++--
2 files changed, 29 insertions(+), 3 deletions(-)
diff --git
a/paimon-core/src/main/java/org/apache/paimon/operation/FileStoreCommitImpl.java
b/paimon-core/src/main/java/org/apache/paimon/operation/FileStoreCommitImpl.java
index a161b5ab26..033c06d9e8 100644
---
a/paimon-core/src/main/java/org/apache/paimon/operation/FileStoreCommitImpl.java
+++
b/paimon-core/src/main/java/org/apache/paimon/operation/FileStoreCommitImpl.java
@@ -655,12 +655,12 @@ public class FileStoreCommitImpl implements
FileStoreCommit {
continue outer;
}
}
+ LOG.info("Upgraded for overwrite commit.");
for (ManifestEntry entry : newEntries) {
results.add(entry.upgrade(maxLevel));
}
}
- LOG.info("Upgraded for overwrite commit.");
return results;
}
diff --git
a/paimon-flink/paimon-flink-common/src/test/java/org/apache/paimon/flink/BatchFileStoreITCase.java
b/paimon-flink/paimon-flink-common/src/test/java/org/apache/paimon/flink/BatchFileStoreITCase.java
index e22df34b7e..22271c8a7e 100644
---
a/paimon-flink/paimon-flink-common/src/test/java/org/apache/paimon/flink/BatchFileStoreITCase.java
+++
b/paimon-flink/paimon-flink-common/src/test/java/org/apache/paimon/flink/BatchFileStoreITCase.java
@@ -1111,7 +1111,7 @@ public class BatchFileStoreITCase extends
CatalogITCaseBase {
}
@Test
- public void testOverwriteDvUpgradeForOrdinaryPk() {
+ public void testOverwriteUpgradeForOrdinaryPk() {
boolean dynamicBucket = ThreadLocalRandom.current().nextBoolean();
sql(
"CREATE TABLE test_table (a INT, b STRING, pt STRING, PRIMARY
KEY (a, pt) NOT ENFORCED) PARTITIONED BY (pt)"
@@ -1131,7 +1131,7 @@ public class BatchFileStoreITCase extends
CatalogITCaseBase {
}
@Test
- public void testOverwriteDvUpgradeForPostpone() {
+ public void testOverwriteUpgradeForPostpone() {
sql(
"CREATE TABLE test_table (a INT, b STRING, pt STRING, PRIMARY
KEY (a, pt) NOT ENFORCED) PARTITIONED BY (pt)"
+ "WITH ('bucket' = '-2', 'deletion-vectors.enabled' =
'true', 'write-only' = 'true')");
@@ -1158,4 +1158,30 @@ public class BatchFileStoreITCase extends
CatalogITCaseBase {
sql("INSERT OVERWRITE test_table VALUES (6, 'F', '2025-12-01')");
assertThat(sql("SELECT * FROM test_table")).isEmpty();
}
+
+ @Test
+ public void testNoOverwriteUpgradeWhenFilesOverlapped() {
+ sql(
+ "CREATE TABLE test_table (a INT, b STRING, pt STRING, PRIMARY
KEY (a, pt) NOT ENFORCED) "
+ + "PARTITIONED BY (pt) WITH ('bucket' = '4',
'deletion-vectors.enabled' = 'true', "
+ + "'write-only' = 'true', 'write-buffer-spillable' =
'false', 'page-size' = '64 b', "
+ + "'write-buffer-size' = '1 kb')");
+ sql("INSERT INTO test_table VALUES (1, 'A', '2025-12-01')");
+ assertThat(sql("SELECT * FROM test_table")).isEmpty();
+
+ sql(
+ "CREATE TEMPORARY TABLE gen (a INT, b STRING) "
+ + "WITH ('connector' = 'datagen', 'fields.a.kind' =
'sequence', 'fields.a.start' = '1', "
+ + "'fields.a.end' = '500', 'number-of-rows' = '500')");
+
+ sql("INSERT OVERWRITE test_table SELECT a, b, '2025-12-01' FROM gen");
+
+ assertThat(sql("SELECT * FROM test_table")).isEmpty();
+
+ sql(
+ "ALTER TABLE test_table RESET ('write-buffer-spillable',
'page-size', 'write-buffer-size')");
+ sql("CALL sys.compact(`table` => 'default.test_table')");
+
+ assertThat(sql("SELECT SUM(a) FROM
test_table")).containsExactly(Row.of(125250));
+ }
}