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]

Reply via email to