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

lzljs3620320 pushed a commit to branch release-1.1
in repository https://gitbox.apache.org/repos/asf/paimon.git

commit e2383e0fb70c94ad67825fa45b0f0f0dadd76a9b
Author: JingsongLi <[email protected]>
AuthorDate: Tue May 13 12:03:23 2025 +0800

    [hotfix] Fix FallbackReadScan in ReadOptimizedTable
---
 .../apache/paimon/table/system/ReadOptimizedTable.java    | 15 +++++++++++----
 1 file changed, 11 insertions(+), 4 deletions(-)

diff --git 
a/paimon-core/src/main/java/org/apache/paimon/table/system/ReadOptimizedTable.java
 
b/paimon-core/src/main/java/org/apache/paimon/table/system/ReadOptimizedTable.java
index 59c2c7b988..8625de6b2f 100644
--- 
a/paimon-core/src/main/java/org/apache/paimon/table/system/ReadOptimizedTable.java
+++ 
b/paimon-core/src/main/java/org/apache/paimon/table/system/ReadOptimizedTable.java
@@ -30,6 +30,7 @@ import org.apache.paimon.operation.DefaultValueAssigner;
 import org.apache.paimon.schema.SchemaManager;
 import org.apache.paimon.table.DataTable;
 import org.apache.paimon.table.FallbackReadFileStoreTable;
+import org.apache.paimon.table.FallbackReadFileStoreTable.FallbackReadScan;
 import org.apache.paimon.table.FileStoreTable;
 import org.apache.paimon.table.ReadonlyTable;
 import org.apache.paimon.table.Table;
@@ -123,6 +124,10 @@ public class ReadOptimizedTable implements DataTable, 
ReadonlyTable {
 
     @Override
     public SnapshotReader newSnapshotReader() {
+        return newSnapshotReader(wrapped);
+    }
+
+    private SnapshotReader newSnapshotReader(FileStoreTable wrapped) {
         if (!wrapped.schema().primaryKeys().isEmpty()) {
             return wrapped.newSnapshotReader()
                     .withLevel(coreOptions().numLevels() - 1)
@@ -136,13 +141,15 @@ public class ReadOptimizedTable implements DataTable, 
ReadonlyTable {
     public DataTableScan newScan() {
         if (wrapped instanceof FallbackReadFileStoreTable) {
             FallbackReadFileStoreTable table = (FallbackReadFileStoreTable) 
wrapped;
-            return (new FallbackReadFileStoreTable.FallbackReadScan(
-                            table.wrapped().newScan(), 
table.fallback().newScan()))
-                    .withLevelFilter(l -> l == coreOptions().numLevels() - 1);
+            return new FallbackReadScan(newScan(table.wrapped()), 
newScan(table.fallback()));
         }
+        return newScan(wrapped);
+    }
+
+    private DataTableScan newScan(FileStoreTable wrapped) {
         return new DataTableBatchScan(
                 !wrapped.schema().primaryKeys().isEmpty(),
-                coreOptions(),
+                wrapped.coreOptions(),
                 newSnapshotReader(),
                 DefaultValueAssigner.create(wrapped.schema()));
     }

Reply via email to