You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ozone.apache.org by ar...@apache.org on 2020/02/18 15:32:02 UTC

[hadoop-ozone] branch master updated: HDDS-2990. Set the default value of grpc flow control window for ratis client and ratis server (#537)

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

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


The following commit(s) were added to refs/heads/master by this push:
     new a620ef2  HDDS-2990. Set the default value of grpc flow control window for ratis client and ratis server (#537)
a620ef2 is described below

commit a620ef2761e930c9a396a72c446eb1ad6b305d9b
Author: Bharat Viswanadham <bh...@apache.org>
AuthorDate: Tue Feb 18 07:31:50 2020 -0800

    HDDS-2990. Set the default value of grpc flow control window for ratis client and ratis server (#537)
---
 .../hadoop/hdds/conf/DatanodeRatisGrpcConfig.java   | 21 +++++++++++++++++++++
 .../common/src/main/resources/ozone-default.xml     | 12 ++++++++----
 2 files changed, 29 insertions(+), 4 deletions(-)

diff --git a/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/conf/DatanodeRatisGrpcConfig.java b/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/conf/DatanodeRatisGrpcConfig.java
index 0b00aab..ed036fd 100644
--- a/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/conf/DatanodeRatisGrpcConfig.java
+++ b/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/conf/DatanodeRatisGrpcConfig.java
@@ -44,4 +44,25 @@ public class DatanodeRatisGrpcConfig {
   public void setMaximumMessageSize(int maximumMessageSize) {
     this.maximumMessageSize = maximumMessageSize;
   }
+
+  @Config(key = "flow.control.window",
+      defaultValue = "5MB",
+      type = ConfigType.INT,
+      tags =  {OZONE, CLIENT, PERFORMANCE},
+      description = "This parameter tells how much data grpc client can send " +
+          "to grpc server with out receiving any ack(WINDOW_UPDATE) packet " +
+          "from server. This parameter should be set in accordance with " +
+          "chunk size. Example: If Chunk size is 4MB, considering some header" +
+          " size in to consideration, this can be set 5MB or greater. " +
+          "Tune this parameter accordingly, as when it is set with a value " +
+          "lesser than chunk size it degrades the ozone client performance.")
+  private int flowControlWindow = 5 * 1024 * 1024;
+
+  public int getFlowControlWindow() {
+    return flowControlWindow;
+  }
+
+  public void setFlowControlWindow(int flowControlWindow) {
+    this.flowControlWindow = flowControlWindow;
+  }
 }
diff --git a/hadoop-hdds/common/src/main/resources/ozone-default.xml b/hadoop-hdds/common/src/main/resources/ozone-default.xml
index ecc25e9..4b3f67e 100644
--- a/hadoop-hdds/common/src/main/resources/ozone-default.xml
+++ b/hadoop-hdds/common/src/main/resources/ozone-default.xml
@@ -707,10 +707,14 @@
     <description>
       The chunk size for reading/writing chunk operations in bytes.
 
-      The chunk size defaults to 8MB. If the value configured is more than the
-      maximum size (16MB), it will be reset to the maximum size. This maps to
-      the network packet sizes and file write operations in the client to
-      datanode protocol.
+      The chunk size defaults to 4MB. If the value configured is more than the
+      maximum size (32MB), it will be reset to the maximum size (32MB). This
+      maps to the network packet sizes and file write operations in the
+      client to datanode protocol.
+
+      When tuning this parameter, flow control window parameter should be
+      tuned accordingly. Refer to
+      hdds.ratis.raft.grpc.flow.control.window for more information.
     </description>
   </property>
   <property>


---------------------------------------------------------------------
To unsubscribe, e-mail: ozone-commits-unsubscribe@hadoop.apache.org
For additional commands, e-mail: ozone-commits-help@hadoop.apache.org