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 203db415d [core] Fix that batch unaware bucket compact cannot stop 
when there is no snapshot (#4539)
203db415d is described below

commit 203db415d519106d9f3d20a0fe83af58c71e78ea
Author: yuzelin <[email protected]>
AuthorDate: Mon Nov 18 13:36:32 2024 +0800

    [core] Fix that batch unaware bucket compact cannot stop when there is no 
snapshot (#4539)
---
 .../append/UnawareAppendTableCompactionCoordinator.java       |  3 +++
 .../append/UnawareAppendTableCompactionCoordinatorTest.java   | 11 +++++++++++
 2 files changed, 14 insertions(+)

diff --git 
a/paimon-core/src/main/java/org/apache/paimon/append/UnawareAppendTableCompactionCoordinator.java
 
b/paimon-core/src/main/java/org/apache/paimon/append/UnawareAppendTableCompactionCoordinator.java
index 9a54ea72e..842b22316 100644
--- 
a/paimon-core/src/main/java/org/apache/paimon/append/UnawareAppendTableCompactionCoordinator.java
+++ 
b/paimon-core/src/main/java/org/apache/paimon/append/UnawareAppendTableCompactionCoordinator.java
@@ -387,6 +387,9 @@ public class UnawareAppendTableCompactionCoordinator {
             if (nextSnapshot == null) {
                 nextSnapshot = snapshotManager.latestSnapshotId();
                 if (nextSnapshot == null) {
+                    if (!streamingMode) {
+                        throw new EndOfScanException();
+                    }
                     return;
                 }
                 snapshotReader.withMode(ScanMode.ALL);
diff --git 
a/paimon-core/src/test/java/org/apache/paimon/append/UnawareAppendTableCompactionCoordinatorTest.java
 
b/paimon-core/src/test/java/org/apache/paimon/append/UnawareAppendTableCompactionCoordinatorTest.java
index 95826c195..9bb461ffe 100644
--- 
a/paimon-core/src/test/java/org/apache/paimon/append/UnawareAppendTableCompactionCoordinatorTest.java
+++ 
b/paimon-core/src/test/java/org/apache/paimon/append/UnawareAppendTableCompactionCoordinatorTest.java
@@ -29,6 +29,7 @@ import org.apache.paimon.schema.SchemaManager;
 import org.apache.paimon.schema.TableSchema;
 import org.apache.paimon.table.FileStoreTable;
 import org.apache.paimon.table.FileStoreTableFactory;
+import org.apache.paimon.table.source.EndOfScanException;
 import org.apache.paimon.types.DataTypes;
 
 import org.junit.jupiter.api.BeforeEach;
@@ -43,7 +44,9 @@ import java.util.UUID;
 
 import static 
org.apache.paimon.mergetree.compact.MergeTreeCompactManagerTest.row;
 import static org.apache.paimon.stats.StatsTestUtils.newSimpleStats;
+import static 
org.apache.paimon.testutils.assertj.PaimonAssertions.anyCauseMatches;
 import static org.assertj.core.api.Assertions.assertThat;
+import static org.assertj.core.api.Assertions.assertThatThrownBy;
 
 /** Tests for {@link UnawareAppendTableCompactionCoordinator}. */
 public class UnawareAppendTableCompactionCoordinatorTest {
@@ -135,6 +138,14 @@ public class UnawareAppendTableCompactionCoordinatorTest {
                 .isEqualTo(0);
     }
 
+    @Test
+    public void testBatchScanEmptyTable() {
+        compactionCoordinator =
+                new 
UnawareAppendTableCompactionCoordinator(appendOnlyFileStoreTable, false);
+        assertThatThrownBy(() -> compactionCoordinator.scan())
+                .satisfies(anyCauseMatches(EndOfScanException.class));
+    }
+
     private void assertTasks(List<DataFileMeta> files, int taskNum) {
         compactionCoordinator.notifyNewFiles(partition, files);
         List<UnawareAppendCompactionTask> tasks = 
compactionCoordinator.compactPlan();

Reply via email to