JingsongLi commented on code in PR #10860:
URL: https://github.com/apache/paimon/pull/10860#discussion_r4439120374


##########
paimon-core/src/main/java/org/apache/paimon/table/FallbackReadFileStoreTable.java:
##########
@@ -246,7 +267,53 @@ public DataTableScan 
newFallbackScan(Function<FileStoreTable, DataTableScan> sca
         validateSchema();
         FileStoreTable first = wrappedFirst ? wrapped : other;
         FileStoreTable second = wrappedFirst ? other : wrapped;
-        return new FallbackReadScan(first, second, wrapped.schema(), 
scanCreator);
+        boolean otherIsEmpty =
+                other.coreOptions().scanSnapshotId() != null

Review Comment:
   Confirmed independently on a817f4c75a. Normal JDK 8 core reactor verify 
passes all 94 existing fallback/chain cases. An additional deterministic 
actual-table test fails for both fallback and primary priority: resolve 
`scan.snapshot-id=1` while the other branch is empty, assert 
`allow-earliest-snapshot=false`, then commit its first snapshot strictly after 
the requested time before creating the scan. The latest-read control correctly 
sees both rows, but the historical read also returns `[1=10, 2=20]` instead of 
`[1=10]`.
   
   This leaves the new default time-alignment guarantee incomplete. The 
resolved empty-branch decision needs to survive copying and scan creation; 
checking mutable `latestSnapshotId()` again cannot enforce it. No additional 
independent code finding emerged from the option inheritance, historical 
schema, tag and ordinary missing-snapshot review.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to