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() {