github-actions[bot] commented on code in PR #66717:
URL: https://github.com/apache/doris/pull/66717#discussion_r3836700018
##########
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:
[P1] Carry the generation context through explicit snapshots
This branch now retains the query-scoped G1 table, but it returns only
`Table`; the `IcebergSnapshotCacheValue` constructed below never calls
`bindCapturedAuthenticator`. Both `IcebergExternalTable.loadSnapshot()` and the
HMS-Iceberg sibling wrap that value directly, so after a credential/storage
ALTER `ensurePlannableUnder(A2, ...)` sees `captured == null` and permits the
G1 frozen operations/FileIO to be planned with current A2/storage/P2. The two
bindings added in `IcebergExternalMetaCache.getSnapshotCache()` do not cover
VERSION/TIME or branch/tag relations. Please carry the table and its captured
execution context together here, and add bind -> ALTER/reinitialize -> plan
regressions for an explicit snapshot and 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]