FrankChen021 commented on code in PR #20825:
URL: https://github.com/apache/druid/pull/20825#discussion_r4467579889
##########
multi-stage-query/src/main/java/org/apache/druid/msq/dart/controller/DartControllerRegistry.java:
##########
@@ -123,6 +132,18 @@ public void stop()
if (cleanupExec != null) {
cleanupExec.shutdown();
}
+
+ final List<ControllerHolder> holders = new
ArrayList<>(controllerMap.values());
+ if (!holders.isEmpty()) {
+ log.info("Canceling [%d] queries that are still running.",
holders.size());
+
+ for (final ControllerHolder holder : holders) {
+ holder.cancel(CancellationReason.TASK_SHUTDOWN, null);
Review Comment:
Reviewed 36 of 36 changed files at the current head. Thanks for the
clarification. The new 10-second `stopWorker` timeout reduces the per-request
wait, but `stop()` still invokes `holder.cancel(...)` serially before
`awaitControllerCompletion(...)`, so N active controllers can spend roughly
N*10 seconds before the 10-second deadline starts, and one can consume it
entirely. I’m keeping this as a current P2 finding; cancellation needs an
end-to-end bounded or concurrent path.
<!-- mergelens:review -->
--
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]