You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by jx...@apache.org on 2013/08/13 18:27:43 UTC
svn commit: r1513582 -
/hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/RpcClient.java
Author: jxiang
Date: Tue Aug 13 16:27:42 2013
New Revision: 1513582
URL: http://svn.apache.org/r1513582
Log:
HBASE-9198 RpcClient#call could hang
Modified:
hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/RpcClient.java
Modified: hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/RpcClient.java
URL: http://svn.apache.org/viewvc/hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/RpcClient.java?rev=1513582&r1=1513581&r2=1513582&view=diff
==============================================================================
--- hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/RpcClient.java (original)
+++ hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/RpcClient.java Tue Aug 13 16:27:42 2013
@@ -1366,8 +1366,11 @@ public class RpcClient {
//noinspection SynchronizationOnLocalVariableOrMethodParameter
synchronized (call) {
while (!call.done) {
+ if (connection.shouldCloseConnection.get()) {
+ throw new IOException("Unexpected closed connection");
+ }
try {
- call.wait(); // wait for the result
+ call.wait(1000); // wait for the result
} catch (InterruptedException ignored) {
// save the fact that we were interrupted
interrupted = true;