github-actions[bot] commented on code in PR #69392:
URL: https://github.com/apache/doris/pull/69392#discussion_r4357250839
##########
fe/fe-connector/fe-connector-iceberg/src/main/java/org/apache/doris/connector/iceberg/IcebergConnectorTransaction.java:
##########
@@ -581,10 +585,46 @@ public void addCommitData(byte[] commitFragment) {
throw new DorisConnectorException("failed to deserialize Iceberg
commit data", e);
}
synchronized (this) {
+ checkCommitLocation(data);
Review Comment:
[P2] Fail the FE statement when rejecting a commit location
When this guard rejects a final report (for example, a pre-fix BE reports an
`s3://` delete file for an `oss://` table), throwing here does not fail the
waiting FE statement. `QeProcessorImpl.reportExecStatus` catches the exception
and returns a negative ACK without setting the coordinator error; both
coordinator implementations leave that fragment incomplete and its completion
latch unchanged. BE cleans the files and calls `QueryContext::cancel`, but the
final report was scheduled after all fragment tasks closed, so with no live
sibling there is no subsequent error report to wake FE. The statement waits
until its execution timeout and loses the location error. Propagate this
terminal validation failure into the FE query status and release its waiter
before returning the rejected ACK; cover this with a final-report rejection
test.
--
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]