CalvinKirs commented on code in PR #66717:
URL: https://github.com/apache/doris/pull/66717#discussion_r3835777058
##########
fe/fe-core/src/main/java/org/apache/doris/datasource/iceberg/IcebergTransaction.java:
##########
@@ -293,13 +293,13 @@ public void beginDelete(ExternalTable dorisTable, Table
targetTable) throws User
}
private Table createTransactionTable(ExternalTable dorisTable, Table
retainedTable) {
- if (!IcebergSnapshotCacheValue.isFrozenGeneration(retainedTable)) {
+ if (!IcebergSnapshotCacheValue.isRetainedGeneration(retainedTable)) {
return retainedTable;
}
// Reads stay on the retained generation; commit refreshes may follow
data-only snapshots,
// while writer-contract changes still invalidate files produced for
the retained metadata.
return IcebergSnapshotCacheValue.createWritableTable(
- retainedTable, IcebergUtils.getIcebergTable(dorisTable));
+ retainedTable,
IcebergUtils.getWritableIcebergTable(dorisTable));
Review Comment:
Fixed in 8cb50adebc0: IcebergTransaction.createTransactionTable now acquires
the live handle through getWritableIcebergTable(dorisTable, ops) anchored to
the transaction manager's retained ops, so begin/update/commit either run
entirely on the dispatch generation or the acquisition fails retryably when a
reset installed a newer generation; a reinitialized-before-begin catalog can no
longer hand the retained O1/A1 transaction a G2 table. Covered by the
dispatch-generation-anchor regression (current ops accepted, retained stale ops
rejected).
--
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]