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 1671500d10 IGNITE-20545 Improve logging in AbstractRpcTest (#2717)
1671500d10 is described below

commit 1671500d1091e9ee99fea88948ea883ab16f395e
Author: Alexander Polovtcev <[email protected]>
AuthorDate: Thu Oct 19 20:01:55 2023 +0300

    IGNITE-20545 Improve logging in AbstractRpcTest (#2717)
---
 .../ignite/internal/marshaller/Marshaller.java     |  1 -
 .../ignite/raft/jraft/rpc/IgniteRpcTest.java       | 61 +++++++++-------------
 .../apache/ignite/raft/jraft/test/TestUtils.java   |  2 +-
 3 files changed, 26 insertions(+), 38 deletions(-)

diff --git 
a/modules/marshaller-common/src/main/java/org/apache/ignite/internal/marshaller/Marshaller.java
 
b/modules/marshaller-common/src/main/java/org/apache/ignite/internal/marshaller/Marshaller.java
index f048f6e0d5..fd06c87685 100644
--- 
a/modules/marshaller-common/src/main/java/org/apache/ignite/internal/marshaller/Marshaller.java
+++ 
b/modules/marshaller-common/src/main/java/org/apache/ignite/internal/marshaller/Marshaller.java
@@ -35,7 +35,6 @@ import org.jetbrains.annotations.Nullable;
 
 /**
  * Marshaller.
- * TODO: Reuse this code in ignite-schema module (IGNITE-16088).
  */
 public abstract class Marshaller {
     /**
diff --git 
a/modules/raft/src/test/java/org/apache/ignite/raft/jraft/rpc/IgniteRpcTest.java
 
b/modules/raft/src/test/java/org/apache/ignite/raft/jraft/rpc/IgniteRpcTest.java
index 28bfb4ac35..9dc00685b8 100644
--- 
a/modules/raft/src/test/java/org/apache/ignite/raft/jraft/rpc/IgniteRpcTest.java
+++ 
b/modules/raft/src/test/java/org/apache/ignite/raft/jraft/rpc/IgniteRpcTest.java
@@ -17,12 +17,17 @@
 
 package org.apache.ignite.raft.jraft.rpc;
 
+import static java.util.stream.Collectors.toList;
 import static org.apache.ignite.raft.jraft.test.TestUtils.INIT_PORT;
 
+import java.util.Collection;
 import java.util.Collections;
 import java.util.List;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.atomic.AtomicInteger;
+import org.apache.ignite.internal.logger.IgniteLogger;
+import org.apache.ignite.internal.logger.Loggers;
+import org.apache.ignite.network.ClusterNode;
 import org.apache.ignite.network.ClusterService;
 import org.apache.ignite.network.NetworkAddress;
 import org.apache.ignite.network.StaticNodeFinder;
@@ -40,6 +45,8 @@ import org.junit.jupiter.api.TestInfo;
  * Ignite RPC test.
  */
 public class IgniteRpcTest extends AbstractRpcTest {
+    private static final IgniteLogger LOG = 
Loggers.forClass(IgniteRpcTest.class);
+
     /** The counter. */
     private final AtomicInteger cntr = new AtomicInteger();
 
@@ -54,16 +61,13 @@ public class IgniteRpcTest extends AbstractRpcTest {
         this.testInfo = testInfo;
     }
 
-    /** {@inheritDoc} */
     @AfterEach
-    @Override public void tearDown() {
-        super.tearDown();
-
+    public void shutdownExecutor() {
         ExecutorServiceHelper.shutdownAndAwaitTermination(requestExecutor);
     }
 
-    /** {@inheritDoc} */
-    @Override public RpcServer<?> createServer() {
+    @Override
+    public RpcServer<?> createServer() {
         ClusterService service = ClusterServiceTestUtils.clusterService(
                 testInfo,
                 INIT_PORT,
@@ -87,8 +91,8 @@ public class IgniteRpcTest extends AbstractRpcTest {
         return server;
     }
 
-    /** {@inheritDoc} */
-    @Override public RpcClient createClient0() {
+    @Override
+    public RpcClient createClient0() {
         int i = cntr.incrementAndGet();
 
         ClusterService service = ClusterServiceTestUtils.clusterService(
@@ -112,38 +116,23 @@ public class IgniteRpcTest extends AbstractRpcTest {
         return client;
     }
 
-    /** {@inheritDoc} */
-    @Override protected boolean waitForTopology(RpcClient client, int 
expected, long timeout) {
-        IgniteRpcClient client0 = (IgniteRpcClient) client;
-
-        ClusterService service = client0.clusterService();
+    @Override
+    protected boolean waitForTopology(RpcClient client, int expected, long 
timeout) {
+        ClusterService service = ((IgniteRpcClient) client).clusterService();
 
-        return waitForTopology(service, expected, timeout);
-    }
+        boolean success = TestUtils.waitForTopology(service, expected, 
timeout);
 
-    /**
-     * Waits for the cluster's topology to have the expected count of nodes.
-     *
-     * @param service The service.
-     * @param expected Expected count.
-     * @param timeout The timeout.
-     * @return Wait status.
-     */
-    protected boolean waitForTopology(ClusterService service, int expected, 
long timeout) {
-        long stop = System.currentTimeMillis() + timeout;
-
-        while (System.currentTimeMillis() < stop) {
-            if (service.topologyService().allMembers().size() == expected) {
-                return true;
-            }
+        if (!success) {
+            Collection<ClusterNode> topology = 
service.topologyService().allMembers();
 
-            try {
-                Thread.sleep(50);
-            } catch (InterruptedException e) {
-                return false;
-            }
+            LOG.error("Topology on node '{}' didn't match expected topology 
size. Expected: {}, actual: {}.\nTopology nodes: {}",
+                    service.nodeName(),
+                    expected,
+                    topology.size(),
+                    topology.stream().map(ClusterNode::name).collect(toList())
+            );
         }
 
-        return false;
+        return success;
     }
 }
diff --git 
a/modules/raft/src/testFixtures/java/org/apache/ignite/raft/jraft/test/TestUtils.java
 
b/modules/raft/src/testFixtures/java/org/apache/ignite/raft/jraft/test/TestUtils.java
index 4078382115..7ae84d1325 100644
--- 
a/modules/raft/src/testFixtures/java/org/apache/ignite/raft/jraft/test/TestUtils.java
+++ 
b/modules/raft/src/testFixtures/java/org/apache/ignite/raft/jraft/test/TestUtils.java
@@ -146,7 +146,7 @@ public class TestUtils {
      * @param timeout The timeout in millis.
      * @return {@code True} if topology size is equal to expected.
      */
-    public static boolean waitForTopology(ClusterService cluster, int 
expected, int timeout) {
+    public static boolean waitForTopology(ClusterService cluster, int 
expected, long timeout) {
         return waitForCondition(() -> 
cluster.topologyService().allMembers().size() >= expected, timeout);
     }
 

Reply via email to