You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by ca...@apache.org on 2022/10/26 04:38:21 UTC
[iotdb] branch beyyes/confignode_standalone updated (531f8b3533 -> 8bedde9898)
This is an automated email from the ASF dual-hosted git repository.
caogaofei pushed a change to branch beyyes/confignode_standalone
in repository https://gitbox.apache.org/repos/asf/iotdb.git
from 531f8b3533 [IOTDB-4732] Optimize client borrow logic in ClusterIT environment (#7713)
new 23399bd08b add confignode standaloe for ConsensusManager
new 8bedde9898 add confignode standaloe for ConsensusManager
The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
.../iotdb/confignode/conf/ConfigNodeConfig.java | 10 ++
.../confignode/conf/ConfigNodeDescriptor.java | 6 +
.../iotdb/confignode/manager/ConsensusManager.java | 180 ++++++++++++---------
3 files changed, 116 insertions(+), 80 deletions(-)
[iotdb] 01/02: add confignode standaloe for ConsensusManager
Posted by ca...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
caogaofei pushed a commit to branch beyyes/confignode_standalone
in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit 23399bd08b2d367924fa5d776deb0b076952f97b
Author: Beyyes <cg...@foxmail.com>
AuthorDate: Wed Oct 26 12:37:26 2022 +0800
add confignode standaloe for ConsensusManager
---
.../iotdb/confignode/conf/ConfigNodeConfig.java | 10 ++
.../confignode/conf/ConfigNodeDescriptor.java | 6 +
.../iotdb/confignode/manager/ConsensusManager.java | 179 ++++++++++++---------
3 files changed, 115 insertions(+), 80 deletions(-)
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/conf/ConfigNodeConfig.java b/confignode/src/main/java/org/apache/iotdb/confignode/conf/ConfigNodeConfig.java
index 9ebb791180..0140966019 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/conf/ConfigNodeConfig.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/conf/ConfigNodeConfig.java
@@ -169,6 +169,7 @@ public class ConfigNodeConfig {
private long partitionRegionRatisLogSegmentSizeMax = 24 * 1024 * 1024L;
private long schemaRegionRatisLogSegmentSizeMax = 24 * 1024 * 1024L;
+ private long partitionRegionStandAloneLogSegmentSizeMax = 24 * 1024 * 1024L;
/** RatisConsensus protocol, flow control window for ratis grpc log appender */
private long dataRegionRatisGrpcFlowControlWindow = 4 * 1024 * 1024L;
@@ -695,6 +696,15 @@ public class ConfigNodeConfig {
this.schemaRegionRatisLogSegmentSizeMax = schemaRegionRatisLogSegmentSizeMax;
}
+ public long getPartitionRegionStandAloneLogSegmentSizeMax() {
+ return partitionRegionStandAloneLogSegmentSizeMax;
+ }
+
+ public void setPartitionRegionStandAloneLogSegmentSizeMax(
+ long partitionRegionStandAloneLogSegmentSizeMax) {
+ this.partitionRegionStandAloneLogSegmentSizeMax = partitionRegionStandAloneLogSegmentSizeMax;
+ }
+
public long getSchemaRegionRatisGrpcFlowControlWindow() {
return schemaRegionRatisGrpcFlowControlWindow;
}
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/conf/ConfigNodeDescriptor.java b/confignode/src/main/java/org/apache/iotdb/confignode/conf/ConfigNodeDescriptor.java
index d3aa2a66cd..ed4142ce97 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/conf/ConfigNodeDescriptor.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/conf/ConfigNodeDescriptor.java
@@ -356,6 +356,12 @@ public class ConfigNodeDescriptor {
"schema_region_ratis_log_segment_size_max",
String.valueOf(conf.getSchemaRegionRatisLogSegmentSizeMax()))));
+ conf.setPartitionRegionStandAloneLogSegmentSizeMax(
+ Long.parseLong(
+ properties.getProperty(
+ "partition_region_standalone_log_segment_size_max",
+ String.valueOf(conf.getPartitionRegionStandAloneLogSegmentSizeMax()))));
+
conf.setDataRegionRatisGrpcFlowControlWindow(
Long.parseLong(
properties.getProperty(
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/manager/ConsensusManager.java b/confignode/src/main/java/org/apache/iotdb/confignode/manager/ConsensusManager.java
index bc266bd89e..0e7c9f9bf5 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/manager/ConsensusManager.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/manager/ConsensusManager.java
@@ -79,86 +79,105 @@ public class ConsensusManager {
// There is only one ConfigNodeGroup
consensusGroupId = new PartitionRegionId(CONF.getPartitionRegionId());
- // Implement local ConsensusLayer by ConfigNodeConfig
- consensusImpl =
- ConsensusFactory.getConsensusImpl(
- CONF.getConfigNodeConsensusProtocolClass(),
- ConsensusConfig.newBuilder()
- .setThisNodeId(CONF.getConfigNodeId())
- .setThisNode(new TEndPoint(CONF.getInternalAddress(), CONF.getConsensusPort()))
- .setRatisConfig(
- RatisConfig.newBuilder()
- .setLeaderLogAppender(
- RatisConfig.LeaderLogAppender.newBuilder()
- .setBufferByteLimit(
- CONF
- .getPartitionRegionRatisConsensusLogAppenderBufferSize())
- .build())
- .setSnapshot(
- RatisConfig.Snapshot.newBuilder()
- .setAutoTriggerThreshold(
- CONF.getPartitionRegionRatisSnapshotTriggerThreshold())
- .build())
- .setLog(
- RatisConfig.Log.newBuilder()
- .setUnsafeFlushEnabled(
- CONF.isPartitionRegionRatisLogUnsafeFlushEnable())
- .setSegmentCacheSizeMax(
- SizeInBytes.valueOf(
- CONF.getPartitionRegionRatisLogSegmentSizeMax()))
- .build())
- .setGrpc(
- RatisConfig.Grpc.newBuilder()
- .setFlowControlWindow(
- SizeInBytes.valueOf(
- CONF.getPartitionRegionRatisGrpcFlowControlWindow()))
- .build())
- .setRpc(
- RatisConfig.Rpc.newBuilder()
- .setTimeoutMin(
- TimeDuration.valueOf(
- CONF
- .getPartitionRegionRatisRpcLeaderElectionTimeoutMinMs(),
- TimeUnit.MILLISECONDS))
- .setTimeoutMax(
- TimeDuration.valueOf(
- CONF
- .getPartitionRegionRatisRpcLeaderElectionTimeoutMaxMs(),
- TimeUnit.MILLISECONDS))
- .setRequestTimeout(
- TimeDuration.valueOf(
- CONF.getPartitionRegionRatisRequestTimeoutMs(),
- TimeUnit.MILLISECONDS))
- .setFirstElectionTimeoutMin(
- TimeDuration.valueOf(
- CONF.getRatisFirstElectionTimeoutMinMs(),
- TimeUnit.MILLISECONDS))
- .setFirstElectionTimeoutMax(
- TimeDuration.valueOf(
- CONF.getRatisFirstElectionTimeoutMaxMs(),
- TimeUnit.MILLISECONDS))
- .build())
- .setRatisConsensus(
- RatisConfig.RatisConsensus.newBuilder()
- .setClientRequestTimeoutMillis(
- CONF.getPartitionRegionRatisRequestTimeoutMs())
- .setClientMaxRetryAttempt(
- CONF.getPartitionRegionRatisMaxRetryAttempts())
- .setClientRetryInitialSleepTimeMs(
- CONF.getPartitionRegionRatisInitialSleepTimeMs())
- .setClientRetryMaxSleepTimeMs(
- CONF.getPartitionRegionRatisMaxSleepTimeMs())
- .build())
- .build())
- .setStorageDir(CONF.getConsensusDir())
- .build(),
- gid -> stateMachine)
- .orElseThrow(
- () ->
- new IllegalArgumentException(
- String.format(
- ConsensusFactory.CONSTRUCT_FAILED_MSG,
- CONF.getConfigNodeConsensusProtocolClass())));
+ if (ConsensusFactory.StandAloneConsensus.equals(CONF.getConfigNodeConsensusProtocolClass())) {
+ consensusImpl =
+ ConsensusFactory.getConsensusImpl(
+ ConsensusFactory.StandAloneConsensus,
+ ConsensusConfig.newBuilder()
+ .setThisNode(
+ new TEndPoint(CONF.getInternalAddress(), CONF.getConsensusPort()))
+ .setStorageDir("target" + java.io.File.separator + "standalone")
+ .build(),
+ gid -> stateMachine)
+ .orElseThrow(
+ () ->
+ new IllegalArgumentException(
+ String.format(
+ ConsensusFactory.CONSTRUCT_FAILED_MSG,
+ ConsensusFactory.StandAloneConsensus)));
+ } else {
+
+ // Implement local ConsensusLayer by ConfigNodeConfig
+ consensusImpl =
+ ConsensusFactory.getConsensusImpl(
+ CONF.getConfigNodeConsensusProtocolClass(),
+ ConsensusConfig.newBuilder()
+ .setThisNodeId(CONF.getConfigNodeId())
+ .setThisNode(new TEndPoint(CONF.getInternalAddress(), CONF.getConsensusPort()))
+ .setRatisConfig(
+ RatisConfig.newBuilder()
+ .setLeaderLogAppender(
+ RatisConfig.LeaderLogAppender.newBuilder()
+ .setBufferByteLimit(
+ CONF
+ .getPartitionRegionRatisConsensusLogAppenderBufferSize())
+ .build())
+ .setSnapshot(
+ RatisConfig.Snapshot.newBuilder()
+ .setAutoTriggerThreshold(
+ CONF.getPartitionRegionRatisSnapshotTriggerThreshold())
+ .build())
+ .setLog(
+ RatisConfig.Log.newBuilder()
+ .setUnsafeFlushEnabled(
+ CONF.isPartitionRegionRatisLogUnsafeFlushEnable())
+ .setSegmentCacheSizeMax(
+ SizeInBytes.valueOf(
+ CONF.getPartitionRegionRatisLogSegmentSizeMax()))
+ .build())
+ .setGrpc(
+ RatisConfig.Grpc.newBuilder()
+ .setFlowControlWindow(
+ SizeInBytes.valueOf(
+ CONF.getPartitionRegionRatisGrpcFlowControlWindow()))
+ .build())
+ .setRpc(
+ RatisConfig.Rpc.newBuilder()
+ .setTimeoutMin(
+ TimeDuration.valueOf(
+ CONF
+ .getPartitionRegionRatisRpcLeaderElectionTimeoutMinMs(),
+ TimeUnit.MILLISECONDS))
+ .setTimeoutMax(
+ TimeDuration.valueOf(
+ CONF
+ .getPartitionRegionRatisRpcLeaderElectionTimeoutMaxMs(),
+ TimeUnit.MILLISECONDS))
+ .setRequestTimeout(
+ TimeDuration.valueOf(
+ CONF.getPartitionRegionRatisRequestTimeoutMs(),
+ TimeUnit.MILLISECONDS))
+ .setFirstElectionTimeoutMin(
+ TimeDuration.valueOf(
+ CONF.getRatisFirstElectionTimeoutMinMs(),
+ TimeUnit.MILLISECONDS))
+ .setFirstElectionTimeoutMax(
+ TimeDuration.valueOf(
+ CONF.getRatisFirstElectionTimeoutMaxMs(),
+ TimeUnit.MILLISECONDS))
+ .build())
+ .setRatisConsensus(
+ RatisConfig.RatisConsensus.newBuilder()
+ .setClientRequestTimeoutMillis(
+ CONF.getPartitionRegionRatisRequestTimeoutMs())
+ .setClientMaxRetryAttempt(
+ CONF.getPartitionRegionRatisMaxRetryAttempts())
+ .setClientRetryInitialSleepTimeMs(
+ CONF.getPartitionRegionRatisInitialSleepTimeMs())
+ .setClientRetryMaxSleepTimeMs(
+ CONF.getPartitionRegionRatisMaxSleepTimeMs())
+ .build())
+ .build())
+ .setStorageDir(CONF.getConsensusDir())
+ .build(),
+ gid -> stateMachine)
+ .orElseThrow(
+ () ->
+ new IllegalArgumentException(
+ String.format(
+ ConsensusFactory.CONSTRUCT_FAILED_MSG,
+ CONF.getConfigNodeConsensusProtocolClass())));
+ }
consensusImpl.start();
if (SystemPropertiesUtils.isRestarted()) {
[iotdb] 02/02: add confignode standaloe for ConsensusManager
Posted by ca...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
caogaofei pushed a commit to branch beyyes/confignode_standalone
in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit 8bedde98988a707d8a52a47492d1685b596bc977
Author: Beyyes <cg...@foxmail.com>
AuthorDate: Wed Oct 26 12:38:06 2022 +0800
add confignode standaloe for ConsensusManager
---
.../iotdb/confignode/conf/ConfigNodeConfig.java | 2 +-
.../confignode/conf/ConfigNodeDescriptor.java | 8 +-
.../iotdb/confignode/manager/ConsensusManager.java | 185 +++++++++++----------
3 files changed, 98 insertions(+), 97 deletions(-)
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/conf/ConfigNodeConfig.java b/confignode/src/main/java/org/apache/iotdb/confignode/conf/ConfigNodeConfig.java
index 0140966019..18c09b2e74 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/conf/ConfigNodeConfig.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/conf/ConfigNodeConfig.java
@@ -701,7 +701,7 @@ public class ConfigNodeConfig {
}
public void setPartitionRegionStandAloneLogSegmentSizeMax(
- long partitionRegionStandAloneLogSegmentSizeMax) {
+ long partitionRegionStandAloneLogSegmentSizeMax) {
this.partitionRegionStandAloneLogSegmentSizeMax = partitionRegionStandAloneLogSegmentSizeMax;
}
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/conf/ConfigNodeDescriptor.java b/confignode/src/main/java/org/apache/iotdb/confignode/conf/ConfigNodeDescriptor.java
index ed4142ce97..039774db19 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/conf/ConfigNodeDescriptor.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/conf/ConfigNodeDescriptor.java
@@ -357,10 +357,10 @@ public class ConfigNodeDescriptor {
String.valueOf(conf.getSchemaRegionRatisLogSegmentSizeMax()))));
conf.setPartitionRegionStandAloneLogSegmentSizeMax(
- Long.parseLong(
- properties.getProperty(
- "partition_region_standalone_log_segment_size_max",
- String.valueOf(conf.getPartitionRegionStandAloneLogSegmentSizeMax()))));
+ Long.parseLong(
+ properties.getProperty(
+ "partition_region_standalone_log_segment_size_max",
+ String.valueOf(conf.getPartitionRegionStandAloneLogSegmentSizeMax()))));
conf.setDataRegionRatisGrpcFlowControlWindow(
Long.parseLong(
diff --git a/confignode/src/main/java/org/apache/iotdb/confignode/manager/ConsensusManager.java b/confignode/src/main/java/org/apache/iotdb/confignode/manager/ConsensusManager.java
index 0e7c9f9bf5..bd28a45680 100644
--- a/confignode/src/main/java/org/apache/iotdb/confignode/manager/ConsensusManager.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/manager/ConsensusManager.java
@@ -81,102 +81,103 @@ public class ConsensusManager {
if (ConsensusFactory.StandAloneConsensus.equals(CONF.getConfigNodeConsensusProtocolClass())) {
consensusImpl =
- ConsensusFactory.getConsensusImpl(
- ConsensusFactory.StandAloneConsensus,
- ConsensusConfig.newBuilder()
- .setThisNode(
- new TEndPoint(CONF.getInternalAddress(), CONF.getConsensusPort()))
- .setStorageDir("target" + java.io.File.separator + "standalone")
- .build(),
- gid -> stateMachine)
- .orElseThrow(
- () ->
- new IllegalArgumentException(
- String.format(
- ConsensusFactory.CONSTRUCT_FAILED_MSG,
- ConsensusFactory.StandAloneConsensus)));
+ ConsensusFactory.getConsensusImpl(
+ ConsensusFactory.StandAloneConsensus,
+ ConsensusConfig.newBuilder()
+ .setThisNode(
+ new TEndPoint(CONF.getInternalAddress(), CONF.getConsensusPort()))
+ .setStorageDir("target" + java.io.File.separator + "standalone")
+ .build(),
+ gid -> stateMachine)
+ .orElseThrow(
+ () ->
+ new IllegalArgumentException(
+ String.format(
+ ConsensusFactory.CONSTRUCT_FAILED_MSG,
+ ConsensusFactory.StandAloneConsensus)));
} else {
// Implement local ConsensusLayer by ConfigNodeConfig
consensusImpl =
- ConsensusFactory.getConsensusImpl(
- CONF.getConfigNodeConsensusProtocolClass(),
- ConsensusConfig.newBuilder()
- .setThisNodeId(CONF.getConfigNodeId())
- .setThisNode(new TEndPoint(CONF.getInternalAddress(), CONF.getConsensusPort()))
- .setRatisConfig(
- RatisConfig.newBuilder()
- .setLeaderLogAppender(
- RatisConfig.LeaderLogAppender.newBuilder()
- .setBufferByteLimit(
- CONF
- .getPartitionRegionRatisConsensusLogAppenderBufferSize())
- .build())
- .setSnapshot(
- RatisConfig.Snapshot.newBuilder()
- .setAutoTriggerThreshold(
- CONF.getPartitionRegionRatisSnapshotTriggerThreshold())
- .build())
- .setLog(
- RatisConfig.Log.newBuilder()
- .setUnsafeFlushEnabled(
- CONF.isPartitionRegionRatisLogUnsafeFlushEnable())
- .setSegmentCacheSizeMax(
- SizeInBytes.valueOf(
- CONF.getPartitionRegionRatisLogSegmentSizeMax()))
- .build())
- .setGrpc(
- RatisConfig.Grpc.newBuilder()
- .setFlowControlWindow(
- SizeInBytes.valueOf(
- CONF.getPartitionRegionRatisGrpcFlowControlWindow()))
- .build())
- .setRpc(
- RatisConfig.Rpc.newBuilder()
- .setTimeoutMin(
- TimeDuration.valueOf(
- CONF
- .getPartitionRegionRatisRpcLeaderElectionTimeoutMinMs(),
- TimeUnit.MILLISECONDS))
- .setTimeoutMax(
- TimeDuration.valueOf(
- CONF
- .getPartitionRegionRatisRpcLeaderElectionTimeoutMaxMs(),
- TimeUnit.MILLISECONDS))
- .setRequestTimeout(
- TimeDuration.valueOf(
- CONF.getPartitionRegionRatisRequestTimeoutMs(),
- TimeUnit.MILLISECONDS))
- .setFirstElectionTimeoutMin(
- TimeDuration.valueOf(
- CONF.getRatisFirstElectionTimeoutMinMs(),
- TimeUnit.MILLISECONDS))
- .setFirstElectionTimeoutMax(
- TimeDuration.valueOf(
- CONF.getRatisFirstElectionTimeoutMaxMs(),
- TimeUnit.MILLISECONDS))
- .build())
- .setRatisConsensus(
- RatisConfig.RatisConsensus.newBuilder()
- .setClientRequestTimeoutMillis(
- CONF.getPartitionRegionRatisRequestTimeoutMs())
- .setClientMaxRetryAttempt(
- CONF.getPartitionRegionRatisMaxRetryAttempts())
- .setClientRetryInitialSleepTimeMs(
- CONF.getPartitionRegionRatisInitialSleepTimeMs())
- .setClientRetryMaxSleepTimeMs(
- CONF.getPartitionRegionRatisMaxSleepTimeMs())
- .build())
- .build())
- .setStorageDir(CONF.getConsensusDir())
- .build(),
- gid -> stateMachine)
- .orElseThrow(
- () ->
- new IllegalArgumentException(
- String.format(
- ConsensusFactory.CONSTRUCT_FAILED_MSG,
- CONF.getConfigNodeConsensusProtocolClass())));
+ ConsensusFactory.getConsensusImpl(
+ CONF.getConfigNodeConsensusProtocolClass(),
+ ConsensusConfig.newBuilder()
+ .setThisNodeId(CONF.getConfigNodeId())
+ .setThisNode(
+ new TEndPoint(CONF.getInternalAddress(), CONF.getConsensusPort()))
+ .setRatisConfig(
+ RatisConfig.newBuilder()
+ .setLeaderLogAppender(
+ RatisConfig.LeaderLogAppender.newBuilder()
+ .setBufferByteLimit(
+ CONF
+ .getPartitionRegionRatisConsensusLogAppenderBufferSize())
+ .build())
+ .setSnapshot(
+ RatisConfig.Snapshot.newBuilder()
+ .setAutoTriggerThreshold(
+ CONF.getPartitionRegionRatisSnapshotTriggerThreshold())
+ .build())
+ .setLog(
+ RatisConfig.Log.newBuilder()
+ .setUnsafeFlushEnabled(
+ CONF.isPartitionRegionRatisLogUnsafeFlushEnable())
+ .setSegmentCacheSizeMax(
+ SizeInBytes.valueOf(
+ CONF.getPartitionRegionRatisLogSegmentSizeMax()))
+ .build())
+ .setGrpc(
+ RatisConfig.Grpc.newBuilder()
+ .setFlowControlWindow(
+ SizeInBytes.valueOf(
+ CONF.getPartitionRegionRatisGrpcFlowControlWindow()))
+ .build())
+ .setRpc(
+ RatisConfig.Rpc.newBuilder()
+ .setTimeoutMin(
+ TimeDuration.valueOf(
+ CONF
+ .getPartitionRegionRatisRpcLeaderElectionTimeoutMinMs(),
+ TimeUnit.MILLISECONDS))
+ .setTimeoutMax(
+ TimeDuration.valueOf(
+ CONF
+ .getPartitionRegionRatisRpcLeaderElectionTimeoutMaxMs(),
+ TimeUnit.MILLISECONDS))
+ .setRequestTimeout(
+ TimeDuration.valueOf(
+ CONF.getPartitionRegionRatisRequestTimeoutMs(),
+ TimeUnit.MILLISECONDS))
+ .setFirstElectionTimeoutMin(
+ TimeDuration.valueOf(
+ CONF.getRatisFirstElectionTimeoutMinMs(),
+ TimeUnit.MILLISECONDS))
+ .setFirstElectionTimeoutMax(
+ TimeDuration.valueOf(
+ CONF.getRatisFirstElectionTimeoutMaxMs(),
+ TimeUnit.MILLISECONDS))
+ .build())
+ .setRatisConsensus(
+ RatisConfig.RatisConsensus.newBuilder()
+ .setClientRequestTimeoutMillis(
+ CONF.getPartitionRegionRatisRequestTimeoutMs())
+ .setClientMaxRetryAttempt(
+ CONF.getPartitionRegionRatisMaxRetryAttempts())
+ .setClientRetryInitialSleepTimeMs(
+ CONF.getPartitionRegionRatisInitialSleepTimeMs())
+ .setClientRetryMaxSleepTimeMs(
+ CONF.getPartitionRegionRatisMaxSleepTimeMs())
+ .build())
+ .build())
+ .setStorageDir(CONF.getConsensusDir())
+ .build(),
+ gid -> stateMachine)
+ .orElseThrow(
+ () ->
+ new IllegalArgumentException(
+ String.format(
+ ConsensusFactory.CONSTRUCT_FAILED_MSG,
+ CONF.getConfigNodeConsensusProtocolClass())));
}
consensusImpl.start();