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

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


The following commit(s) were added to refs/heads/master by this push:
     new 2f7e99b14ae [IOTDB-6139] Refine Ratis Properties (#11047)
2f7e99b14ae is described below

commit 2f7e99b14ae910df535590114e39537d4a237341
Author: Xiangpeng Hu <[email protected]>
AuthorDate: Wed Sep 6 14:15:05 2023 +0800

    [IOTDB-6139] Refine Ratis Properties (#11047)
---
 .../iotdb/confignode/conf/ConfigNodeConfig.java    | 44 +++++++++++++++++++-
 .../confignode/conf/ConfigNodeDescriptor.java      | 48 ++++++++++++++++++----
 .../manager/consensus/ConsensusManager.java        |  3 ++
 .../iotdb/confignode/manager/node/NodeManager.java |  6 ++-
 .../java/org/apache/iotdb/db/conf/IoTDBConfig.java | 21 ++++++++++
 .../org/apache/iotdb/db/conf/IoTDBDescriptor.java  |  5 +++
 .../db/consensus/SchemaRegionConsensusImpl.java    |  4 ++
 .../resources/conf/iotdb-common.properties         |  4 ++
 .../src/main/thrift/confignode.thrift              |  3 ++
 9 files changed, 127 insertions(+), 11 deletions(-)

diff --git 
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/conf/ConfigNodeConfig.java
 
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/conf/ConfigNodeConfig.java
index 6b99e0da369..0143a0314fe 100644
--- 
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/conf/ConfigNodeConfig.java
+++ 
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/conf/ConfigNodeConfig.java
@@ -220,8 +220,6 @@ public class ConfigNodeConfig {
   /** RatisConsensus protocol, allow flushing Raft Log asynchronously. */
   private boolean dataRegionRatisLogUnsafeFlushEnable = false;
 
-  private int dataRegionRatisLogForceSyncNum = 128;
-
   private boolean configNodeRatisLogUnsafeFlushEnable = false;
   private boolean schemaRegionRatisLogUnsafeFlushEnable = false;
 
@@ -235,8 +233,14 @@ public class ConfigNodeConfig {
   /** RatisConsensus protocol, flow control window for ratis grpc log 
appender. */
   private long dataRegionRatisGrpcFlowControlWindow = 4 * 1024 * 1024L;
 
+  private int configNodeRatisGrpcLeaderOutstandingAppendsMax = 128;
+  private int schemaRegionRatisGrpcLeaderOutstandingAppendsMax = 128;
   private int dataRegionRatisGrpcLeaderOutstandingAppendsMax = 128;
 
+  private int configNodeRatisLogForceSyncNum = 128;
+  private int schemaRegionRatisLogForceSyncNum = 128;
+  private int dataRegionRatisLogForceSyncNum = 128;
+
   private long configNodeRatisGrpcFlowControlWindow = 4 * 1024 * 1024L;
   private long schemaRegionRatisGrpcFlowControlWindow = 4 * 1024 * 1024L;
 
@@ -753,6 +757,22 @@ public class ConfigNodeConfig {
     this.dataRegionRatisLogUnsafeFlushEnable = 
dataRegionRatisLogUnsafeFlushEnable;
   }
 
+  public int getConfigNodeRatisLogForceSyncNum() {
+    return configNodeRatisLogForceSyncNum;
+  }
+
+  public void setConfigNodeRatisLogForceSyncNum(int 
configNodeRatisLogForceSyncNum) {
+    this.configNodeRatisLogForceSyncNum = configNodeRatisLogForceSyncNum;
+  }
+
+  public int getSchemaRegionRatisLogForceSyncNum() {
+    return schemaRegionRatisLogForceSyncNum;
+  }
+
+  public void setSchemaRegionRatisLogForceSyncNum(int 
schemaRegionRatisLogForceSyncNum) {
+    this.schemaRegionRatisLogForceSyncNum = schemaRegionRatisLogForceSyncNum;
+  }
+
   public int getDataRegionRatisLogForceSyncNum() {
     return dataRegionRatisLogForceSyncNum;
   }
@@ -777,6 +797,26 @@ public class ConfigNodeConfig {
     this.dataRegionRatisGrpcFlowControlWindow = 
dataRegionRatisGrpcFlowControlWindow;
   }
 
+  public int getConfigNodeRatisGrpcLeaderOutstandingAppendsMax() {
+    return configNodeRatisGrpcLeaderOutstandingAppendsMax;
+  }
+
+  public void setConfigNodeRatisGrpcLeaderOutstandingAppendsMax(
+      int configNodeRatisGrpcLeaderOutstandingAppendsMax) {
+    this.configNodeRatisGrpcLeaderOutstandingAppendsMax =
+        configNodeRatisGrpcLeaderOutstandingAppendsMax;
+  }
+
+  public int getSchemaRegionRatisGrpcLeaderOutstandingAppendsMax() {
+    return schemaRegionRatisGrpcLeaderOutstandingAppendsMax;
+  }
+
+  public void setSchemaRegionRatisGrpcLeaderOutstandingAppendsMax(
+      int schemaRegionRatisGrpcLeaderOutstandingAppendsMax) {
+    this.schemaRegionRatisGrpcLeaderOutstandingAppendsMax =
+        schemaRegionRatisGrpcLeaderOutstandingAppendsMax;
+  }
+
   public int getDataRegionRatisGrpcLeaderOutstandingAppendsMax() {
     return dataRegionRatisGrpcLeaderOutstandingAppendsMax;
   }
diff --git 
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/conf/ConfigNodeDescriptor.java
 
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/conf/ConfigNodeDescriptor.java
index 4c0faa7bfdb..c3cde6d07b2 100644
--- 
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/conf/ConfigNodeDescriptor.java
+++ 
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/conf/ConfigNodeDescriptor.java
@@ -479,14 +479,6 @@ public class ConfigNodeDescriptor {
                     
String.valueOf(conf.isDataRegionRatisLogUnsafeFlushEnable()))
                 .trim()));
 
-    conf.setDataRegionRatisLogForceSyncNum(
-        Integer.parseInt(
-            properties
-                .getProperty(
-                    "data_region_ratis_log_force_sync_num",
-                    String.valueOf(conf.getDataRegionRatisLogForceSyncNum()))
-                .trim()));
-
     conf.setConfigNodeRatisLogUnsafeFlushEnable(
         Boolean.parseBoolean(
             properties
@@ -567,6 +559,46 @@ public class ConfigNodeDescriptor {
                     
String.valueOf(conf.getDataRegionRatisGrpcLeaderOutstandingAppendsMax()))
                 .trim()));
 
+    conf.setConfigNodeRatisGrpcLeaderOutstandingAppendsMax(
+        Integer.parseInt(
+            properties
+                .getProperty(
+                    "config_node_ratis_grpc_leader_outstanding_appends_max",
+                    
String.valueOf(conf.getConfigNodeRatisGrpcLeaderOutstandingAppendsMax()))
+                .trim()));
+
+    conf.setSchemaRegionRatisGrpcLeaderOutstandingAppendsMax(
+        Integer.parseInt(
+            properties
+                .getProperty(
+                    "schema_region_ratis_grpc_leader_outstanding_appends_max",
+                    
String.valueOf(conf.getSchemaRegionRatisGrpcLeaderOutstandingAppendsMax()))
+                .trim()));
+
+    conf.setDataRegionRatisLogForceSyncNum(
+        Integer.parseInt(
+            properties
+                .getProperty(
+                    "data_region_ratis_log_force_sync_num",
+                    String.valueOf(conf.getDataRegionRatisLogForceSyncNum()))
+                .trim()));
+
+    conf.setConfigNodeRatisLogForceSyncNum(
+        Integer.parseInt(
+            properties
+                .getProperty(
+                    "config_node_ratis_log_force_sync_num",
+                    String.valueOf(conf.getConfigNodeRatisLogForceSyncNum()))
+                .trim()));
+
+    conf.setSchemaRegionRatisLogForceSyncNum(
+        Integer.parseInt(
+            properties
+                .getProperty(
+                    "schema_region_ratis_log_force_sync_num",
+                    String.valueOf(conf.getSchemaRegionRatisLogForceSyncNum()))
+                .trim()));
+
     conf.setDataRegionRatisRpcLeaderElectionTimeoutMinMs(
         Long.parseLong(
             properties
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 744ef7718ea..b0efb9324f4 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
@@ -128,6 +128,7 @@ public class ConsensusManager {
                                   RatisConfig.Log.newBuilder()
                                       .setUnsafeFlushEnabled(
                                           
CONF.isConfigNodeRatisLogUnsafeFlushEnable())
+                                      
.setForceSyncNum(CONF.getConfigNodeRatisLogForceSyncNum())
                                       .setSegmentCacheSizeMax(
                                           SizeInBytes.valueOf(
                                               
CONF.getConfigNodeRatisLogSegmentSizeMax()))
@@ -139,6 +140,8 @@ public class ConsensusManager {
                                       .setFlowControlWindow(
                                           SizeInBytes.valueOf(
                                               
CONF.getConfigNodeRatisGrpcFlowControlWindow()))
+                                      .setLeaderOutstandingAppendsMax(
+                                          
CONF.getConfigNodeRatisGrpcLeaderOutstandingAppendsMax())
                                       .build())
                               .setRpc(
                                   RatisConfig.Rpc.newBuilder()
diff --git 
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/node/NodeManager.java
 
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/node/NodeManager.java
index 2b662573f08..bd718527c7b 100644
--- 
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/node/NodeManager.java
+++ 
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/node/NodeManager.java
@@ -165,7 +165,6 @@ public class NodeManager {
 
     
ratisConfig.setDataLogUnsafeFlushEnable(conf.isDataRegionRatisLogUnsafeFlushEnable());
     
ratisConfig.setSchemaLogUnsafeFlushEnable(conf.isSchemaRegionRatisLogUnsafeFlushEnable());
-    
ratisConfig.setDataRegionLogForceSyncNum(conf.getDataRegionRatisLogForceSyncNum());
 
     
ratisConfig.setDataLogSegmentSizeMax(conf.getDataRegionRatisLogSegmentSizeMax());
     
ratisConfig.setSchemaLogSegmentSizeMax(conf.getSchemaRegionRatisLogSegmentSizeMax());
@@ -174,6 +173,11 @@ public class NodeManager {
     
ratisConfig.setSchemaGrpcFlowControlWindow(conf.getSchemaRegionRatisGrpcFlowControlWindow());
     ratisConfig.setDataRegionGrpcLeaderOutstandingAppendsMax(
         conf.getDataRegionRatisGrpcLeaderOutstandingAppendsMax());
+    ratisConfig.setSchemaRegionGrpcLeaderOutstandingAppendsMax(
+        conf.getSchemaRegionRatisGrpcLeaderOutstandingAppendsMax());
+
+    
ratisConfig.setDataRegionLogForceSyncNum(conf.getDataRegionRatisLogForceSyncNum());
+    
ratisConfig.setSchemaRegionLogForceSyncNum(conf.getSchemaRegionRatisLogForceSyncNum());
 
     ratisConfig.setDataLeaderElectionTimeoutMin(
         conf.getDataRegionRatisRpcLeaderElectionTimeoutMinMs());
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/conf/IoTDBConfig.java 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/conf/IoTDBConfig.java
index b0099f687b0..54a55894ab0 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/conf/IoTDBConfig.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/conf/IoTDBConfig.java
@@ -1008,6 +1008,7 @@ public class IoTDBConfig {
   private boolean schemaRatisConsensusLogUnsafeFlushEnable = false;
 
   private int dataRatisConsensusLogForceSyncNum = 128;
+  private int schemaRatisConsensusLogForceSyncNum = 128;
 
   private long dataRatisConsensusLogSegmentSizeMax = 24 * 1024 * 1024L;
   private long schemaRatisConsensusLogSegmentSizeMax = 24 * 1024 * 1024L;
@@ -1017,6 +1018,8 @@ public class IoTDBConfig {
 
   private int dataRatisConsensusGrpcLeaderOutstandingAppendsMax = 128;
 
+  private int schemaRatisConsensusGrpcLeaderOutstandingAppendsMax = 128;
+
   private long dataRatisConsensusLeaderElectionTimeoutMinMs = 2000L;
   private long schemaRatisConsensusLeaderElectionTimeoutMinMs = 2000L;
 
@@ -3375,6 +3378,14 @@ public class IoTDBConfig {
     this.dataRatisConsensusLogForceSyncNum = dataRatisConsensusLogForceSyncNum;
   }
 
+  public int getSchemaRatisConsensusLogForceSyncNum() {
+    return schemaRatisConsensusLogForceSyncNum;
+  }
+
+  public void setSchemaRatisConsensusLogForceSyncNum(int 
schemaRatisConsensusLogForceSyncNum) {
+    this.schemaRatisConsensusLogForceSyncNum = 
schemaRatisConsensusLogForceSyncNum;
+  }
+
   public long getDataRatisConsensusLogSegmentSizeMax() {
     return dataRatisConsensusLogSegmentSizeMax;
   }
@@ -3402,6 +3413,16 @@ public class IoTDBConfig {
         dataRatisConsensusGrpcLeaderOutstandingAppendsMax;
   }
 
+  public int getSchemaRatisConsensusGrpcLeaderOutstandingAppendsMax() {
+    return schemaRatisConsensusGrpcLeaderOutstandingAppendsMax;
+  }
+
+  public void setSchemaRatisConsensusGrpcLeaderOutstandingAppendsMax(
+      int schemaRatisConsensusGrpcLeaderOutstandingAppendsMax) {
+    this.schemaRatisConsensusGrpcLeaderOutstandingAppendsMax =
+        schemaRatisConsensusGrpcLeaderOutstandingAppendsMax;
+  }
+
   public long getDataRatisConsensusLeaderElectionTimeoutMinMs() {
     return dataRatisConsensusLeaderElectionTimeoutMinMs;
   }
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/conf/IoTDBDescriptor.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/conf/IoTDBDescriptor.java
index 74b23249753..7850bf6b103 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/conf/IoTDBDescriptor.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/conf/IoTDBDescriptor.java
@@ -2109,15 +2109,20 @@ public class IoTDBDescriptor {
 
     
conf.setDataRatisConsensusLogUnsafeFlushEnable(ratisConfig.isDataLogUnsafeFlushEnable());
     
conf.setSchemaRatisConsensusLogUnsafeFlushEnable(ratisConfig.isSchemaLogUnsafeFlushEnable());
+
     
conf.setDataRatisConsensusLogForceSyncNum(ratisConfig.getDataRegionLogForceSyncNum());
+    
conf.setSchemaRatisConsensusLogForceSyncNum(ratisConfig.getSchemaRegionLogForceSyncNum());
 
     
conf.setDataRatisConsensusLogSegmentSizeMax(ratisConfig.getDataLogSegmentSizeMax());
     
conf.setSchemaRatisConsensusLogSegmentSizeMax(ratisConfig.getSchemaLogSegmentSizeMax());
 
     
conf.setDataRatisConsensusGrpcFlowControlWindow(ratisConfig.getDataGrpcFlowControlWindow());
     
conf.setSchemaRatisConsensusGrpcFlowControlWindow(ratisConfig.getSchemaGrpcFlowControlWindow());
+
     conf.setDataRatisConsensusGrpcLeaderOutstandingAppendsMax(
         ratisConfig.getDataRegionGrpcLeaderOutstandingAppendsMax());
+    conf.setSchemaRatisConsensusGrpcLeaderOutstandingAppendsMax(
+        ratisConfig.getSchemaRegionGrpcLeaderOutstandingAppendsMax());
 
     conf.setDataRatisConsensusLeaderElectionTimeoutMinMs(
         ratisConfig.getDataLeaderElectionTimeoutMin());
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 ca1b8a564e8..3fa0ed62ef1 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
@@ -73,6 +73,7 @@ public class SchemaRegionConsensusImpl {
                                 RatisConfig.Log.newBuilder()
                                     .setUnsafeFlushEnabled(
                                         
CONF.isSchemaRatisConsensusLogUnsafeFlushEnable())
+                                    
.setForceSyncNum(CONF.getSchemaRatisConsensusLogForceSyncNum())
                                     .setSegmentSizeMax(
                                         SizeInBytes.valueOf(
                                             
CONF.getSchemaRatisConsensusLogSegmentSizeMax()))
@@ -84,6 +85,9 @@ public class SchemaRegionConsensusImpl {
                                     .setFlowControlWindow(
                                         SizeInBytes.valueOf(
                                             
CONF.getSchemaRatisConsensusGrpcFlowControlWindow()))
+                                    .setLeaderOutstandingAppendsMax(
+                                        CONF
+                                            
.getSchemaRatisConsensusGrpcLeaderOutstandingAppendsMax())
                                     .build())
                             .setRpc(
                                 RatisConfig.Rpc.newBuilder()
diff --git 
a/iotdb-core/node-commons/src/assembly/resources/conf/iotdb-common.properties 
b/iotdb-core/node-commons/src/assembly/resources/conf/iotdb-common.properties
index fb9fe905b14..a8c1773ac7a 100644
--- 
a/iotdb-core/node-commons/src/assembly/resources/conf/iotdb-common.properties
+++ 
b/iotdb-core/node-commons/src/assembly/resources/conf/iotdb-common.properties
@@ -984,7 +984,11 @@ cluster_name=defaultCluster
 # config_node_ratis_grpc_flow_control_window=4194304
 # schema_region_ratis_grpc_flow_control_window=4194304
 # data_region_ratis_grpc_flow_control_window=4194304
+# config_node_ratis_grpc_leader_outstanding_appends_max=128
+# schema_region_ratis_grpc_leader_outstanding_appends_max=128
 # data_region_ratis_grpc_leader_outstanding_appends_max=128
+# config_node_ratis_log_force_sync_num=128
+# schema_region_ratis_log_force_sync_num=128
 # data_region_ratis_log_force_sync_num=128
 
 # min election timeout for leader election
diff --git a/iotdb-protocol/thrift-confignode/src/main/thrift/confignode.thrift 
b/iotdb-protocol/thrift-confignode/src/main/thrift/confignode.thrift
index 1389c322c2e..a19f5536f5f 100644
--- a/iotdb-protocol/thrift-confignode/src/main/thrift/confignode.thrift
+++ b/iotdb-protocol/thrift-confignode/src/main/thrift/confignode.thrift
@@ -85,6 +85,9 @@ struct TRatisConfig {
 
   29: required i32 dataRegionGrpcLeaderOutstandingAppendsMax
   30: required i32 dataRegionLogForceSyncNum
+
+  31: required i32 schemaRegionGrpcLeaderOutstandingAppendsMax
+  32: required i32 schemaRegionLogForceSyncNum
 }
 
 struct TCQConfig {

Reply via email to