This is an automated email from the ASF dual-hosted git repository.

alex-plekhanov pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ignite.git


The following commit(s) were added to refs/heads/master by this push:
     new b4349cb0538 IGNITE-28709 SQL Calcite: Fix flaky 
CancelTest.testNotOriginatorNodeStop (#13168)
b4349cb0538 is described below

commit b4349cb053847efb8f1f32449452db3bcee87463
Author: Aleksey Plekhanov <[email protected]>
AuthorDate: Fri May 29 09:55:07 2026 +0300

    IGNITE-28709 SQL Calcite: Fix flaky CancelTest.testNotOriginatorNodeStop 
(#13168)
---
 .../processors/query/calcite/exec/ExecutionServiceImpl.java         | 5 ++++-
 .../apache/ignite/internal/processors/query/calcite/CancelTest.java | 6 +++++-
 2 files changed, 9 insertions(+), 2 deletions(-)

diff --git 
a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/exec/ExecutionServiceImpl.java
 
b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/exec/ExecutionServiceImpl.java
index f0207a65a1d..19fbeadb463 100644
--- 
a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/exec/ExecutionServiceImpl.java
+++ 
b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/exec/ExecutionServiceImpl.java
@@ -980,7 +980,10 @@ public class ExecutionServiceImpl<Row> extends 
AbstractService implements Execut
                 U.error(log, "Error occurred during send error message: " + 
X.getFullStackTrace(e));
             }
             finally {
-                qryReg.query(msg.queryId()).onError(ex);
+                Query<?> qry = qryReg.query(msg.queryId());
+
+                if (qry != null)
+                    qry.onError(ex);
             }
         }
     }
diff --git 
a/modules/calcite/src/test/java/org/apache/ignite/internal/processors/query/calcite/CancelTest.java
 
b/modules/calcite/src/test/java/org/apache/ignite/internal/processors/query/calcite/CancelTest.java
index c57f4ff77b5..da4dfdd1d87 100644
--- 
a/modules/calcite/src/test/java/org/apache/ignite/internal/processors/query/calcite/CancelTest.java
+++ 
b/modules/calcite/src/test/java/org/apache/ignite/internal/processors/query/calcite/CancelTest.java
@@ -142,8 +142,12 @@ public class CancelTest extends GridCommonAbstractTest {
         // Sometimes remote node during stopping can send error to originator 
node and this error processed before
         // node left event, in this case exception stack will looks like:
         // IgniteSQLException -> RemoteException -> exception on remote node 
during node stop.
+        // Also, remote node can be stopped during processing of 
QueryStartRequest, in this case QueryCloseRequest
+        // with an error will be sent to originator node, this causes query 
cancelation with an IgniteSQLException.
         if (!X.hasCause(ex, "node left", 
ClusterTopologyCheckedException.class) &&
-            !X.hasCause(ex, RemoteException.class)) {
+            !X.hasCause(ex, RemoteException.class) &&
+            !X.hasCause(ex, "The query was cancelled while executing", 
IgniteSQLException.class)
+        ) {
             log.error("Unexpected exception", ex);
 
             fail("Unexpected exception: " + ex);

Reply via email to