[ 
https://issues.apache.org/jira/browse/HBASE-15474?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Allan Yang updated HBASE-15474:
-------------------------------
    Description: 
HConnectionImplementation creates a ZooKeeperKeepAliveConnection during 
construction, but if the constructor throw a exception, the zookeeper 
connection is not properly closed. 
{code}
HConnectionImplementation(Configuration conf, boolean managed,
        ExecutorService pool, User user) throws IOException {
      this(conf);
      this.user = user;
      this.batchPool = pool;
      this.managed = managed;
      this.registry = setupRegistry();
      retrieveClusterId(); //here is the zookeeper connection created
        this.rpcClient = RpcClientFactory.createClient(this.conf, 
this.clusterId);// In our case, the exception happens here, so the zookeeper 
connection never closes
        this.rpcControllerFactory = RpcControllerFactory.instantiate(conf);
        ......
{code}

  was:
HConnectionImplementation creates a ZooKeeperKeepAliveConnection during 
construction, but if the constructor throw a exception, the zookeeper 
connection is not properly closed. 
{code}
HConnectionImplementation(Configuration conf, boolean managed,
        ExecutorService pool, User user) throws IOException {
      this(conf);
      this.user = user;
      this.batchPool = pool;
      this.managed = managed;
      this.registry = setupRegistry();
      retrieveClusterId(); //here is the zookeeper connection created
        this.rpcClient = RpcClientFactory.createClient(this.conf, 
this.clusterId);
        this.rpcControllerFactory = RpcControllerFactory.instantiate(conf);// 
In our case, the exception happens here, so the zookeeper connection never close
        ......
{code}


> Exception in HConnectionImplementation's constructor cause Zookeeper 
> connnections leak 
> ---------------------------------------------------------------------------------------
>
>                 Key: HBASE-15474
>                 URL: https://issues.apache.org/jira/browse/HBASE-15474
>             Project: HBase
>          Issue Type: Bug
>    Affects Versions: 1.1.0
>            Reporter: Allan Yang
>            Assignee: Allan Yang
>              Labels: patch
>             Fix For: 1.1.0
>
>         Attachments: HBASE-15474.patch
>
>
> HConnectionImplementation creates a ZooKeeperKeepAliveConnection during 
> construction, but if the constructor throw a exception, the zookeeper 
> connection is not properly closed. 
> {code}
> HConnectionImplementation(Configuration conf, boolean managed,
>         ExecutorService pool, User user) throws IOException {
>       this(conf);
>       this.user = user;
>       this.batchPool = pool;
>       this.managed = managed;
>       this.registry = setupRegistry();
>       retrieveClusterId(); //here is the zookeeper connection created
>         this.rpcClient = RpcClientFactory.createClient(this.conf, 
> this.clusterId);// In our case, the exception happens here, so the zookeeper 
> connection never closes
>         this.rpcControllerFactory = RpcControllerFactory.instantiate(conf);
>         ......
> {code}



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

Reply via email to