You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by ap...@apache.org on 2026/02/03 06:52:33 UTC

(ignite-3) branch main updated: IGNITE-27715 Fix testMetastorageRaftSnapshotCompatibility (#7506)

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

apolovtsev 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 332aadac325 IGNITE-27715 Fix testMetastorageRaftSnapshotCompatibility (#7506)
332aadac325 is described below

commit 332aadac325b371261944d8bfe523f914a47a14c
Author: Phillippko <ph...@gmail.com>
AuthorDate: Tue Feb 3 10:52:26 2026 +0400

    IGNITE-27715 Fix testMetastorageRaftSnapshotCompatibility (#7506)
---
 .../ItMetastorageRaftSnapshotCompatibilityTest.java        |  4 +---
 .../ignite/internal/MetastorageRaftCompatibilityTest.java  |  5 +----
 .../org/apache/ignite/internal/CompatibilityTestBase.java  | 14 +++++++++++---
 3 files changed, 13 insertions(+), 10 deletions(-)

diff --git a/modules/compatibility-tests/src/integrationTest/java/org/apache/ignite/internal/ItMetastorageRaftSnapshotCompatibilityTest.java b/modules/compatibility-tests/src/integrationTest/java/org/apache/ignite/internal/ItMetastorageRaftSnapshotCompatibilityTest.java
index a23a1137c08..d03299dfc1e 100644
--- a/modules/compatibility-tests/src/integrationTest/java/org/apache/ignite/internal/ItMetastorageRaftSnapshotCompatibilityTest.java
+++ b/modules/compatibility-tests/src/integrationTest/java/org/apache/ignite/internal/ItMetastorageRaftSnapshotCompatibilityTest.java
@@ -17,7 +17,6 @@
 
 package org.apache.ignite.internal;
 
-import static org.apache.ignite.internal.AssignmentsTestUtils.awaitAssignmentsStabilization;
 import static org.apache.ignite.internal.CompatibilityTestCommon.TABLE_NAME_TEST;
 import static org.apache.ignite.internal.CompatibilityTestCommon.createDefaultTables;
 import static org.apache.ignite.internal.TestWrappers.unwrapIgniteImpl;
@@ -63,9 +62,8 @@ public class ItMetastorageRaftSnapshotCompatibilityTest extends CompatibilityTes
     @Test
     void testMetastorageRaftSnapshotCompatibility() throws InterruptedException {
         cluster.stop();
-        cluster.startEmbedded(2);
 
-        awaitAssignmentsStabilization(node(0), TABLE_NAME_TEST);
+        startEmbeddedClusterAndAwaitRebalance(2);
 
         checkMetastorage();
 
diff --git a/modules/compatibility-tests/src/integrationTest/java/org/apache/ignite/internal/MetastorageRaftCompatibilityTest.java b/modules/compatibility-tests/src/integrationTest/java/org/apache/ignite/internal/MetastorageRaftCompatibilityTest.java
index 67bef025a50..8d9c42e56c0 100644
--- a/modules/compatibility-tests/src/integrationTest/java/org/apache/ignite/internal/MetastorageRaftCompatibilityTest.java
+++ b/modules/compatibility-tests/src/integrationTest/java/org/apache/ignite/internal/MetastorageRaftCompatibilityTest.java
@@ -17,7 +17,6 @@
 
 package org.apache.ignite.internal;
 
-import static org.apache.ignite.internal.AssignmentsTestUtils.awaitAssignmentsStabilization;
 import static org.apache.ignite.internal.CompatibilityTestCommon.TABLE_NAME_TEST;
 import static org.apache.ignite.internal.CompatibilityTestCommon.createDefaultTables;
 import static org.apache.ignite.internal.TestWrappers.unwrapIgniteImpl;
@@ -84,9 +83,7 @@ public class MetastorageRaftCompatibilityTest extends CompatibilityTestBase {
 
     @Test
     void testStreamToFollower() throws InterruptedException {
-        cluster.startEmbedded(2);
-
-        awaitAssignmentsStabilization(node(0), TABLE_NAME_TEST);
+        startEmbeddedClusterAndAwaitRebalance(2);
 
         checkMetastorage();
 
diff --git a/modules/compatibility-tests/src/testFixtures/java/org/apache/ignite/internal/CompatibilityTestBase.java b/modules/compatibility-tests/src/testFixtures/java/org/apache/ignite/internal/CompatibilityTestBase.java
index 8909538e1b4..da9d2a96b43 100644
--- a/modules/compatibility-tests/src/testFixtures/java/org/apache/ignite/internal/CompatibilityTestBase.java
+++ b/modules/compatibility-tests/src/testFixtures/java/org/apache/ignite/internal/CompatibilityTestBase.java
@@ -130,8 +130,7 @@ public abstract class CompatibilityTestBase extends BaseIgniteAbstractTest {
         if (restartWithCurrentEmbeddedVersion()) {
             cluster.stop();
 
-            cluster.startEmbedded(nodesCount);
-            await().until(this::noActiveRebalance, willBe(true));
+            startEmbeddedClusterAndAwaitRebalance(nodesCount);
         }
     }
 
@@ -256,12 +255,21 @@ public abstract class CompatibilityTestBase extends BaseIgniteAbstractTest {
         return false;
     }
 
+    /** Starts an embedded cluster with the given number of nodes and waits for rebalance to complete. */
+    protected void startEmbeddedClusterAndAwaitRebalance(int nodesCount) {
+        cluster.startEmbedded(nodesCount);
+
+        // TODO https://issues.apache.org/jira/browse/IGNITE-27719 SQL queries can fail during rebalance if they try to access partition on
+        //  a wrong node during rebalance.
+        await().until(this::noActiveRebalance, willBe(true));
+    }
+
     /**
      * Checks if there is an active rebalance happening. Does this by checking for pending assignments.
      *
      * @return {@code true} if there are no pending assignments in the metastorage.
      */
-    private CompletableFuture<Boolean> noActiveRebalance() {
+    protected CompletableFuture<Boolean> noActiveRebalance() {
         IgniteImpl node = unwrapIgniteImpl(node(0));
 
         ByteArray prefix = pendingAssignmentsQueuePrefix();