Renaud Delbru created SOLR-6621:
-----------------------------------
Summary: SolrZkClient does not guarantee that a watch object will
only be triggered once for a given notification
Key: SOLR-6621
URL: https://issues.apache.org/jira/browse/SOLR-6621
Project: Solr
Issue Type: Bug
Components: SolrCloud
Affects Versions: Trunk
Reporter: Renaud Delbru
The SolrZkClient provides methods such as getData or exists. The problem is
that the client automatically wraps the provided watcher with a new watcher
(see
[here|https://github.com/apache/lucene-solr/blob/6ead83a6fafbdd6c444e2a837b09eccf34a255ef/solr/solrj/src/java/org/apache/solr/common/cloud/SolrZkClient.java#L255])
which breaks the guarantee that "a watch object, or function/context pair,
will only be triggered once for a given notification". This creates undesirable
effects when we are registering the same watch is the Watcher callback method.
A possible solution would be to introduce a SolrZkWatcher class, that will take
care of submitting the job to the zkCallbackExecutor. Components in SolrCloud
will extend this class and implement their own callback method. This will
ensure that the watcher object that zookeeper receives remains the same.
See SOLR-6462 for background information.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]