Copilot commented on code in PR #6519: URL: https://github.com/apache/ignite-3/pull/6519#discussion_r2313657594
########## modules/compute/src/main/java/org/apache/ignite/internal/compute/executor/platform/dotnet/DotNetComputeExecutor.java: ########## @@ -102,28 +102,32 @@ public Callable<CompletableFuture<ComputeJobDataHolder>> getJobCallable( * * @param unitPath Paths to deployment units to undeploy. */ - public void beginUndeployUnit(Path unitPath) { + public synchronized void beginUndeployUnit(Path unitPath) { try { String unitPathStr = unitPath.toRealPath().toString(); - getPlatformComputeConnectionWithRetryAsync() - .thenCompose(conn -> conn.connectionFut() - .thenCompose(c -> c.undeployUnitsAsync(List.of(unitPathStr))) - .exceptionally(e -> { - var cause = unwrapCause(e); + if (process == null || isDead(process) || process.connectionFut().isCompletedExceptionally()) { + // Process is not started or already dead, nothing to undeploy. + return; + } Review Comment: Potential NullPointerException on line 109. When `process` is null, calling `process.connectionFut()` will throw a NullPointerException. The null check should be evaluated first and short-circuit the other conditions. -- 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