lucene-solr-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Mark Miller <markrmil...@gmail.com>
Subject Re: Push/pull model between leader and replica in one shard
Date Tue, 16 Apr 2013 22:51:08 GMT

On Apr 16, 2013, at 1:36 AM, SuoNayi <suonayi2006@163.com> wrote:

> Hi, can someone explain more details about what model is used to sync docs between the
lead and 
> replica in the shard?
> The model can be push or pull.Supposing I have only one shard that has 1 leader and 2
replicas,
> when the leader receives a update request, does it will scatter the request to each available
and active 
> replica at first and then processes the request locally at last?In this case if the replicas
are able to catch
> up with the leader can I think this is a push model that the leader pushes updates to
it's replicas?

Currently, the leader adds the doc locally and then sends it to all replicas concurrently.

> 
> 
> What happens if a replica is behind the leader?Will the replica pull docs from the leader
and keep 
> a track of the coming updates from the lead in a log(called tlog)?If so when it complete
pulling docs
> it will replay updates in the tlog at last?

If an update forwarded from a leader to a replica fails it's likely because that replica died.
Just in case, the leader will ask that replica to enter "recovery".

When a node comes up and is not a leader, it also enters "recovery".

Recovery tries to peersync from the leader, and if that fails (works if off by about 100 updates),
it replicates the entire index.

If you are interested in more details on the SolrCloud architecture, I've given a few talks
on it - two of them here:

http://vimeo.com/43913870
http://www.youtube.com/watch?v=eVK0wLkLw9w

- Mark


Mime
View raw message