[ 
https://issues.apache.org/jira/browse/SOLR-6462?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14169296#comment-14169296
 ] 

Renaud Delbru commented on SOLR-6462:
-------------------------------------

I have started to implement the CDCR request handler that will handle CDCR 
life-cycle actions and forward updates to the peer clusters.
While trying to implement the synchronisation of the life-cycle status amongst 
all the nodes of a cluster by using zookeeper, I have encountered a limitation 
of the SolrZkClient. 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.

I have created the issue SOLR-6621 to notify about the problem.

> forward updates asynchronously to peer clusters/leaders
> -------------------------------------------------------
>
>                 Key: SOLR-6462
>                 URL: https://issues.apache.org/jira/browse/SOLR-6462
>             Project: Solr
>          Issue Type: Sub-task
>            Reporter: Yonik Seeley
>
> http://heliosearch.org/solr-cross-data-center-replication/#UpdateFlow
> - An update will be received by the shard leader and versioned
> - Update will be sent from the leader to it’s replicas
> - Concurrently, update will be sent (synchronously or asynchronously) to the 
> shard leader in other clusters
> - Shard leader in the other cluster will receive already versioned update 
> (and not re-version it), and forward the update to it’s replicas



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to