You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ozone.apache.org by ha...@apache.org on 2020/08/26 22:18:30 UTC
[hadoop-ozone] branch master updated: HDDS-4068. Client should not
retry same OM on network connection failure (#1324)
This is an automated email from the ASF dual-hosted git repository.
hanishakoneru 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 9292b39 HDDS-4068. Client should not retry same OM on network connection failure (#1324)
9292b39 is described below
commit 9292b392207d976ce070940d8979c23bef818969
Author: Hanisha Koneru <ha...@apache.org>
AuthorDate: Wed Aug 26 15:18:17 2020 -0700
HDDS-4068. Client should not retry same OM on network connection failure (#1324)
---
.../hadoop/ozone/om/ha/OMFailoverProxyProvider.java | 16 +++++++++++++---
1 file changed, 13 insertions(+), 3 deletions(-)
diff --git a/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/ha/OMFailoverProxyProvider.java b/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/ha/OMFailoverProxyProvider.java
index 3b2692d..1abe5ab 100644
--- a/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/ha/OMFailoverProxyProvider.java
+++ b/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/ha/OMFailoverProxyProvider.java
@@ -37,6 +37,8 @@ import org.apache.hadoop.hdds.utils.LegacyHadoopConfigurationSource;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.io.retry.FailoverProxyProvider;
import org.apache.hadoop.io.retry.RetryInvocationHandler;
+import org.apache.hadoop.io.retry.RetryPolicies;
+import org.apache.hadoop.io.retry.RetryPolicy;
import org.apache.hadoop.ipc.ProtobufRpcEngine;
import org.apache.hadoop.ipc.RPC;
import org.apache.hadoop.net.NetUtils;
@@ -172,9 +174,17 @@ public class OMFailoverProxyProvider implements
LegacyHadoopConfigurationSource.asHadoopConfiguration(conf);
RPC.setProtocolEngine(hadoopConf, OzoneManagerProtocolPB.class,
ProtobufRpcEngine.class);
- return RPC.getProxy(OzoneManagerProtocolPB.class, omVersion, omAddress, ugi,
- hadoopConf, NetUtils.getDefaultSocketFactory(hadoopConf),
- (int) OmUtils.getOMClientRpcTimeOut(conf));
+
+ // FailoverOnNetworkException ensures that the IPC layer does not attempt
+ // retries on the same OM in case of connection exception. This retry
+ // policy essentially results in TRY_ONCE_THEN_FAIL.
+ RetryPolicy connectionRetryPolicy = RetryPolicies
+ .failoverOnNetworkException(0);
+
+ return RPC.getProtocolProxy(OzoneManagerProtocolPB.class, omVersion,
+ omAddress, ugi, hadoopConf, NetUtils.getDefaultSocketFactory(
+ hadoopConf), (int) OmUtils.getOMClientRpcTimeOut(conf),
+ connectionRetryPolicy).getProxy();
}
---------------------------------------------------------------------
To unsubscribe, e-mail: ozone-commits-unsubscribe@hadoop.apache.org
For additional commands, e-mail: ozone-commits-help@hadoop.apache.org