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

Lars Hofhansl commented on HBASE-6496:
--------------------------------------

@Ted: I see...
There is no reliable way to have a singleton, though, since the instances could 
potentially have been loaded by separate classloaders.

Hence the containsKey() check to avoid creating a ZKWatcher unless necessary. 
The putIfAbsent just guards against the short race that another CP created the 
shared ZK between the contains check and the put.
Could also synchronize on this CP's sharedData; that would be the equivalent of 
a class lock. Taking the rare chance of unnecessarily creating a ZKWatcher 
seemed to be better approach.

                
> Example ZK based scan policy
> ----------------------------
>
>                 Key: HBASE-6496
>                 URL: https://issues.apache.org/jira/browse/HBASE-6496
>             Project: HBase
>          Issue Type: Sub-task
>            Reporter: Lars Hofhansl
>            Assignee: Lars Hofhansl
>             Fix For: 0.96.0, 0.94.2
>
>         Attachments: 6496-v2.txt, 6496.txt
>
>
> Provide an example of a RegionServer that listens to a ZK node to learn about 
> what set of KVs can safely be deleted during a compaction.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to