hbase-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Eason Lee <softse....@gmail.com>
Subject Re: HBaseAdmin needs a close methord
Date Thu, 19 Apr 2012 05:09:35 GMT
I am using cloudera's cdh3u3
> Hi Lee
>
> Which version of HBase are you using?
>
> Regards
> Ram
>
>> -----Original Message-----
>> From: Eason Lee [mailto:softse.com@gmail.com]
>> Sent: Thursday, April 19, 2012 9:36 AM
>> To: user@hbase.apache.org
>> Subject: HBaseAdmin needs a close methord
>>
>> Resently, my app meets a problem list as follows
>>
>> Can't construct instance of class
>> org/apache/hadoop/hbase/client/HBaseAdmin
>> Exception in thread "Thread-2" java.lang.OutOfMemoryError: unable to
>> create new native thread
>> at java.lang.Thread.start0(Native Method)
>> at java.lang.Thread.start(Thread.java:640)
>> at org.apache.zookeeper.ClientCnxn.start(ClientCnxn.java:414)
>> at org.apache.zookeeper.ZooKeeper.<init>(ZooKeeper.java:378)
>> at org.apache.hadoop.hbase.zookeeper.ZKUtil.connect(ZKUtil.java:97)
>> at
>> org.apache.hadoop.hbase.zookeeper.ZooKeeperWatcher.<init>(ZooKeeperWatc
>> her.java:119)
>> at
>> org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementa
>> tion.getZooKeeperWatcher(HConnectionManager.java:1002)
>> at
>> org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementa
>> tion.setupZookeeperTrackers(HConnectionManager.java:304)
>> at
>> org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementa
>> tion.<init>(HConnectionManager.java:295)
>> at
>> org.apache.hadoop.hbase.client.HConnectionManager.getConnection(HConnec
>> tionManager.java:157)
>> at org.apache.hadoop.hbase.client.HBaseAdmin.<init>(HBaseAdmin.java:90)
>> Call to org.apache.hadoop.hbase.HBaseAdmin::HBaseAdmin failed!
>>
>> My app create HBaseAdmin every 30s,and the threads used by my app
>> increases about 1thread/30s.See from the stack, there is only one
>> HBaseAdmin in Memory, but lots of Configuration and
>> HConnectionImplementation instances.
>>
>> I can see from the sources, everytime when HBaseAdmin is created, a new
>> Configuration and HConnectionImplementation is created and added to
>> HConnectionManager.HBASE_INSTANCES.So they are not collected by gc when
>> HBaseAdmin is collected.
>>
>> So i think we need to add a close methord to remove the
>> Configuration&HConnectionImplementation from
>> HConnectionManager.HBASE_INSTANCES.Just as follows:
>>
>> public void close(){
>> 	HConnectionManager.deleteConnection(getConfiguration(), true);
>> }
>
>
>



Mime
View raw message