valepakh commented on code in PR #4776: URL: https://github.com/apache/ignite-3/pull/4776#discussion_r1856469550
########## modules/compute/src/main/java/org/apache/ignite/internal/compute/ComputeComponentImpl.java: ########## @@ -145,6 +150,14 @@ public <I, R> JobExecution<R> executeLocally( inFlightFutures.registerFuture(future); JobExecution<R> result = new DelegatingJobExecution<>(future); + + if (cancellationToken != null) { + CancelHandleHelper.addCancelAction(cancellationToken, () -> classLoaderFut + .cancel(true), classLoaderFut); Review Comment: > i think - if "cancelAsync" implemented correctly - no need in such a case. It's not clear to me why we need to cancel the `classLoaderFut` in this case separately? Currently we store the `future` in the `inFlightFutures` list to cancel them during the node stop. If you want the cancel handle to work just like `ComputeJob.cancelAsync`, then I don't see a point in cancelling only one future. -- 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: notifications-unsubscr...@ignite.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org