You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@hbase.apache.org by Gaojinchao <ga...@huawei.com> on 2011/04/26 11:29:52 UTC
A question about HBASE-3773
It has modified the parameter hbase.zookeeper.property.maxClientCnxns
It seems like that MAX_CACHED_HBASE_INSTANCES also needs modify.
Why does it get from configure parameter ?
@SuppressWarnings("serial")
public class HConnectionManager {
static final int MAX_CACHED_HBASE_INSTANCES = 31;
// A LRU Map of Configuration hashcode -> TableServers. We set instances to 31.
// The zk default max connections to the ensemble from the one client is 30 so
// should run into zk issues before hit this value of 31.
private static final Map<Configuration, HConnectionImplementation> HBASE_INSTANCES =
new LinkedHashMap<Configuration, HConnectionImplementation>
((int) (MAX_CACHED_HBASE_INSTANCES/0.75F)+1, 0.75F, true) {
@Override
protected boolean removeEldestEntry(Map.Entry<Configuration, HConnectionImplementation> eldest) {
return size() > MAX_CACHED_HBASE_INSTANCES;
}
};
// Does it have any connection leak?
public static HConnection getConnection(Configuration conf)
throws ZooKeeperConnectionException {
HConnectionImplementation connection;
synchronized (HBASE_INSTANCES) {
connection = HBASE_INSTANCES.get(conf);
if (connection == null) {
connection = new HConnectionImplementation(conf);
HBASE_INSTANCES.put(conf, connection);
}
}
return connection;
}
Re: A question about HBASE-3773
Posted by Jean-Daniel Cryans <jd...@apache.org>.
Looks like I missed it, will commit the fix. Thanks for figuring this one out.
Also in the future please address your development-related questions
to the dev@ mailing list and not the user@ mailing list.
J-D
On Tue, Apr 26, 2011 at 2:29 AM, Gaojinchao <ga...@huawei.com> wrote:
> It has modified the parameter hbase.zookeeper.property.maxClientCnxns
> It seems like that MAX_CACHED_HBASE_INSTANCES also needs modify.
> Why does it get from configure parameter ?
>
>
> @SuppressWarnings("serial")
> public class HConnectionManager {
> static final int MAX_CACHED_HBASE_INSTANCES = 31;
>
> // A LRU Map of Configuration hashcode -> TableServers. We set instances to 31.
> // The zk default max connections to the ensemble from the one client is 30 so
> // should run into zk issues before hit this value of 31.
> private static final Map<Configuration, HConnectionImplementation> HBASE_INSTANCES =
> new LinkedHashMap<Configuration, HConnectionImplementation>
> ((int) (MAX_CACHED_HBASE_INSTANCES/0.75F)+1, 0.75F, true) {
> @Override
> protected boolean removeEldestEntry(Map.Entry<Configuration, HConnectionImplementation> eldest) {
> return size() > MAX_CACHED_HBASE_INSTANCES;
> }
> };
>
> // Does it have any connection leak?
>
>
> public static HConnection getConnection(Configuration conf)
> throws ZooKeeperConnectionException {
> HConnectionImplementation connection;
> synchronized (HBASE_INSTANCES) {
> connection = HBASE_INSTANCES.get(conf);
> if (connection == null) {
> connection = new HConnectionImplementation(conf);
> HBASE_INSTANCES.put(conf, connection);
> }
> }
> return connection;
> }
>
Re: A question about HBASE-3773
Posted by Jean-Daniel Cryans <jd...@apache.org>.
Looks like I missed it, will commit the fix. Thanks for figuring this one out.
Also in the future please address your development-related questions
to the dev@ mailing list and not the user@ mailing list.
J-D
On Tue, Apr 26, 2011 at 2:29 AM, Gaojinchao <ga...@huawei.com> wrote:
> It has modified the parameter hbase.zookeeper.property.maxClientCnxns
> It seems like that MAX_CACHED_HBASE_INSTANCES also needs modify.
> Why does it get from configure parameter ?
>
>
> @SuppressWarnings("serial")
> public class HConnectionManager {
> static final int MAX_CACHED_HBASE_INSTANCES = 31;
>
> // A LRU Map of Configuration hashcode -> TableServers. We set instances to 31.
> // The zk default max connections to the ensemble from the one client is 30 so
> // should run into zk issues before hit this value of 31.
> private static final Map<Configuration, HConnectionImplementation> HBASE_INSTANCES =
> new LinkedHashMap<Configuration, HConnectionImplementation>
> ((int) (MAX_CACHED_HBASE_INSTANCES/0.75F)+1, 0.75F, true) {
> @Override
> protected boolean removeEldestEntry(Map.Entry<Configuration, HConnectionImplementation> eldest) {
> return size() > MAX_CACHED_HBASE_INSTANCES;
> }
> };
>
> // Does it have any connection leak?
>
>
> public static HConnection getConnection(Configuration conf)
> throws ZooKeeperConnectionException {
> HConnectionImplementation connection;
> synchronized (HBASE_INSTANCES) {
> connection = HBASE_INSTANCES.get(conf);
> if (connection == null) {
> connection = new HConnectionImplementation(conf);
> HBASE_INSTANCES.put(conf, connection);
> }
> }
> return connection;
> }
>