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

amashenkov pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/ignite-3.git


The following commit(s) were added to refs/heads/main by this push:
     new ca8ec52b1b2 IGNITE-25221 Fix incorrect component stopping after test 
completed (#5757)
ca8ec52b1b2 is described below

commit ca8ec52b1b2cb037a23c67eb2c46760d66552600
Author: Andrew V. Mashenkov <[email protected]>
AuthorDate: Mon May 12 12:16:29 2025 +0300

    IGNITE-25221 Fix incorrect component stopping after test completed (#5757)
---
 .../internal/sql/engine/exec/ExecutionServiceImplTest.java    | 11 +----------
 .../internal/sql/engine/exec/rel/AbstractExecutionTest.java   | 11 ++++++++++-
 2 files changed, 11 insertions(+), 11 deletions(-)

diff --git 
a/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/exec/ExecutionServiceImplTest.java
 
b/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/exec/ExecutionServiceImplTest.java
index 194f62d2b96..5b886de4ae6 100644
--- 
a/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/exec/ExecutionServiceImplTest.java
+++ 
b/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/exec/ExecutionServiceImplTest.java
@@ -149,8 +149,6 @@ import 
org.apache.ignite.internal.sql.engine.util.cache.CaffeineCacheFactory;
 import org.apache.ignite.internal.sql.engine.util.cache.StatsCounter;
 import org.apache.ignite.internal.testframework.BaseIgniteAbstractTest;
 import org.apache.ignite.internal.testframework.IgniteTestUtils;
-import 
org.apache.ignite.internal.testframework.failure.FailureManagerExtension;
-import 
org.apache.ignite.internal.testframework.failure.MuteFailureManagerLogging;
 import org.apache.ignite.internal.type.NativeTypes;
 import org.apache.ignite.internal.util.AsyncCursor;
 import org.apache.ignite.internal.util.AsyncCursor.BatchedResult;
@@ -169,7 +167,6 @@ import org.junit.jupiter.api.Named;
 import org.junit.jupiter.api.Tag;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.TestInfo;
-import org.junit.jupiter.api.extension.ExtendWith;
 import org.junit.jupiter.params.ParameterizedTest;
 import org.junit.jupiter.params.provider.Arguments;
 import org.junit.jupiter.params.provider.MethodSource;
@@ -179,9 +176,6 @@ import org.mockito.ArgumentMatchers;
  * Test class to verify {@link ExecutionServiceImplTest}.
  */
 @SuppressWarnings("ThrowableNotThrown")
-@ExtendWith(FailureManagerExtension.class)
-// TODO: https://issues.apache.org/jira/browse/IGNITE-25221 - remove the mute.
-@MuteFailureManagerLogging
 public class ExecutionServiceImplTest extends BaseIgniteAbstractTest {
     /** Tag allows to skip default cluster setup. */
     private static final String CUSTOM_CLUSTER_SETUP_TAG = 
"skipDefaultClusterSetup";
@@ -279,12 +273,9 @@ public class ExecutionServiceImplTest extends 
BaseIgniteAbstractTest {
 
         mailboxes.clear();
 
-        executers.forEach(executer -> {
+        executionServices.forEach(executer -> {
             try {
                 executer.stop();
-
-                assertTrue(executer.awaitTermination(SHUTDOWN_TIMEOUT, 
TimeUnit.MILLISECONDS),
-                        "Not all tasks completed within the specified timeout 
[timeout=" + SHUTDOWN_TIMEOUT + "].");
             } catch (Exception e) {
                 log.error("Unable to stop executor", e);
             }
diff --git 
a/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/exec/rel/AbstractExecutionTest.java
 
b/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/exec/rel/AbstractExecutionTest.java
index c965ac3ca9f..2c0b3fc75d8 100644
--- 
a/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/exec/rel/AbstractExecutionTest.java
+++ 
b/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/exec/rel/AbstractExecutionTest.java
@@ -25,6 +25,7 @@ import static 
org.apache.ignite.internal.lang.IgniteStringFormatter.format;
 import it.unimi.dsi.fastutil.longs.Long2ObjectMaps;
 import java.time.Clock;
 import java.util.ArrayDeque;
+import java.util.ArrayList;
 import java.util.Deque;
 import java.util.Iterator;
 import java.util.List;
@@ -81,6 +82,8 @@ public abstract class AbstractExecutionTest<T> extends 
IgniteAbstractTest {
 
     private QueryTaskExecutorImpl taskExecutor;
 
+    private final List<ExecutionContext<?>> contexts = new ArrayList<>();
+
     @BeforeEach
     public void beforeTest() {
         var failureProcessor = new FailureManager(new NoOpFailureHandler());
@@ -93,6 +96,8 @@ public abstract class AbstractExecutionTest<T> extends 
IgniteAbstractTest {
      */
     @AfterEach
     public void afterTest() {
+        contexts.forEach(ExecutionContext::cancel);
+        contexts.clear();
         taskExecutor.stop();
     }
 
@@ -133,7 +138,7 @@ public abstract class AbstractExecutionTest<T> extends 
IgniteAbstractTest {
 
         FragmentDescription fragmentDesc = getFragmentDescription();
 
-        return new ExecutionContext<>(
+        ExecutionContext<T> executionContext = new ExecutionContext<>(
                 new ExpressionFactoryImpl<>(
                         Commons.typeFactory(), 1024, 
CaffeineCacheFactory.INSTANCE
                 ),
@@ -149,6 +154,10 @@ public abstract class AbstractExecutionTest<T> extends 
IgniteAbstractTest {
                 bufferSize,
                 Clock.systemUTC()
         );
+
+        contexts.add(executionContext);
+
+        return executionContext;
     }
 
     protected FragmentDescription getFragmentDescription() {

Reply via email to