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

tanxinyu pushed a commit to branch rel/1.2
in repository https://gitbox.apache.org/repos/asf/iotdb.git


The following commit(s) were added to refs/heads/rel/1.2 by this push:
     new aeef3171edb [RatisConsensus] Unify read timeout to Thrift connection 
timeout (#10876) (#10879)
aeef3171edb is described below

commit aeef3171edb60b9a4e009b92f87e36d8c47f3d7f
Author: William Song <[email protected]>
AuthorDate: Thu Aug 17 10:14:30 2023 +0800

    [RatisConsensus] Unify read timeout to Thrift connection timeout (#10876) 
(#10879)
---
 .../iotdb/confignode/manager/consensus/ConsensusManager.java  | 11 +++++++++++
 .../apache/iotdb/db/consensus/DataRegionConsensusImpl.java    |  8 ++++++++
 .../apache/iotdb/db/consensus/SchemaRegionConsensusImpl.java  |  8 ++++++++
 3 files changed, 27 insertions(+)

diff --git 
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/consensus/ConsensusManager.java
 
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/consensus/ConsensusManager.java
index 740390d902d..6709d487139 100644
--- 
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/consensus/ConsensusManager.java
+++ 
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/consensus/ConsensusManager.java
@@ -23,6 +23,8 @@ import org.apache.iotdb.common.rpc.thrift.TConfigNodeLocation;
 import org.apache.iotdb.common.rpc.thrift.TConsensusGroupType;
 import org.apache.iotdb.common.rpc.thrift.TEndPoint;
 import org.apache.iotdb.common.rpc.thrift.TSStatus;
+import org.apache.iotdb.commons.conf.CommonConfig;
+import org.apache.iotdb.commons.conf.CommonDescriptor;
 import org.apache.iotdb.commons.consensus.ConfigRegionId;
 import org.apache.iotdb.commons.consensus.ConsensusGroupId;
 import org.apache.iotdb.commons.exception.BadNodeUrlException;
@@ -62,6 +64,7 @@ public class ConsensusManager {
 
   private static final Logger LOGGER = 
LoggerFactory.getLogger(ConsensusManager.class);
   private static final ConfigNodeConfig CONF = 
ConfigNodeDescriptor.getInstance().getConf();
+  private static final CommonConfig COMMON_CONF = 
CommonDescriptor.getInstance().getConfig();
   private static final int SEED_CONFIG_NODE_ID = 0;
   /** There is only one ConfigNodeGroup */
   public static final ConsensusGroupId DEFAULT_CONSENSUS_GROUP_ID =
@@ -180,6 +183,14 @@ public class ConsensusManager {
                                   RatisConfig.Impl.newBuilder()
                                       
.setTriggerSnapshotFileSize(CONF.getConfigNodeRatisLogMax())
                                       .build())
+                              .setRead(
+                                  RatisConfig.Read.newBuilder()
+                                      // use thrift connection timeout to 
unify read timeout
+                                      .setReadTimeout(
+                                          TimeDuration.valueOf(
+                                              
COMMON_CONF.getConnectionTimeoutInMS(),
+                                              TimeUnit.MILLISECONDS))
+                                      .build())
                               .build())
                       .setStorageDir(CONF.getConsensusDir())
                       .build(),
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/consensus/DataRegionConsensusImpl.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/consensus/DataRegionConsensusImpl.java
index 1e9ec1722d4..c4eaf0f8bd8 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/consensus/DataRegionConsensusImpl.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/consensus/DataRegionConsensusImpl.java
@@ -185,6 +185,14 @@ public class DataRegionConsensusImpl {
                                       .setBufferByteLimit(
                                           
conf.getDataRatisConsensusLogAppenderBufferSizeMax())
                                       .build())
+                              .setRead(
+                                  RatisConfig.Read.newBuilder()
+                                      // use thrift connection timeout to 
unify read timeout
+                                      .setReadTimeout(
+                                          TimeDuration.valueOf(
+                                              conf.getConnectionTimeoutInMS(),
+                                              TimeUnit.MILLISECONDS))
+                                      .build())
                               .build())
                       .build(),
                   DataRegionConsensusImpl::createDataRegionStateMachine)
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/consensus/SchemaRegionConsensusImpl.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/consensus/SchemaRegionConsensusImpl.java
index a38b9dde4bc..352c76adf95 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/consensus/SchemaRegionConsensusImpl.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/consensus/SchemaRegionConsensusImpl.java
@@ -135,6 +135,14 @@ public class SchemaRegionConsensusImpl {
                                       .setBufferByteLimit(
                                           
conf.getSchemaRatisConsensusLogAppenderBufferSizeMax())
                                       .build())
+                              .setRead(
+                                  RatisConfig.Read.newBuilder()
+                                      // use thrift connection timeout to 
unify read timeout
+                                      .setReadTimeout(
+                                          TimeDuration.valueOf(
+                                              conf.getConnectionTimeoutInMS(),
+                                              TimeUnit.MILLISECONDS))
+                                      .build())
                               .build())
                       .setStorageDir(conf.getSchemaRegionConsensusDir())
                       .build(),

Reply via email to