Author: liangxie
Date: Thu Feb 13 03:44:44 2014
New Revision: 1567841

URL: http://svn.apache.org/r1567841
Log:
HBASE-10506 Fail-fast if client connection is lost before the real call be 
executed in RPC layer

Modified:
    
hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/CallRunner.java

Modified: 
hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/CallRunner.java
URL: 
http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/CallRunner.java?rev=1567841&r1=1567840&r2=1567841&view=diff
==============================================================================
--- 
hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/CallRunner.java
 (original)
+++ 
hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/CallRunner.java
 Thu Feb 13 03:44:44 2014
@@ -67,6 +67,12 @@ public class CallRunner {
 
   public void run() {
     try {
+      if (!call.connection.channel.isOpen()) {
+        if (RpcServer.LOG.isDebugEnabled()) {
+          RpcServer.LOG.debug(Thread.currentThread().getName() + ": skipped " 
+ call);
+        }
+        return;
+      }
       this.status.setStatus("Setting up call");
       this.status.setConnection(call.connection.getHostAddress(), 
call.connection.getRemotePort());
       if (RpcServer.LOG.isDebugEnabled()) {
@@ -147,4 +153,4 @@ public class CallRunner {
     RpcServer.MONITORED_RPC.set(status);
     return status;
   }
-}
\ No newline at end of file
+}


Reply via email to