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

Eric Yu commented on HBASE-8535:
--------------------------------

[[email protected]]Calling just close doesn't cause zk leak in previous 
version as hcm would only wipe out the connection if it isn't allocated to any 
clients. Problem only happened when the connection is wiped out while other 
clients are still using i.e. connection user would start creating HTable, 
verify connection is open, closeStale caller would mark connection as closed 
and shutdown zk, connection user thread would call getZKWatcher which would 
restart zk). The overwhelming majority of cases our application calls close, 
but sometimes if app thinks the connection is no longer usable, our app will 
call closeStale.

I don't think it is necessary to add to the api just for a test case. Ideally, 
client of connection doesn't need to know anything about zk.



                
> Test for zk leak does not account for unsynchronized access to zk watcher
> -------------------------------------------------------------------------
>
>                 Key: HBASE-8535
>                 URL: https://issues.apache.org/jira/browse/HBASE-8535
>             Project: HBase
>          Issue Type: Test
>          Components: Client
>    Affects Versions: 0.98.0, 0.95.1
>            Reporter: Eric Yu
>            Assignee: stack
>             Fix For: 0.98.0, 0.95.1
>
>         Attachments: HBASE-8535.patch
>
>
> Test can detect a live zk connection in a closed hconnection because it does 
> not accesses the zk watcher in a synchronized manner. 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to