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

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


The following commit(s) were added to refs/heads/master by this push:
     new 35e1745ca4 HDDS-13308. OM should expose Ratis config for increasing 
pending write limits (#8668)
35e1745ca4 is described below

commit 35e1745ca47351186e00d2128694177cde8b6125
Author: Swaminathan Balachandran <[email protected]>
AuthorDate: Thu Jul 17 05:18:55 2025 -0400

    HDDS-13308. OM should expose Ratis config for increasing pending write 
limits (#8668)
---
 hadoop-hdds/common/src/main/resources/ozone-default.xml    | 14 ++++++++++++++
 .../main/java/org/apache/hadoop/ozone/om/OMConfigKeys.java |  9 +++++++++
 .../hadoop/ozone/om/ratis/OzoneManagerRatisServer.java     |  7 +++++++
 3 files changed, 30 insertions(+)

diff --git a/hadoop-hdds/common/src/main/resources/ozone-default.xml 
b/hadoop-hdds/common/src/main/resources/ozone-default.xml
index bf15e975b9..16387561c2 100644
--- a/hadoop-hdds/common/src/main/resources/ozone-default.xml
+++ b/hadoop-hdds/common/src/main/resources/ozone-default.xml
@@ -2183,6 +2183,20 @@
     <description>Byte limit for Raft's Log Worker queue.
     </description>
   </property>
+  <property>
+    <name>ozone.om.ratis.server.pending.write.byte-limit</name>
+    <value>64MB</value>
+    <tag>OZONE, DEBUG, OM, RATIS</tag>
+    <description>Maximum byte size of all pending write requests.
+    </description>
+  </property>
+  <property>
+    <name>ozone.om.ratis.server.pending.write.element-limit</name>
+    <value>4096</value>
+    <tag>OZONE, DEBUG, OM, RATIS</tag>
+    <description>Maximum number of pending write requests.
+    </description>
+  </property>
   <property>
     <name>ozone.om.ratis.log.purge.gap</name>
     <value>1000000</value>
diff --git 
a/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/OMConfigKeys.java
 
b/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/OMConfigKeys.java
index 751e0a669f..fc35ea378c 100644
--- 
a/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/OMConfigKeys.java
+++ 
b/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/OMConfigKeys.java
@@ -199,6 +199,15 @@ public final class OMConfigKeys {
       "ozone.om.ratis.log.appender.queue.byte-limit";
   public static final String
       OZONE_OM_RATIS_LOG_APPENDER_QUEUE_BYTE_LIMIT_DEFAULT = "32MB";
+
+  // OM Ratis Pending Write configurations
+  public static final String OZONE_OM_RATIS_PENDING_WRITE_ELEMENT_LIMIT =
+      "ozone.om.ratis.server.pending.write.element-limit";
+  public static final int OZONE_OM_RATIS_PENDING_WRITE_NUM_LIMIT_DEFAULT = 
4096;
+
+  public static final String OZONE_OM_RATIS_PENDING_WRITE_BYTE_LIMIT = 
"ozone.om.ratis.server.pending.write.byte-limit";
+  public static final String OZONE_OM_RATIS_PENDING_WRITE_BYTE_LIMIT_DEFAULT = 
"64MB";
+
   public static final String OZONE_OM_RATIS_LOG_PURGE_GAP =
       "ozone.om.ratis.log.purge.gap";
   public static final int OZONE_OM_RATIS_LOG_PURGE_GAP_DEFAULT = 1000000;
diff --git 
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/ratis/OzoneManagerRatisServer.java
 
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/ratis/OzoneManagerRatisServer.java
index 76ca50b412..e1ef528d16 100644
--- 
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/ratis/OzoneManagerRatisServer.java
+++ 
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/ratis/OzoneManagerRatisServer.java
@@ -729,6 +729,13 @@ private static void setRaftLogProperties(RaftProperties 
properties,
 
     // Set the number of maximum cached segments
     RaftServerConfigKeys.Log.setSegmentCacheNumMax(properties, 2);
+
+    RaftServerConfigKeys.Write.setByteLimit(properties, 
SizeInBytes.valueOf((long) conf.getStorageSize(
+        OMConfigKeys.OZONE_OM_RATIS_PENDING_WRITE_BYTE_LIMIT,
+        OMConfigKeys.OZONE_OM_RATIS_PENDING_WRITE_BYTE_LIMIT_DEFAULT, 
StorageUnit.BYTES)));
+    RaftServerConfigKeys.Write.setElementLimit(properties, conf.getInt(
+        OMConfigKeys.OZONE_OM_RATIS_PENDING_WRITE_ELEMENT_LIMIT,
+        OMConfigKeys.OZONE_OM_RATIS_PENDING_WRITE_NUM_LIMIT_DEFAULT));
   }
 
   private static void setRaftRpcProperties(RaftProperties properties, 
ConfigurationSource conf) {


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to