[
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]