You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by st...@apache.org on 2013/07/15 23:03:20 UTC

svn commit: r1503473 - /hbase/branches/0.95/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/RpcServer.java

Author: stack
Date: Mon Jul 15 21:03:19 2013
New Revision: 1503473

URL: http://svn.apache.org/r1503473
Log:
HBASE-8952 Missing error handling can cause RegionServer RPC thread to busy loop forever

Modified:
    hbase/branches/0.95/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/RpcServer.java

Modified: hbase/branches/0.95/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/RpcServer.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.95/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/RpcServer.java?rev=1503473&r1=1503472&r2=1503473&view=diff
==============================================================================
--- hbase/branches/0.95/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/RpcServer.java (original)
+++ hbase/branches/0.95/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/RpcServer.java Mon Jul 15 21:03:19 2013
@@ -1464,7 +1464,9 @@ public class RpcServer implements RpcSer
           incRpcCount();  // Increment the rpc count
         }
         count = channelRead(channel, data);
-        if (data.remaining() == 0) {
+        if (count < 0) {
+          return count;
+        } else if (data.remaining() == 0) {
           dataLengthBuffer.clear();
           data.flip();
           if (skipInitialSaslHandshake) {