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:28:56 UTC

[hbase] branch branch-2 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 branch-2
in repository https://gitbox.apache.org/repos/asf/hbase.git


The following commit(s) were added to refs/heads/branch-2 by this push:
     new a914f2e  HBASE-24686 [LOG] Log improvement in Connection#close (#2219)
a914f2e is described below

commit a914f2efebd0ee1effa962f1068beffa1b9c620f
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 039ff4d..8319360 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
@@ -192,6 +192,10 @@ class AsyncConnectionImpl implements AsyncConnection {
     if (closed) {
       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);
@@ -202,6 +206,16 @@ class AsyncConnectionImpl implements AsyncConnection {
     closed = true;
   }
 
+  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 boolean isClosed() {
     return closed;