CalvinKirs commented on code in PR #66717:
URL: https://github.com/apache/doris/pull/66717#discussion_r3836715695


##########
fe/fe-core/src/main/java/org/apache/doris/datasource/iceberg/IcebergUtils.java:
##########
@@ -2000,7 +2044,8 @@ public static IcebergSnapshotCacheValue 
getSnapshotCacheValue(
             Optional<TableScanParams> scanParams) {
         if (tableSnapshot.isPresent() || 
IcebergUtils.isIcebergBranchOrTag(scanParams)) {
             // If a snapshot is specified, use the specified snapshot and the 
corresponding schema (not latest).
-            Table icebergTable = 
IcebergSnapshotCacheValue.retainTableGeneration(getIcebergTable(dorisTable));
+            IcebergExternalMetaCache metaCache = 
icebergExternalMetaCache(dorisTable);
+            Table icebergTable = 
metaCache.getQueryScopedIcebergTable(dorisTable);

Review Comment:
   Fixed in the follow-up commit: the explicit VERSION/TIME and branch/tag path 
now resolves the generation once (getTableCacheValue exposing the handle and 
its captured context together), derives the query-scoped table from that same 
value, and newExplicitSnapshotValue binds the generation context onto the 
constructed IcebergSnapshotCacheValue - so IcebergExternalTable.loadSnapshot() 
and the HMS-Iceberg sibling hand the planning fence a bound value, and 
ensurePlannableUnder rejects a catalog reset between binding and planning for 
explicit snapshots and refs exactly like latest projections. Regression 
testExplicitSnapshotValueCarriesItsGenerationContext covers the binding and the 
fence rejecting a replaced context for a ref.



-- 
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]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to