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]