You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by vj...@apache.org on 2020/08/21 13:19:19 UTC
[hbase] branch master updated: HBASE-24686 [LOG] Log improvement in
Connection#close (#2219)
This is an automated email from the ASF dual-hosted git repository.
vjasani pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/hbase.git
The following commit(s) were added to refs/heads/master by this push:
new 72be041 HBASE-24686 [LOG] Log improvement in Connection#close (#2219)
72be041 is described below
commit 72be041d1cb1e1d8b36d80f8997012149390fb7e
Author: mokai <mo...@126.com>
AuthorDate: Fri Aug 21 21:19:02 2020 +0800
HBASE-24686 [LOG] Log improvement in Connection#close (#2219)
Signed-off-by: Pankaj Kumar <pa...@apache.org>
Signed-off-by: Viraj Jasani <vj...@apache.org>
Signed-off-by: Sean Busbey <bu...@apache.org>
---
.../apache/hadoop/hbase/client/AsyncConnectionImpl.java | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncConnectionImpl.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncConnectionImpl.java
index 3ebc679..896b7dc 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncConnectionImpl.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncConnectionImpl.java
@@ -201,6 +201,10 @@ class AsyncConnectionImpl implements AsyncConnection {
if (!closed.compareAndSet(false, true)) {
return;
}
+ LOG.info("Connection has been closed by {}.", Thread.currentThread().getName());
+ if(LOG.isDebugEnabled()){
+ logCallStack(Thread.currentThread().getStackTrace());
+ }
IOUtils.closeQuietly(clusterStatusListener);
IOUtils.closeQuietly(rpcClient);
IOUtils.closeQuietly(registry);
@@ -214,6 +218,16 @@ class AsyncConnectionImpl implements AsyncConnection {
}
}
+ private void logCallStack(StackTraceElement[] stackTraceElements) {
+ StringBuilder stackBuilder = new StringBuilder("Call stack:");
+ for (StackTraceElement element : stackTraceElements) {
+ stackBuilder.append("\n at ");
+ stackBuilder.append(element);
+ }
+ stackBuilder.append("\n");
+ LOG.debug(stackBuilder.toString());
+ }
+
@Override
public AsyncTableRegionLocator getRegionLocator(TableName tableName) {
return new AsyncTableRegionLocatorImpl(tableName, this);