You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Renaud Delbru (JIRA)" <ji...@apache.org> on 2014/10/13 15:38:34 UTC
[jira] [Created] (SOLR-6621) SolrZkClient does not guarantee that a
watch object will only be triggered once for a given notification
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: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org