HBASE-8952 Missing error handling can cause RegionServer RPC thread to busy loop forever

git-svn-id: https://svn.apache.org/repos/asf/hbase/trunk@1503475 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Michael Stack 2013-07-15 21:03:47 +00:00
parent 9e740fed1a
commit b2c835d369
1 changed files with 3 additions and 1 deletions

View File

@ -1464,7 +1464,9 @@ public class RpcServer implements RpcServerInterface {
incRpcCount(); // Increment the rpc count incRpcCount(); // Increment the rpc count
} }
count = channelRead(channel, data); count = channelRead(channel, data);
if (data.remaining() == 0) { if (count < 0) {
return count;
} else if (data.remaining() == 0) {
dataLengthBuffer.clear(); dataLengthBuffer.clear();
data.flip(); data.flip();
if (skipInitialSaslHandshake) { if (skipInitialSaslHandshake) {