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) {