diff --git a/hadoop-common-project/hadoop-common/CHANGES.txt b/hadoop-common-project/hadoop-common/CHANGES.txt index 07d4eef07f7..c064bb6a9ac 100644 --- a/hadoop-common-project/hadoop-common/CHANGES.txt +++ b/hadoop-common-project/hadoop-common/CHANGES.txt @@ -229,6 +229,9 @@ Release 2.4.0 - UNRELEASED HADOOP-10146. Workaround JDK7 Process fd close bug (daryn) + HADOOP-10125. no need to process RPC request if the client connection + has been dropped (Ming Ma via brandonli) + Release 2.3.0 - UNRELEASED INCOMPATIBLE CHANGES diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/ipc/Server.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/ipc/Server.java index 413278a281c..57a215e9097 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/ipc/Server.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/ipc/Server.java @@ -1935,6 +1935,10 @@ public abstract class Server { if (LOG.isDebugEnabled()) { LOG.debug(Thread.currentThread().getName() + ": " + call + " for RpcKind " + call.rpcKind); } + if (!call.connection.channel.isOpen()) { + LOG.info(Thread.currentThread().getName() + ": skipped " + call); + continue; + } String errorClass = null; String error = null; RpcStatusProto returnStatus = RpcStatusProto.SUCCESS;