github-actions[bot] commented on code in PR #67711:
URL: https://github.com/apache/doris/pull/67711#discussion_r3967627508
##########
fe/fe-core/src/main/java/org/apache/doris/datasource/iceberg/action/IcebergRewriteDataFilesAction.java:
##########
@@ -75,8 +76,8 @@ public class IcebergRewriteDataFilesAction extends
BaseIcebergAction {
public IcebergRewriteDataFilesAction(Map<String, String> properties,
Optional<PartitionNamesInfo> partitionNamesInfo,
- Optional<Expression> whereCondition) {
- super("rewrite_data_files", properties, partitionNamesInfo,
whereCondition);
+ Optional<Expression> whereCondition, IcebergMetadataOps
metadataOps) {
+ super("rewrite_data_files", properties, partitionNamesInfo,
whereCondition, metadataOps);
Review Comment:
[P1] Keep `rewrite_data_files` on the captured generation
This is the one mutating action that never consumes the generation fence
added by this constructor: `executeAction` still uses the ordinary cached
`IcebergUtils.getIcebergTable`, and `RewriteDataFileExecutor` later reads
`catalog.getTransactionManager()` twice. If a reset occurs after dispatch
captures ops/authenticator A, the rewrite can plan or create its transaction
from generation B while the command's outer `doAs` is still A; a reset between
the manager reads can also lose the newly allocated transaction. Its final
`transaction.commitTransaction()` therefore retains the cross-generation
authentication problem this PR is fixing, and its broad catch prevents a
pre-mutation generation sentinel from reaching the retry loop. Please carry the
captured ops/table/transaction manager through the rewrite end-to-end, with the
fence outside the catch, and add a deterministic reset test. This is distinct
from the earlier command thread because that fix relies on fenced writable
acquisitio
n, which this action bypasses.
--
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]