You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by sd...@apache.org on 2023/01/27 12:04:12 UTC
[ignite-3] branch main updated: IGNITE-18611 Change Scalecube-related timeouts to Scalecube defaults (#1577)
This is an automated email from the ASF dual-hosted git repository.
sdanilov 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 00517e7b15 IGNITE-18611 Change Scalecube-related timeouts to Scalecube defaults (#1577)
00517e7b15 is described below
commit 00517e7b151f6c093a71978345b4d0ace9ff2ffa
Author: Roman Puchkovskiy <ro...@gmail.com>
AuthorDate: Fri Jan 27 16:04:05 2023 +0400
IGNITE-18611 Change Scalecube-related timeouts to Scalecube defaults (#1577)
---
.../ignite/internal/cli/IntegrationTestBase.java | 35 ++++++++++++++++++----
.../repl/executor/ItIgnitePicocliCommandsTest.java | 5 ++++
.../ClusterMembershipConfigurationSchema.java | 4 +--
.../ScaleCubeConfigurationSchema.java | 6 ++--
.../internal/AbstractClusterIntegrationTest.java | 29 ++++++++++++++----
.../internal/compute/ItLogicalTopologyTest.java | 5 ++++
.../runner/app/ItIgniteNodeRestartTest.java | 9 ++++++
7 files changed, 77 insertions(+), 16 deletions(-)
diff --git a/modules/cli/src/integrationTest/java/org/apache/ignite/internal/cli/IntegrationTestBase.java b/modules/cli/src/integrationTest/java/org/apache/ignite/internal/cli/IntegrationTestBase.java
index f14617ae0e..b809518b6a 100644
--- a/modules/cli/src/integrationTest/java/org/apache/ignite/internal/cli/IntegrationTestBase.java
+++ b/modules/cli/src/integrationTest/java/org/apache/ignite/internal/cli/IntegrationTestBase.java
@@ -92,11 +92,30 @@ public class IntegrationTestBase extends BaseIgniteAbstractTest {
/** Nodes bootstrap configuration pattern. */
private static final String NODE_BOOTSTRAP_CFG = "{\n"
- + " \"network\": {\n"
- + " \"port\":{},\n"
- + " \"portRange\": 5,\n"
- + " \"nodeFinder\":{\n"
- + " \"netClusterNodes\": [ {} ]\n"
+ + " network: {\n"
+ + " port:{},\n"
+ + " portRange: 5,\n"
+ + " nodeFinder:{\n"
+ + " netClusterNodes: [ {} ]\n"
+ + " }\n"
+ + " }\n"
+ + "}";
+
+ /** Template for node bootstrap config with Scalecube settings for fast failure detection. */
+ protected static final String FAST_SWIM_NODE_BOOTSTRAP_CFG_TEMPLATE = "{\n"
+ + " network: {\n"
+ + " port: {},\n"
+ + " nodeFinder: {\n"
+ + " netClusterNodes: [ {} ]\n"
+ + " },\n"
+ + " membership: {\n"
+ + " membershipSyncInterval: 1000,\n"
+ + " failurePingInterval: 500,\n"
+ + " scaleCube: {\n"
+ + " membershipSuspicionMultiplier: 1,\n"
+ + " failurePingRequestMembers: 1,\n"
+ + " gossipInterval: 10\n"
+ + " },\n"
+ " }\n"
+ " }\n"
+ "}";
@@ -201,7 +220,7 @@ public class IntegrationTestBase extends BaseIgniteAbstractTest {
String nodeName = testNodeName(testInfo, i);
CLUSTER_NODE_NAMES.add(nodeName);
- String config = IgniteStringFormatter.format(NODE_BOOTSTRAP_CFG, BASE_PORT + i, connectNodeAddr);
+ String config = IgniteStringFormatter.format(nodeBootstrapConfigTemplate(), BASE_PORT + i, connectNodeAddr);
NODE_CONFIGS.put(nodeName, config);
@@ -210,6 +229,10 @@ public class IntegrationTestBase extends BaseIgniteAbstractTest {
.collect(toList());
}
+ protected String nodeBootstrapConfigTemplate() {
+ return NODE_BOOTSTRAP_CFG;
+ }
+
protected void initializeCluster(String metaStorageNodeName) {
IgnitionManager.init(metaStorageNodeName, List.of(metaStorageNodeName), "cluster");
diff --git a/modules/cli/src/integrationTest/java/org/apache/ignite/internal/cli/core/repl/executor/ItIgnitePicocliCommandsTest.java b/modules/cli/src/integrationTest/java/org/apache/ignite/internal/cli/core/repl/executor/ItIgnitePicocliCommandsTest.java
index e0b2997210..c83347b204 100644
--- a/modules/cli/src/integrationTest/java/org/apache/ignite/internal/cli/core/repl/executor/ItIgnitePicocliCommandsTest.java
+++ b/modules/cli/src/integrationTest/java/org/apache/ignite/internal/cli/core/repl/executor/ItIgnitePicocliCommandsTest.java
@@ -87,6 +87,11 @@ public class ItIgnitePicocliCommandsTest extends CliCommandTestInitializedIntegr
return TopLevelCliReplCommand.class;
}
+ @Override
+ protected String nodeBootstrapConfigTemplate() {
+ return FAST_SWIM_NODE_BOOTSTRAP_CFG_TEMPLATE;
+ }
+
@BeforeEach
@Override
public void setUp(TestInfo testInfo) throws Exception {
diff --git a/modules/network/src/main/java/org/apache/ignite/internal/network/configuration/ClusterMembershipConfigurationSchema.java b/modules/network/src/main/java/org/apache/ignite/internal/network/configuration/ClusterMembershipConfigurationSchema.java
index bfb18e047a..d3add782d8 100644
--- a/modules/network/src/main/java/org/apache/ignite/internal/network/configuration/ClusterMembershipConfigurationSchema.java
+++ b/modules/network/src/main/java/org/apache/ignite/internal/network/configuration/ClusterMembershipConfigurationSchema.java
@@ -28,11 +28,11 @@ import org.apache.ignite.configuration.annotation.Value;
public class ClusterMembershipConfigurationSchema {
/** Periodic membership data sync interval. */
@Value(hasDefault = true)
- public final int membershipSyncInterval = 1000;
+ public final int membershipSyncInterval = 30_000;
/** Failure detector ping interval. */
@Value(hasDefault = true)
- public final int failurePingInterval = 500;
+ public final int failurePingInterval = 1_000;
/** ScaleCube-specific configuration. */
@ConfigValue
diff --git a/modules/network/src/main/java/org/apache/ignite/internal/network/configuration/ScaleCubeConfigurationSchema.java b/modules/network/src/main/java/org/apache/ignite/internal/network/configuration/ScaleCubeConfigurationSchema.java
index 9412a98350..2d10aafbe1 100644
--- a/modules/network/src/main/java/org/apache/ignite/internal/network/configuration/ScaleCubeConfigurationSchema.java
+++ b/modules/network/src/main/java/org/apache/ignite/internal/network/configuration/ScaleCubeConfigurationSchema.java
@@ -30,13 +30,13 @@ public class ScaleCubeConfigurationSchema {
* io.scalecube.cluster.ClusterMath#suspicionTimeout.
*/
@Value(hasDefault = true)
- public final int membershipSuspicionMultiplier = 1;
+ public final int membershipSuspicionMultiplier = 5;
/**
* Number of members to be randomly selected by a cluster node for an indirect ping request.
*/
@Value(hasDefault = true)
- public final int failurePingRequestMembers = 1;
+ public final int failurePingRequestMembers = 3;
/**
* Gossip spreading interval.
@@ -44,5 +44,5 @@ public class ScaleCubeConfigurationSchema {
* @see <a href="https://en.wikipedia.org/wiki/Gossip_protocol">Gossip Protocol</a>
*/
@Value(hasDefault = true)
- public final int gossipInterval = 10;
+ public final int gossipInterval = 200;
}
diff --git a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/AbstractClusterIntegrationTest.java b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/AbstractClusterIntegrationTest.java
index 338972f435..0f18443650 100644
--- a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/AbstractClusterIntegrationTest.java
+++ b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/AbstractClusterIntegrationTest.java
@@ -47,10 +47,29 @@ public abstract class AbstractClusterIntegrationTest extends BaseIgniteAbstractT
/** Nodes bootstrap configuration pattern. */
private static final String NODE_BOOTSTRAP_CFG_TEMPLATE = "{\n"
- + " \"network\": {\n"
- + " \"port\":{},\n"
- + " \"nodeFinder\":{\n"
- + " \"netClusterNodes\": [ {} ]\n"
+ + " network: {\n"
+ + " port: {},\n"
+ + " nodeFinder: {\n"
+ + " netClusterNodes: [ {} ]\n"
+ + " }\n"
+ + " }\n"
+ + "}";
+
+ /** Template for node bootstrap config with Scalecube settings for fast failure detection. */
+ protected static final String FAST_SWIM_NODE_BOOTSTRAP_CFG_TEMPLATE = "{\n"
+ + " network: {\n"
+ + " port: {},\n"
+ + " nodeFinder: {\n"
+ + " netClusterNodes: [ {} ]\n"
+ + " },\n"
+ + " membership: {\n"
+ + " membershipSyncInterval: 1000,\n"
+ + " failurePingInterval: 500,\n"
+ + " scaleCube: {\n"
+ + " membershipSuspicionMultiplier: 1,\n"
+ + " failurePingRequestMembers: 1,\n"
+ + " gossipInterval: 10\n"
+ + " },\n"
+ " }\n"
+ " }\n"
+ "}";
@@ -85,7 +104,7 @@ public abstract class AbstractClusterIntegrationTest extends BaseIgniteAbstractT
@BeforeEach
void startAndInitCluster(TestInfo testInfo) {
- cluster = new Cluster(testInfo, workDir, NODE_BOOTSTRAP_CFG_TEMPLATE);
+ cluster = new Cluster(testInfo, workDir, getNodeBootstrapConfigTemplate());
cluster.startAndInit(initialNodes());
}
diff --git a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/compute/ItLogicalTopologyTest.java b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/compute/ItLogicalTopologyTest.java
index 0964baa022..dc25c73540 100644
--- a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/compute/ItLogicalTopologyTest.java
+++ b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/compute/ItLogicalTopologyTest.java
@@ -62,6 +62,11 @@ class ItLogicalTopologyTest extends AbstractClusterIntegrationTest {
return 1;
}
+ @Override
+ protected String getNodeBootstrapConfigTemplate() {
+ return FAST_SWIM_NODE_BOOTSTRAP_CFG_TEMPLATE;
+ }
+
@Test
void receivesLogicalTopologyEvents() throws Exception {
IgniteImpl entryNode = node(0);
diff --git a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/ItIgniteNodeRestartTest.java b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/ItIgniteNodeRestartTest.java
index 1831f1a14f..0083fe05c5 100644
--- a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/ItIgniteNodeRestartTest.java
+++ b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/ItIgniteNodeRestartTest.java
@@ -142,6 +142,15 @@ public class ItIgniteNodeRestartTest extends IgniteAbstractTest {
private static final String NODE_BOOTSTRAP_CFG = "{\n"
+ " network.port: {},\n"
+ " network.nodeFinder.netClusterNodes: {}\n"
+ + " network.membership: {\n"
+ + " membershipSyncInterval: 1000,\n"
+ + " failurePingInterval: 500,\n"
+ + " scaleCube: {\n"
+ + " membershipSuspicionMultiplier: 1,\n"
+ + " failurePingRequestMembers: 1,\n"
+ + " gossipInterval: 10\n"
+ + " },\n"
+ + " }\n"
+ "}";
@InjectConfiguration