valepakh commented on code in PR #4776: URL: https://github.com/apache/ignite-3/pull/4776#discussion_r1856102706
########## 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: > don`t understand what future you are talking about ? On line 141, `CompletableFuture<JobExecutionInternal<R>> future` ########## modules/compute/src/main/java/org/apache/ignite/internal/compute/ComputeJobFailover.java: ########## @@ -84,6 +86,9 @@ class ComputeJobFailover<R> { */ private final RemoteExecutionContext<?, R> jobContext; + /** Cancellation token. */ + @Nullable private final CancellationToken cancellationToken; Review Comment: > i suppose - no, cause ExecutionOptions is passed into execution nodes and if token was passed there - distributed nodes are register redundant token. I don't really understand - you still pass the token everywhere, just manually through the method arguments starting from the `executeOnOneNodeWithFailover`. What am I missing here? -- 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