[
https://issues.apache.org/jira/browse/HBASE-6496?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Lars Hofhansl updated HBASE-6496:
---------------------------------
Attachment: 6496.txt
Here's a work in progress.
It wasn't actually as straightforward as I thought, as there is no place within
a RegionServer that would allow coprocessors to share some state.
Furthermore I could not use the RegionServer's ZooKeeperWatcher as there is no
way to unregister a Listener, hence as RegionObservers come and go their
listeners would pile up firing uselessly and preventing the RegionObserver
implementation from the being GC'd.
So instead the RegionObserver itself is a watcher, which on other hand now
leads to a Watcher per region.
I could use some advice here, will such use of ZK scale?
If it doesn't I could
# add a removeListenere method to ZooKeeperWatcher (would still need to work
out how avoid many watches for the same node) or
# Have a way for RegionCoprocessorEnvironment to host some shared state for
RegionObserver to coordinate in case such as this one. (could just be a Map
that is accessible to all RegionObservers).
> 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.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