From fa78a7a99a30ed8845498bb22fe3af1c7b26b1dd Mon Sep 17 00:00:00 2001 From: Konstantin Shvachko Date: Wed, 12 Feb 2014 07:01:29 +0000 Subject: [PATCH] HDFS-4858. HDFS DataNode to NameNode RPC should timeout. Contributed by Henry Wang. git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/trunk@1567535 13f79535-47bb-0310-9956-ffa450edef68 --- .../src/main/java/org/apache/hadoop/ipc/Client.java | 2 +- hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt | 3 +++ .../protocolPB/DatanodeProtocolClientSideTranslatorPB.java | 5 +++-- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/ipc/Client.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/ipc/Client.java index 6e57803180..45d0cd1f46 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/ipc/Client.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/ipc/Client.java @@ -220,7 +220,7 @@ public class Client { * @param conf Configuration * @return the ping interval */ - final static int getPingInterval(Configuration conf) { + final public static int getPingInterval(Configuration conf) { return conf.getInt(CommonConfigurationKeys.IPC_PING_INTERVAL_KEY, CommonConfigurationKeys.IPC_PING_INTERVAL_DEFAULT); } diff --git a/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt b/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt index 72748a70f7..e82b880415 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt +++ b/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt @@ -413,6 +413,9 @@ Release 2.4.0 - UNRELEASED HDFS-5886. Potential null pointer deference in RpcProgramNfs3#readlink() (brandonli) + HDFS-4858. HDFS DataNode to NameNode RPC should timeout. + (Henry Wang via shv) + Release 2.3.1 - UNRELEASED INCOMPATIBLE CHANGES diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/protocolPB/DatanodeProtocolClientSideTranslatorPB.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/protocolPB/DatanodeProtocolClientSideTranslatorPB.java index c765315f1c..2c6f3243c5 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/protocolPB/DatanodeProtocolClientSideTranslatorPB.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/protocolPB/DatanodeProtocolClientSideTranslatorPB.java @@ -102,9 +102,10 @@ public class DatanodeProtocolClientSideTranslatorPB implements private static DatanodeProtocolPB createNamenode( InetSocketAddress nameNodeAddr, Configuration conf, UserGroupInformation ugi) throws IOException { - return RPC.getProxy(DatanodeProtocolPB.class, + return RPC.getProtocolProxy(DatanodeProtocolPB.class, RPC.getProtocolVersion(DatanodeProtocolPB.class), nameNodeAddr, ugi, - conf, NetUtils.getSocketFactory(conf, DatanodeProtocolPB.class)); + conf, NetUtils.getSocketFactory(conf, DatanodeProtocolPB.class), + org.apache.hadoop.ipc.Client.getPingInterval(conf), null).getProxy(); } /** Create a {@link NameNode} proxy */