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

jooger 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 8ae12299955 IGNITE-27984 Sql. Stop the cluster after each test in 
SqlOutdatedPlanTest (#7667)
8ae12299955 is described below

commit 8ae12299955c9b2f075804e5fae45b904edacfde
Author: Pavel Pereslegin <[email protected]>
AuthorDate: Tue Mar 3 16:14:14 2026 +0300

    IGNITE-27984 Sql. Stop the cluster after each test in SqlOutdatedPlanTest 
(#7667)
---
 .../sql/engine/exec/SqlOutdatedPlanTest.java       | 27 +++++++++++++++++++---
 1 file changed, 24 insertions(+), 3 deletions(-)

diff --git 
a/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/exec/SqlOutdatedPlanTest.java
 
b/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/exec/SqlOutdatedPlanTest.java
index f06e0dccf07..65492b069fe 100644
--- 
a/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/exec/SqlOutdatedPlanTest.java
+++ 
b/modules/sql-engine/src/test/java/org/apache/ignite/internal/sql/engine/exec/SqlOutdatedPlanTest.java
@@ -21,13 +21,16 @@ import static 
org.apache.ignite.internal.catalog.CatalogTestUtils.columnParams;
 import static org.apache.ignite.internal.sql.SqlCommon.DEFAULT_SCHEMA_NAME;
 import static org.apache.ignite.internal.testframework.IgniteTestUtils.await;
 import static org.apache.ignite.sql.ColumnType.INT32;
+import static org.hamcrest.CoreMatchers.not;
 import static org.hamcrest.MatcherAssert.assertThat;
+import static org.hamcrest.Matchers.empty;
 import static org.hamcrest.Matchers.is;
 
 import java.util.Collections;
 import java.util.List;
 import java.util.concurrent.CompletableFuture;
 import java.util.concurrent.Semaphore;
+import java.util.concurrent.TimeUnit;
 import java.util.concurrent.atomic.AtomicInteger;
 import java.util.concurrent.atomic.AtomicReference;
 import java.util.stream.Collectors;
@@ -50,8 +53,10 @@ import 
org.apache.ignite.internal.sql.engine.tx.QueryTransactionWrapper;
 import org.apache.ignite.internal.sql.engine.tx.QueryTransactionWrapperImpl;
 import org.apache.ignite.internal.testframework.BaseIgniteAbstractTest;
 import org.apache.ignite.internal.tx.InternalTransaction;
+import org.apache.ignite.internal.util.AsyncCursor.BatchedResult;
 import org.awaitility.Awaitility;
 import org.jetbrains.annotations.Nullable;
+import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
@@ -103,6 +108,11 @@ public class SqlOutdatedPlanTest extends 
BaseIgniteAbstractTest {
         );
     }
 
+    @AfterEach
+    void stopCluster() throws Exception {
+        cluster.stop();
+    }
+
     @ParameterizedTest
     @EnumSource(TxType.class)
     void planningIsRepeatedUsingTheSameTransaction(TxType type) {
@@ -134,13 +144,15 @@ public class SqlOutdatedPlanTest extends 
BaseIgniteAbstractTest {
 
         semaphore2.release();
 
-        await(await(fut).closeAsync());
+        AsyncSqlCursor<InternalSqlRow> cursor = await(fut);
 
         // Planning must be repeated, but only once.
         assertThat(prepareServiceSpy.callsCounter.get(), is(2));
 
         // Transaction should be started only once.
         assertThat(txContext.startedTxCounter.get(), is(1));
+
+        drainAndCloseCursor(cursor);
     }
 
     @Test
@@ -167,13 +179,22 @@ public class SqlOutdatedPlanTest extends 
BaseIgniteAbstractTest {
 
         semaphore.release();
 
-        await(await(fut).closeAsync());
+        AsyncSqlCursor<InternalSqlRow> cursor = await(fut);
 
         // Planning must be repeated, but only once.
         assertThat(prepareServiceSpy.callsCounter.get(), is(2));
 
         // The plan execution must be repeated using a new transaction.
         assertThat(txContext.startedTxCounter.get(), is(2));
+
+        drainAndCloseCursor(cursor);
+    }
+
+    private static void drainAndCloseCursor(AsyncSqlCursor<InternalSqlRow> 
cursor) {
+        BatchedResult<InternalSqlRow> result = 
await(cursor.requestNextAsync(1024));
+        assertThat(result.items(), is(not(empty())));
+        assertThat(result.hasMore(), is(false));
+        await(cursor.closeAsync());
     }
 
     private static CatalogCommand makeAddColumnCommand(String columnName) {
@@ -196,7 +217,7 @@ public class SqlOutdatedPlanTest extends 
BaseIgniteAbstractTest {
                         Semaphore semaphore = prepareBlockHolder.get();
 
                         try {
-                            semaphore.acquire();
+                            semaphore.tryAcquire(10, TimeUnit.SECONDS);
                         } catch (InterruptedException e) {
                             throw new RuntimeException(e);
                         } finally {

Reply via email to