This is an automated email from the ASF dual-hosted git repository.
adoroszlai 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 349736a8da HDDS-9120. Add separate timeout config for
ECXceiverClientGrpc (#5148)
349736a8da is described below
commit 349736a8da6039237a033d6120796193ab9af2d3
Author: hao guo <[email protected]>
AuthorDate: Fri Oct 27 23:24:34 2023 +0800
HDDS-9120. Add separate timeout config for ECXceiverClientGrpc (#5148)
---
.../java/org/apache/hadoop/hdds/scm/ECXceiverClientGrpc.java | 5 +++++
.../java/org/apache/hadoop/hdds/scm/XceiverClientGrpc.java | 10 +++++++---
.../src/main/java/org/apache/hadoop/ozone/OzoneConfigKeys.java | 4 ++++
hadoop-hdds/common/src/main/resources/ozone-default.xml | 9 +++++++++
4 files changed, 25 insertions(+), 3 deletions(-)
diff --git
a/hadoop-hdds/client/src/main/java/org/apache/hadoop/hdds/scm/ECXceiverClientGrpc.java
b/hadoop-hdds/client/src/main/java/org/apache/hadoop/hdds/scm/ECXceiverClientGrpc.java
index 91f33cb778..dbf32c377b 100644
---
a/hadoop-hdds/client/src/main/java/org/apache/hadoop/hdds/scm/ECXceiverClientGrpc.java
+++
b/hadoop-hdds/client/src/main/java/org/apache/hadoop/hdds/scm/ECXceiverClientGrpc.java
@@ -22,6 +22,7 @@ import org.apache.hadoop.hdds.conf.ConfigurationSource;
import org.apache.hadoop.hdds.protocol.DatanodeDetails;
import org.apache.hadoop.hdds.protocol.datanode.proto.ContainerProtos;
import org.apache.hadoop.hdds.scm.pipeline.Pipeline;
+import org.apache.hadoop.ozone.OzoneConfigKeys;
import org.apache.ratis.thirdparty.io.grpc.Status;
import org.apache.ratis.thirdparty.io.grpc.netty.NettyChannelBuilder;
@@ -31,6 +32,7 @@ import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import java.util.concurrent.TimeUnit;
import static
org.apache.hadoop.ozone.OzoneConfigKeys.OZONE_CLIENT_EC_GRPC_RETRIES_ENABLED;
import static
org.apache.hadoop.ozone.OzoneConfigKeys.OZONE_CLIENT_EC_GRPC_RETRIES_ENABLED_DEFAULT;
@@ -56,6 +58,9 @@ public class ECXceiverClientGrpc extends XceiverClientGrpc {
super(pipeline, config, caCerts);
this.enableRetries =
config.getBoolean(OZONE_CLIENT_EC_GRPC_RETRIES_ENABLED,
OZONE_CLIENT_EC_GRPC_RETRIES_ENABLED_DEFAULT);
+ setTimeout(config.getTimeDuration(OzoneConfigKeys.
+ OZONE_CLIENT_EC_GRPC_WRITE_TIMEOUT, OzoneConfigKeys
+ .OZONE_CLIENT_EC_GRPC_WRITE_TIMEOUT_DEFAULT, TimeUnit.SECONDS));
}
/**
diff --git
a/hadoop-hdds/client/src/main/java/org/apache/hadoop/hdds/scm/XceiverClientGrpc.java
b/hadoop-hdds/client/src/main/java/org/apache/hadoop/hdds/scm/XceiverClientGrpc.java
index 4d6c4ccfd3..32767c77ec 100644
---
a/hadoop-hdds/client/src/main/java/org/apache/hadoop/hdds/scm/XceiverClientGrpc.java
+++
b/hadoop-hdds/client/src/main/java/org/apache/hadoop/hdds/scm/XceiverClientGrpc.java
@@ -91,7 +91,7 @@ public class XceiverClientGrpc extends XceiverClientSpi {
private final XceiverClientMetrics metrics;
private final Map<UUID, ManagedChannel> channels;
private final Semaphore semaphore;
- private final long timeout;
+ private long timeout;
private final SecurityConfig secConfig;
private final boolean topologyAwareRead;
private final List<X509Certificate> caCerts;
@@ -114,9 +114,9 @@ public class XceiverClientGrpc extends XceiverClientSpi {
super();
Preconditions.checkNotNull(pipeline);
Preconditions.checkNotNull(config);
- timeout = config.getTimeDuration(OzoneConfigKeys.
+ setTimeout(config.getTimeDuration(OzoneConfigKeys.
OZONE_CLIENT_READ_TIMEOUT, OzoneConfigKeys
- .OZONE_CLIENT_READ_TIMEOUT_DEFAULT, TimeUnit.SECONDS);
+ .OZONE_CLIENT_READ_TIMEOUT_DEFAULT, TimeUnit.SECONDS));
this.pipeline = pipeline;
this.config = config;
this.secConfig = new SecurityConfig(config);
@@ -615,4 +615,8 @@ public class XceiverClientGrpc extends XceiverClientSpi {
public static Logger getLogger() {
return LOG;
}
+
+ public void setTimeout(long timeout) {
+ this.timeout = timeout;
+ }
}
diff --git
a/hadoop-hdds/common/src/main/java/org/apache/hadoop/ozone/OzoneConfigKeys.java
b/hadoop-hdds/common/src/main/java/org/apache/hadoop/ozone/OzoneConfigKeys.java
index 9cf74c6cd8..3ac5555965 100644
---
a/hadoop-hdds/common/src/main/java/org/apache/hadoop/ozone/OzoneConfigKeys.java
+++
b/hadoop-hdds/common/src/main/java/org/apache/hadoop/ozone/OzoneConfigKeys.java
@@ -183,6 +183,10 @@ public final class OzoneConfigKeys {
public static final String OZONE_GPRC_METRICS_PERCENTILES_INTERVALS_KEY
= "ozone.grpc.metrics.percentiles.intervals";
+ public static final String OZONE_CLIENT_EC_GRPC_WRITE_TIMEOUT =
+ "ozone.client.ec.grpc.write.timeout";
+ public static final String OZONE_CLIENT_EC_GRPC_WRITE_TIMEOUT_DEFAULT =
"30s";
+
/**
* Ozone administrator users delimited by comma.
* If not set, only the user who launches an ozone service will be the
diff --git a/hadoop-hdds/common/src/main/resources/ozone-default.xml
b/hadoop-hdds/common/src/main/resources/ozone-default.xml
index 3dd65220d7..6d0116d006 100644
--- a/hadoop-hdds/common/src/main/resources/ozone-default.xml
+++ b/hadoop-hdds/common/src/main/resources/ozone-default.xml
@@ -1910,6 +1910,15 @@
</description>
</property>
+ <property>
+ <name>ozone.client.ec.grpc.write.timeout</name>
+ <value>30s</value>
+ <tag>OZONE, CLIENT, MANAGEMENT</tag>
+ <description>
+ Timeout for ozone ec grpc client during write.
+ </description>
+ </property>
+
<property>
<name>ozone.om.unflushed.transaction.max.count</name>
<value>10000</value>
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]