[ 
https://issues.apache.org/jira/browse/HBASE-14361?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14732301#comment-14732301
 ] 

Heng Chen commented on HBASE-14361:
-----------------------------------

I print stack trace in {{ConnectionImplementation}} constructor.  
And found there are five {{ConnectionImplementation}} instance after running 
start-hbase.sh standalone.

I upload the hmaster.log,  and the stack trace below:
{code}

  0 java.lang.Throwable
    1 >---at 
org.apache.hadoop.hbase.client.ConnectionImplementation.<init>(ConnectionImplementation.java:217)
    2 >---at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native 
Method)
    3 >---at 
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    4 >---at 
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    5 >---at java.lang.reflect.Constructor.newInstance(Constructor.java:422)
    6 >---at 
org.apache.hadoop.hbase.client.ConnectionFactory.createConnection(ConnectionFactory.java:231)
    7 >---at 
org.apache.hadoop.hbase.client.ConnectionFactory.createConnection(ConnectionFactory.java:118)
    8 >---at 
org.apache.hadoop.hbase.master.ServerManager.<init>(ServerManager.java:222)
    9 >---at 
org.apache.hadoop.hbase.master.ServerManager.<init>(ServerManager.java:212)
   10 >---at 
org.apache.hadoop.hbase.master.HMaster.createServerManager(HMaster.java:853)
   11 >---at 
org.apache.hadoop.hbase.master.HMaster.finishActiveMasterInitialization(HMaster.java:661)
   12 >---at org.apache.hadoop.hbase.master.HMaster.access$500(HMaster.java:180)
   13 >---at org.apache.hadoop.hbase.master.HMaster$1.run(HMaster.java:1670)
   14 >---at java.lang.Thread.run(Thread.java:745)




   34 2015-09-06 16:07:20,904 INFO  [RS:0;10.0.3.80:52456] 
client.ConnectionImplementation:.
   33 java.lang.Throwable
   32 >---at 
org.apache.hadoop.hbase.client.ConnectionImplementation.<init>(ConnectionImplementation.java:217)
   31 >---at 
org.apache.hadoop.hbase.client.ConnectionUtils$1.<init>(ConnectionUtils.java:128)
   30 >---at 
org.apache.hadoop.hbase.client.ConnectionUtils.createShortCircuitConnection(ConnectionUtils.java:128)
   29 >---at 
org.apache.hadoop.hbase.regionserver.HRegionServer.createClusterConnection(HRegionServer.java:686)
   28 >---at 
org.apache.hadoop.hbase.regionserver.HRegionServer.setupClusterConnection(HRegionServer.java:717)
   27 >---at 
org.apache.hadoop.hbase.regionserver.HRegionServer.preRegistrationInitialization(HRegionServer.java:730)
   26 >---at 
org.apache.hadoop.hbase.regionserver.HRegionServer.run(HRegionServer.java:885)
   25 >---at java.lang.Thread.run(Thread.java:745)

   24 2015-09-06 16:07:20,905 INFO  [M:0;10.0.3.80:52454] 
client.ConnectionImplementation:.
   23 java.lang.Throwable
   22 >---at 
org.apache.hadoop.hbase.client.ConnectionImplementation.<init>(ConnectionImplementation.java:217)
   21 >---at 
org.apache.hadoop.hbase.client.ConnectionUtils$1.<init>(ConnectionUtils.java:128)
   20 >---at 
org.apache.hadoop.hbase.client.ConnectionUtils.createShortCircuitConnection(ConnectionUtils.java:128)
   19 >---at 
org.apache.hadoop.hbase.regionserver.HRegionServer.createClusterConnection(HRegionServer.java:686)
   18 >---at 
org.apache.hadoop.hbase.regionserver.HRegionServer.setupClusterConnection(HRegionServer.java:717)
   17 >---at 
org.apache.hadoop.hbase.regionserver.HRegionServer.preRegistrationInitialization(HRegionServer.java:730)
   16 >---at 
