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);
}