You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by sy...@apache.org on 2015/10/24 00:49:27 UTC
[07/50] [abbrv] hbase git commit: HBASE-14458
AsyncRpcClient#createRpcChannel() should check and remove dead channel before
creating new one to same server (Samir Ahmic)
HBASE-14458 AsyncRpcClient#createRpcChannel() should check and remove dead channel before creating new one to same server (Samir Ahmic)
Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/8e6316a8
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/8e6316a8
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/8e6316a8
Branch: refs/heads/hbase-12439
Commit: 8e6316a80cf96f4d4cd6bd10f4c647ebf45c7e02
Parents: f1b6355
Author: tedyu <yu...@gmail.com>
Authored: Sun Oct 18 20:49:31 2015 -0700
Committer: tedyu <yu...@gmail.com>
Committed: Sun Oct 18 20:49:31 2015 -0700
----------------------------------------------------------------------
.../main/java/org/apache/hadoop/hbase/ipc/AsyncRpcClient.java | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hbase/blob/8e6316a8/hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/AsyncRpcClient.java
----------------------------------------------------------------------
diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/AsyncRpcClient.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/AsyncRpcClient.java
index 60e9add..f972d0e 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/AsyncRpcClient.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/AsyncRpcClient.java
@@ -386,7 +386,11 @@ public class AsyncRpcClient extends AbstractRpcClient {
throw new StoppedRpcClientException();
}
rpcChannel = connections.get(hashCode);
- if (rpcChannel == null || !rpcChannel.isAlive()) {
+ if (rpcChannel != null && !rpcChannel.isAlive()) {
+ LOG.debug("Removing dead channel from server="+rpcChannel.address.toString());
+ connections.remove(hashCode);
+ }
+ if (rpcChannel == null) {
rpcChannel = new AsyncRpcChannel(this.bootstrap, this, ticket, serviceName, location);
connections.put(hashCode, rpcChannel);
}