You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by li...@apache.org on 2014/02/13 04:47:24 UTC
svn commit: r1567845 -
/hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/ipc/HBaseServer.java
Author: liangxie
Date: Thu Feb 13 03:47:23 2014
New Revision: 1567845
URL: http://svn.apache.org/r1567845
Log:
HBASE-10506 Fail-fast if client connection is lost before the real call be executed in RPC layer
Modified:
hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/ipc/HBaseServer.java
Modified: hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/ipc/HBaseServer.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/ipc/HBaseServer.java?rev=1567845&r1=1567844&r2=1567845&view=diff
==============================================================================
--- hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/ipc/HBaseServer.java (original)
+++ hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/ipc/HBaseServer.java Thu Feb 13 03:47:23 2014
@@ -1397,6 +1397,12 @@ public abstract class HBaseServer implem
status.pause("Waiting for a call");
Call call = myCallQueue.take(); // pop the queue; maybe blocked here
updateCallQueueLenMetrics(myCallQueue);
+ if (!call.connection.channel.isOpen()) {
+ if (LOG.isDebugEnabled()) {
+ LOG.debug(Thread.currentThread().getName() + ": skipped " + call);
+ }
+ continue;
+ }
status.setStatus("Setting up call");
status.setConnection(call.connection.getHostAddress(),
call.connection.getRemotePort());