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

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


The following commit(s) were added to refs/heads/dev/1.3 by this push:
     new f2608280621 Fixed bug where Ratis could not write large requests and 
could not be configured (#14160) (#14166)
f2608280621 is described below

commit f2608280621c6be86db9b23c2dc91c3149c4c4b5
Author: Potato <tanxi...@apache.org>
AuthorDate: Thu Nov 21 19:52:09 2024 +0800

    Fixed bug where Ratis could not write large requests and could not be 
configured (#14160) (#14166)
---
 .../apache/iotdb/consensus/config/RatisConfig.java | 28 ----------------------
 .../apache/iotdb/consensus/ratis/utils/Utils.java  | 23 +++++++++++-------
 2 files changed, 15 insertions(+), 36 deletions(-)

diff --git 
a/iotdb-core/consensus/src/main/java/org/apache/iotdb/consensus/config/RatisConfig.java
 
b/iotdb-core/consensus/src/main/java/org/apache/iotdb/consensus/config/RatisConfig.java
index 220514a5a09..3bb4e64e490 100644
--- 
a/iotdb-core/consensus/src/main/java/org/apache/iotdb/consensus/config/RatisConfig.java
+++ 
b/iotdb-core/consensus/src/main/java/org/apache/iotdb/consensus/config/RatisConfig.java
@@ -541,8 +541,6 @@ public class RatisConfig {
   public static class Log {
 
     private final boolean useMemory;
-    private final int queueElementLimit;
-    private final SizeInBytes queueByteLimit;
     private final int purgeGap;
     private final boolean purgeUptoSnapshotIndex;
     private final long preserveNumsWhenPurge;
@@ -555,8 +553,6 @@ public class RatisConfig {
 
     private Log(
         boolean useMemory,
-        int queueElementLimit,
-        SizeInBytes queueByteLimit,
         int purgeGap,
         boolean purgeUptoSnapshotIndex,
         long preserveNumsWhenPurge,
@@ -567,8 +563,6 @@ public class RatisConfig {
         int forceSyncNum,
         boolean unsafeFlushEnabled) {
       this.useMemory = useMemory;
-      this.queueElementLimit = queueElementLimit;
-      this.queueByteLimit = queueByteLimit;
       this.purgeGap = purgeGap;
       this.purgeUptoSnapshotIndex = purgeUptoSnapshotIndex;
       this.preserveNumsWhenPurge = preserveNumsWhenPurge;
@@ -584,14 +578,6 @@ public class RatisConfig {
       return useMemory;
     }
 
-    public int getQueueElementLimit() {
-      return queueElementLimit;
-    }
-
-    public SizeInBytes getQueueByteLimit() {
-      return queueByteLimit;
-    }
-
     public int getPurgeGap() {
       return purgeGap;
     }
@@ -635,8 +621,6 @@ public class RatisConfig {
     public static class Builder {
 
       private boolean useMemory = false;
-      private int queueElementLimit = 4096;
-      private SizeInBytes queueByteLimit = SizeInBytes.valueOf("64MB");
       private int purgeGap = 1024;
       private boolean purgeUptoSnapshotIndex = true;
       private long preserveNumsWhenPurge = 1000;
@@ -650,8 +634,6 @@ public class RatisConfig {
       public Log build() {
         return new Log(
             useMemory,
-            queueElementLimit,
-            queueByteLimit,
             purgeGap,
             purgeUptoSnapshotIndex,
             preserveNumsWhenPurge,
@@ -668,16 +650,6 @@ public class RatisConfig {
         return this;
       }
 
-      public Log.Builder setQueueElementLimit(int queueElementLimit) {
-        this.queueElementLimit = queueElementLimit;
-        return this;
-      }
-
-      public Log.Builder setQueueByteLimit(SizeInBytes queueByteLimit) {
-        this.queueByteLimit = queueByteLimit;
-        return this;
-      }
-
       public Log.Builder setPurgeGap(int purgeGap) {
         this.purgeGap = purgeGap;
         return this;
diff --git 
a/iotdb-core/consensus/src/main/java/org/apache/iotdb/consensus/ratis/utils/Utils.java
 
b/iotdb-core/consensus/src/main/java/org/apache/iotdb/consensus/ratis/utils/Utils.java
index 9f25e837924..367b330ac3e 100644
--- 
a/iotdb-core/consensus/src/main/java/org/apache/iotdb/consensus/ratis/utils/Utils.java
+++ 
b/iotdb-core/consensus/src/main/java/org/apache/iotdb/consensus/ratis/utils/Utils.java
@@ -56,6 +56,7 @@ import java.util.function.BooleanSupplier;
 import java.util.stream.Collectors;
 
 public class Utils {
+
   private static final int TEMP_BUFFER_SIZE = 1024;
   private static final byte PADDING_MAGIC = 0x47;
   private static final String DATA_REGION_GROUP = "group-0001";
@@ -288,9 +289,6 @@ public class Utils {
         properties, config.getThreadPool().getServerSize());
 
     RaftServerConfigKeys.Log.setUseMemory(properties, 
config.getLog().isUseMemory());
-    RaftServerConfigKeys.Log.setQueueElementLimit(
-        properties, config.getLog().getQueueElementLimit());
-    RaftServerConfigKeys.Log.setQueueByteLimit(properties, 
config.getLog().getQueueByteLimit());
     RaftServerConfigKeys.Log.setPurgeGap(properties, 
config.getLog().getPurgeGap());
     RaftServerConfigKeys.Log.setPurgeUptoSnapshotIndex(
         properties, config.getLog().isPurgeUptoSnapshotIndex());
@@ -302,15 +300,20 @@ public class Utils {
     RaftServerConfigKeys.Log.setSegmentCacheSizeMax(
         properties, config.getLog().getSegmentCacheSizeMax());
     RaftServerConfigKeys.Log.setPreallocatedSize(properties, 
config.getLog().getPreallocatedSize());
-    final SizeInBytes writeBufferSize =
-        
SizeInBytes.valueOf(config.getLeaderLogAppender().getBufferByteLimit().getSizeInt()
 + 8L);
-    RaftServerConfigKeys.Log.setWriteBufferSize(properties, writeBufferSize);
+    RaftServerConfigKeys.Log.setWriteBufferSize(
+        properties,
+        
SizeInBytes.valueOf(config.getLeaderLogAppender().getBufferByteLimit().getSizeInt()
 + 8L));
     RaftServerConfigKeys.Log.setForceSyncNum(properties, 
config.getLog().getForceSyncNum());
     RaftServerConfigKeys.Log.setUnsafeFlushEnabled(
         properties, config.getLog().isUnsafeFlushEnabled());
     RaftServerConfigKeys.Log.setCorruptionPolicy(
         properties, RaftServerConfigKeys.Log.CorruptionPolicy.WARN_AND_RETURN);
 
+    RaftServerConfigKeys.Write.setByteLimit(
+        properties, config.getLeaderLogAppender().getBufferByteLimit());
+
+    RaftServerConfigKeys.Log.setQueueByteLimit(
+        properties, config.getLeaderLogAppender().getBufferByteLimit());
     RaftServerConfigKeys.Log.Appender.setBufferByteLimit(
         properties, config.getLeaderLogAppender().getBufferByteLimit());
     RaftServerConfigKeys.Log.Appender.setSnapshotChunkSizeMax(
@@ -331,8 +334,12 @@ public class Utils {
     RaftServerConfigKeys.Read.setTimeout(properties, 
config.getRead().getReadTimeout());
 
     RaftServerConfigKeys.setSleepDeviationThreshold(
-        properties, config.getUtils().getSleepDeviationThresholdMs());
-    RaftServerConfigKeys.setCloseThreshold(properties, 
config.getUtils().getCloseThresholdMs());
+        properties,
+        TimeDuration.valueOf(
+            config.getUtils().getSleepDeviationThresholdMs(), 
TimeUnit.MILLISECONDS));
+    RaftServerConfigKeys.setCloseThreshold(
+        properties,
+        TimeDuration.valueOf(config.getUtils().getCloseThresholdMs(), 
TimeUnit.MILLISECONDS));
 
     final TimeDuration clientMaxRetryGap = 
getMaxRetrySleepTime(config.getClient());
     RaftServerConfigKeys.RetryCache.setExpiryTime(properties, 
clientMaxRetryGap);

Reply via email to