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

To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org

Reply via email to