Gabriel39 commented on code in PR #67328:
URL: https://github.com/apache/doris/pull/67328#discussion_r3901425378
##########
fe/fe-core/src/main/java/org/apache/doris/qe/StmtExecutor.java:
##########
@@ -1652,6 +1707,12 @@ public void executeAndSendResult(boolean isOutfileQuery,
boolean isSendFields,
"cancel fragment query_id:{} cause {}",
DebugUtil.printId(context.queryId()), e.getMessage());
LOG.warn(internalErrorSt.getErrorMsg());
+ if (isOutfileQuery && !outfileCommitted) {
+ abortOutfile(coordBase, atomicOutfile);
+ if (outfileMarkerMayExist) {
+ deleteOutfileMarker(outFileClause, outfileMarkerBackend);
+ }
+ }
coordBase.cancel(internalErrorSt);
// set to null so that the retry logic will generate a new
coordinator
this.coord = null;
Review Comment:
Fixed. Atomic OUTFILE now snapshots the query capability before entering the
inner retry loop and immediately propagates RpcException/UserException instead
of starting a new attempt. Ordinary queries and legacy OUTFILE retain the
existing retry path. I added a fault-injection test that enables a retry,
throws RpcException from the actual loop, and verifies that the attempt count
remains one.
--
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]