org.apache.hadoop.hbase.regionserver.HRegionServer.run(HRegionServer.java:885)
   15 >---at 
org.apache.hadoop.hbase.master.HMasterCommandLine$LocalHMaster.run(HMasterCommandLine.java:311)
   14 >---at java.lang.Thread.run(Thread.java:745)


    0 java.lang.Throwable
    1 >---at 
org.apache.hadoop.hbase.client.ConnectionImplementation.<init>(ConnectionImplementation.java:217)
    2 >---at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native 
Method)
    3 >---at 
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    4 >---at 
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    5 >---at java.lang.reflect.Constructor.newInstance(Constructor.java:422)
    6 >---at 
org.apache.hadoop.hbase.client.ConnectionFactory.createConnection(ConnectionFactory.java:231)
    7 >---at 
org.apache.hadoop.hbase.client.ConnectionFactory.createConnection(ConnectionFactory.java:118)
    8 >---at 
org.apache.hadoop.hbase.replication.regionserver.ReplicationSink.<init>(ReplicationSink.java:91)
    9 >---at 
org.apache.hadoop.hbase.replication.regionserver.Replication.startReplicationService(Replication.java:213)
   10 >---at 
org.apache.hadoop.hbase.regionserver.HRegionServer.startServiceThreads(HRegionServer.java:1730)
   11 >---at 
org.apache.hadoop.hbase.regionserver.HRegionServer.handleReportForDutyResponse(HRegionServer.java:1374)
   12 >---at 
org.apache.hadoop.hbase.regionserver.HRegionServer.run(HRegionServer.java:908)
   13 >---at 
org.apache.hadoop.hbase.master.HMasterCommandLine$LocalHMaster.run(HMasterCommandLine.java:311)
   14 >---at java.lang.Thread.run(Thread.java:745)


 24 java.lang.Throwable
   23 >---at 
org.apache.hadoop.hbase.client.ConnectionImplementation.<init>(ConnectionImplementation.java:217)
   22 >---at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native 
Method)
   21 >---at 
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
   20 >---at 
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
   19 >---at java.lang.reflect.Constructor.newInstance(Constructor.java:422)
   18 >---at 
org.apache.hadoop.hbase.client.ConnectionFactory.createConnection(ConnectionFactory.java:231)
   17 >---at 
org.apache.hadoop.hbase.client.ConnectionFactory.createConnection(ConnectionFactory.java:118)
   16 >---at 
org.apache.hadoop.hbase.replication.regionserver.ReplicationSink.<init>(ReplicationSink.java:91)
   15 >---at 
org.apache.hadoop.hbase.replication.regionserver.Replication.startReplicationService(Replication.java:213)
   14 >---at 
org.apache.hadoop.hbase.regionserver.HRegionServer.startServiceThreads(HRegionServer.java:1730)
   13 >---at 
org.apache.hadoop.hbase.regionserver.HRegionServer.handleReportForDutyResponse(HRegionServer.java:1374)
   12 >---at 
org.apache.hadoop.hbase.regionserver.HRegionServer.run(HRegionServer.java:908)
   11 >---at java.lang.Thread.run(Thread.java:745)
{code}

It seems  Replication create two instance,  RS create two instance,  and 
hmaster create one. 

Hopes it will be helpful.


> Investigate unused connection objects
> -------------------------------------
>
>                 Key: HBASE-14361
>                 URL: https://issues.apache.org/jira/browse/HBASE-14361
>             Project: HBase
>          Issue Type: Task
>          Components: Client
>            Reporter: Nick Dimiduk
>
> Over on HBASE-12911 I have a patch that registers Connection instances with 
> the metrics system. In both standalone server and tll client applications, I 
> was surprised to see multiple connection objects showing up that are unused. 
> These are pretty heavy objects, including lots of client threads for the 
> batch pool. We should track these down and remove them -- if they're not some 
> kind of phantom artifacts of my WIP patch over there.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to