Repository: hadoop Updated Branches: refs/heads/branch-2 2b125b3a3 -> b3badf935
YARN-2841. RMProxy should retry EOFException. Contributed by Jian He (cherry picked from commit 5c9a51f140ba76ddb25580aeb288db25e3f9653f) Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/b3badf93 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/b3badf93 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/b3badf93 Branch: refs/heads/branch-2 Commit: b3badf935a150f2dc5ae28b63d3b42f9e38ed605 Parents: 2b125b3 Author: Xuan <xg...@apache.org> Authored: Mon Nov 10 18:25:01 2014 -0800 Committer: Xuan <xg...@apache.org> Committed: Mon Nov 10 18:26:32 2014 -0800 ---------------------------------------------------------------------- hadoop-yarn-project/CHANGES.txt | 2 ++ .../src/main/java/org/apache/hadoop/yarn/client/RMProxy.java | 2 ++ .../main/java/org/apache/hadoop/yarn/client/ServerProxy.java | 2 ++ .../hadoop/yarn/server/nodemanager/TestNodeStatusUpdater.java | 7 +++++++ 4 files changed, 13 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hadoop/blob/b3badf93/hadoop-yarn-project/CHANGES.txt ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/CHANGES.txt b/hadoop-yarn-project/CHANGES.txt index 9d6cf1a..9357865 100644 --- a/hadoop-yarn-project/CHANGES.txt +++ b/hadoop-yarn-project/CHANGES.txt @@ -902,6 +902,8 @@ Release 2.6.0 - 2014-11-15 consistent with the (somewhat incorrect) behaviour in the non-recovery case. (Jian He via vinodkv) + YARN-2841. RMProxy should retry EOFException. (Jian He via xgong) + Release 2.5.2 - 2014-11-10 INCOMPATIBLE CHANGES http://git-wip-us.apache.org/repos/asf/hadoop/blob/b3badf93/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/client/RMProxy.java ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/client/RMProxy.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/client/RMProxy.java index ee09973..fa8d642 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/client/RMProxy.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/client/RMProxy.java @@ -18,6 +18,7 @@ package org.apache.hadoop.yarn.client; +import java.io.EOFException; import java.io.IOException; import java.net.ConnectException; import java.net.InetSocketAddress; @@ -240,6 +241,7 @@ public class RMProxy<T> { Map<Class<? extends Exception>, RetryPolicy> exceptionToPolicyMap = new HashMap<Class<? extends Exception>, RetryPolicy>(); + exceptionToPolicyMap.put(EOFException.class, retryPolicy); exceptionToPolicyMap.put(ConnectException.class, retryPolicy); exceptionToPolicyMap.put(NoRouteToHostException.class, retryPolicy); exceptionToPolicyMap.put(UnknownHostException.class, retryPolicy); http://git-wip-us.apache.org/repos/asf/hadoop/blob/b3badf93/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/client/ServerProxy.java ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/client/ServerProxy.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/client/ServerProxy.java index 6c72dc0..b6fea62 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/client/ServerProxy.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/client/ServerProxy.java @@ -18,6 +18,7 @@ package org.apache.hadoop.yarn.client; +import java.io.EOFException; import java.net.ConnectException; import java.net.InetSocketAddress; import java.net.NoRouteToHostException; @@ -67,6 +68,7 @@ public class ServerProxy { Map<Class<? extends Exception>, RetryPolicy> exceptionToPolicyMap = new HashMap<Class<? extends Exception>, RetryPolicy>(); + exceptionToPolicyMap.put(EOFException.class, retryPolicy); exceptionToPolicyMap.put(ConnectException.class, retryPolicy); exceptionToPolicyMap.put(NoRouteToHostException.class, retryPolicy); exceptionToPolicyMap.put(UnknownHostException.class, retryPolicy); http://git-wip-us.apache.org/repos/asf/hadoop/blob/b3badf93/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/TestNodeStatusUpdater.java ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/TestNodeStatusUpdater.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/TestNodeStatusUpdater.java index b34262b..e367085 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/TestNodeStatusUpdater.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/TestNodeStatusUpdater.java @@ -21,6 +21,7 @@ package org.apache.hadoop.yarn.server.nodemanager; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; +import java.io.EOFException; import java.io.File; import java.io.IOException; import java.net.InetAddress; @@ -737,8 +738,14 @@ public class TestNodeStatusUpdater { public NodeHeartbeatResponse nodeHeartbeat(NodeHeartbeatRequest request) throws YarnException, IOException { heartBeatID++; + if(heartBeatID == 1) { + // EOFException should be retried as well. + throw new EOFException("NodeHeartbeat exception"); + } + else { throw new java.net.ConnectException( "NodeHeartbeat exception"); + } } }