[
https://issues.apache.org/jira/browse/SOLR-9659?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Alan Woodward updated SOLR-9659:
--------------------------------
Attachment: SOLR-9659.patch
Patch, outlining the API, but not actually cutting over anything to use it yet.
There are two types of watch:
* DataWatch, called any time a znode is updated
* ChildWatch, called any time a znode's children are changed
Both are registered with SolrZkClient, which maintains ZK watches and lists of
interested parties. When a znode is changed, or its children are changed, the
SolrZkClient will read the new data/new children, and then send this new
information to all registered watchers for that znode. ZK connection
exceptions are all handled internally. If a connection is dropped and
re-established, SolrZkClient will reset all ZK watches, read the latest data,
and notify all registered watchers.
> Add zookeeper DataWatch API
> ---------------------------
>
> Key: SOLR-9659
> URL: https://issues.apache.org/jira/browse/SOLR-9659
> Project: Solr
> Issue Type: Improvement
> Security Level: Public(Default Security Level. Issues are Public)
> Reporter: Alan Woodward
> Assignee: Alan Woodward
> Attachments: SOLR-9659.patch
>
>
> We have several components which need to set up watches on ZooKeeper nodes
> for various aspects of cluster management. At the moment, all of these
> components do this themselves, leading to large amounts of duplicated code,
> and complicated logic for dealing with reconnections, etc, scattered across
> the codebase. We should replace this with a simple API controlled by
> SolrZkClient, which should make the code more robust, and testing
> considerably easier.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]