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]

Reply via email to