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

Andrew Purtell commented on HBASE-20597:
----------------------------------------

No test failures here at all. 

It would be fine to, instead of using a lock object, to synchronize on the 
endpoint instance by making the relevant methods all 'synchronized'. I thought 
using a lock named similarly to what it was protecting was clearer about intent 
but didn't mean to introduce the findbugs complaint in doing so. Either way 
achieves the same end. 

> Use a lock to serialize access to a shared reference to ZooKeeperWatcher in 
> HBaseReplicationEndpoint
> ----------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-20597
>                 URL: https://issues.apache.org/jira/browse/HBASE-20597
>             Project: HBase
>          Issue Type: Bug
>          Components: Replication
>    Affects Versions: 1.3.2, 1.4.4
>            Reporter: Andrew Purtell
>            Assignee: Andrew Purtell
>            Priority: Minor
>             Fix For: 3.0.0, 2.1.0, 1.5.0, 1.3.3, 2.0.1, 1.4.5
>
>         Attachments: HBASE-20597-branch-1.patch, 
> HBASE-20597.addendum.0.patch, HBASE-20597.patch
>
>
> The code that closes down a ZKW that fails to initialize when attempting to 
> connect to the remote cluster is not MT safe and can in theory leak 
> ZooKeeperWatcher instances. The allocation of a new ZKW and store to the 
> reference is not atomic. Might have concurrent allocations with only one 
> winning store, leading to leaked ZKW instances. 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to