You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-user@lucene.apache.org by Otis Gospodnetic <ot...@gmail.com> on 2013/05/02 14:04:15 UTC

Re: What Happens to Consistency if I kill a Leader and Startup it again?

The leader would not be behind replica because the old leader would not
come back and take over the leader role. It would ne just a replica and it
would replicate the index from whichever node is the leader.

Otis
Solr & ElasticSearch Support
http://sematext.com/
On Apr 29, 2013 5:31 PM, "Furkan KAMACI" <fu...@gmail.com> wrote:

> I think about such situation:
>
> Let's assume that I am indexing at my SolrCloud. My leader has a version of
> higher than replica as well (I have one leader and one replica for each
> shard). If I kill leader, replica will be leader as well. When I startup
> old leader again it will be a replica for my shard.
>
> However I think that leader will have less document than replica and a less
> version than replica. Does it cause a problem because of leader is behing
> of replica?
>

Re: What Happens to Consistency if I kill a Leader and Startup it again?

Posted by Raymond Wiker <rw...@gmail.com>.
If you're using zookeeper, this should not be allowed to happen (I think).


On Thu, May 2, 2013 at 2:12 PM, Furkan KAMACI <fu...@gmail.com>wrote:

> Thanks for the answer. This is what I try to say:
>
> time = t
> Node A (Leader):  version is 100
> Node B (Replica): version is 90
>
> time = t+1
> Node A (Killing):  version is 100 and killed
> Node B (Replica): version is 90
>
> time = t+2
> Node A (Killed):  version is 100 and killed
> Node B (Become Leader): version is 95 (we indexed something)
>
> time = t+3
> Node A (Started as Replica):  version is 100 and live
> Node B (Leader): version is 95
>
> so I think that leader will behind replica. Is there anything different for
> such scenario?
>
>
>
> 2013/5/2 Otis Gospodnetic <ot...@gmail.com>
>
> > The leader would not be behind replica because the old leader would not
> > come back and take over the leader role. It would ne just a replica and
> it
> > would replicate the index from whichever node is the leader.
> >
> > Otis
> > Solr & ElasticSearch Support
> > http://sematext.com/
> > On Apr 29, 2013 5:31 PM, "Furkan KAMACI" <fu...@gmail.com> wrote:
> >
> > > I think about such situation:
> > >
> > > Let's assume that I am indexing at my SolrCloud. My leader has a
> version
> > of
> > > higher than replica as well (I have one leader and one replica for each
> > > shard). If I kill leader, replica will be leader as well. When I
> startup
> > > old leader again it will be a replica for my shard.
> > >
> > > However I think that leader will have less document than replica and a
> > less
> > > version than replica. Does it cause a problem because of leader is
> behing
> > > of replica?
> > >
> >
>

Re: What Happens to Consistency if I kill a Leader and Startup it again?

Posted by Furkan KAMACI <fu...@gmail.com>.
Shawn thanks for detailed answer, it explains everything. I think that
there is no problem. I will use 4.3. when it is available and if I see a
situation something like that I will report.

2013/5/3 Shawn Heisey <so...@elyograg.org>

> On 5/2/2013 2:19 PM, Furkan KAMACI wrote:
> > I see that at my admin page:
> >
> > Replication (Slave)  Version              Gen    Size
> > Master:                  1367307652512   82      778.04 MB
> > Slave:                   1367307658862   82      781.05 MB
> >
> > and I started to figure about it so that's why I asked this question.
>
> As we've been trying to tell you, the sizes can (and will) be different
> between replicas on SolrCloud.  Also, if you're not running a recent
> release candidate of 4.3, then the version numbers on the replication
> screen are misleading.  See SOLR-4661 for more details.
>
> Your example of version numbers like 100, 90, and 95 wouldn't actually
> happen, because the version number is based on the current time in
> milliseconds since 1970-01-01 00:00:00 UTC.  If you index after killing
> the leader, the new leader's version number will be higher than the
> offline replica.
>
> If you can find actual proof of a problem with index updates related to
> killing the leader, then we can take the bug report and work on fixing
> it.  Here's how you would go about finding proof.  It would be easiest
> to have one shard, but if you want to make sure it's OK with multiple
> shards, you would have to kill all the leaders.
>
> * Start with a functional collection with two replicas.
> * Index a document with a recognizable ID like "A".
> * Make sure you can find document A.
> * Kill the leader replica, let's say it was replica1.
> * Make sure replica2 becomes leader.
> * Make sure you can find document A.
> * Index document B.
> * Start replica1, wait for it to turn green.
> * Make sure you can still find document B.
> * Kill the leader again, this time it's replica2.
> * Make sure you can still find document B.
>
> To my knowledge, nobody has reported a real problem with proof.  I would
> imagine that more than one person has done testing like this to make
> sure that SolrCloud is reliable.
>
> Thanks,
> Shawn
>
>

Re: What Happens to Consistency if I kill a Leader and Startup it again?

Posted by Shawn Heisey <so...@elyograg.org>.
On 5/2/2013 2:19 PM, Furkan KAMACI wrote:
> I see that at my admin page:
> 
> Replication (Slave)  Version              Gen    Size
> Master:                  1367307652512   82      778.04 MB
> Slave:                   1367307658862   82      781.05 MB
> 
> and I started to figure about it so that's why I asked this question.

As we've been trying to tell you, the sizes can (and will) be different
between replicas on SolrCloud.  Also, if you're not running a recent
release candidate of 4.3, then the version numbers on the replication
screen are misleading.  See SOLR-4661 for more details.

Your example of version numbers like 100, 90, and 95 wouldn't actually
happen, because the version number is based on the current time in
milliseconds since 1970-01-01 00:00:00 UTC.  If you index after killing
the leader, the new leader's version number will be higher than the
offline replica.

If you can find actual proof of a problem with index updates related to
killing the leader, then we can take the bug report and work on fixing
it.  Here's how you would go about finding proof.  It would be easiest
to have one shard, but if you want to make sure it's OK with multiple
shards, you would have to kill all the leaders.

* Start with a functional collection with two replicas.
* Index a document with a recognizable ID like "A".
* Make sure you can find document A.
* Kill the leader replica, let's say it was replica1.
* Make sure replica2 becomes leader.
* Make sure you can find document A.
* Index document B.
* Start replica1, wait for it to turn green.
* Make sure you can still find document B.
* Kill the leader again, this time it's replica2.
* Make sure you can still find document B.

To my knowledge, nobody has reported a real problem with proof.  I would
imagine that more than one person has done testing like this to make
sure that SolrCloud is reliable.

Thanks,
Shawn


Re: What Happens to Consistency if I kill a Leader and Startup it again?

Posted by Furkan KAMACI <fu...@gmail.com>.
Hi Otis;

I see that at my admin page:

Replication (Slave)  Version              Gen    Size
Master:                  1367307652512   82      778.04 MB
Slave:                   1367307658862   82      781.05 MB

and I started to figure about it so that's why I asked this question.


2013/5/2 Otis Gospodnetic <ot...@gmail.com>

> Hi,
>
> Can you actually make this happen?
>
> Otis
> Solr & ElasticSearch Support
> http://sematext.com/
> On May 2, 2013 8:12 AM, "Furkan KAMACI" <fu...@gmail.com> wrote:
>
> > Thanks for the answer. This is what I try to say:
> >
> > time = t
> > Node A (Leader):  version is 100
> > Node B (Replica): version is 90
> >
> > time = t+1
> > Node A (Killing):  version is 100 and killed
> > Node B (Replica): version is 90
> >
> > time = t+2
> > Node A (Killed):  version is 100 and killed
> > Node B (Become Leader): version is 95 (we indexed something)
> >
> > time = t+3
> > Node A (Started as Replica):  version is 100 and live
> > Node B (Leader): version is 95
> >
> > so I think that leader will behind replica. Is there anything different
> for
> > such scenario?
> >
> >
> >
> > 2013/5/2 Otis Gospodnetic <ot...@gmail.com>
> >
> > > The leader would not be behind replica because the old leader would not
> > > come back and take over the leader role. It would ne just a replica and
> > it
> > > would replicate the index from whichever node is the leader.
> > >
> > > Otis
> > > Solr & ElasticSearch Support
> > > http://sematext.com/
> > > On Apr 29, 2013 5:31 PM, "Furkan KAMACI" <fu...@gmail.com>
> wrote:
> > >
> > > > I think about such situation:
> > > >
> > > > Let's assume that I am indexing at my SolrCloud. My leader has a
> > version
> > > of
> > > > higher than replica as well (I have one leader and one replica for
> each
> > > > shard). If I kill leader, replica will be leader as well. When I
> > startup
> > > > old leader again it will be a replica for my shard.
> > > >
> > > > However I think that leader will have less document than replica and
> a
> > > less
> > > > version than replica. Does it cause a problem because of leader is
> > behing
> > > > of replica?
> > > >
> > >
> >
>

Re: What Happens to Consistency if I kill a Leader and Startup it again?

Posted by Otis Gospodnetic <ot...@gmail.com>.
Hi,

Can you actually make this happen?

Otis
Solr & ElasticSearch Support
http://sematext.com/
On May 2, 2013 8:12 AM, "Furkan KAMACI" <fu...@gmail.com> wrote:

> Thanks for the answer. This is what I try to say:
>
> time = t
> Node A (Leader):  version is 100
> Node B (Replica): version is 90
>
> time = t+1
> Node A (Killing):  version is 100 and killed
> Node B (Replica): version is 90
>
> time = t+2
> Node A (Killed):  version is 100 and killed
> Node B (Become Leader): version is 95 (we indexed something)
>
> time = t+3
> Node A (Started as Replica):  version is 100 and live
> Node B (Leader): version is 95
>
> so I think that leader will behind replica. Is there anything different for
> such scenario?
>
>
>
> 2013/5/2 Otis Gospodnetic <ot...@gmail.com>
>
> > The leader would not be behind replica because the old leader would not
> > come back and take over the leader role. It would ne just a replica and
> it
> > would replicate the index from whichever node is the leader.
> >
> > Otis
> > Solr & ElasticSearch Support
> > http://sematext.com/
> > On Apr 29, 2013 5:31 PM, "Furkan KAMACI" <fu...@gmail.com> wrote:
> >
> > > I think about such situation:
> > >
> > > Let's assume that I am indexing at my SolrCloud. My leader has a
> version
> > of
> > > higher than replica as well (I have one leader and one replica for each
> > > shard). If I kill leader, replica will be leader as well. When I
> startup
> > > old leader again it will be a replica for my shard.
> > >
> > > However I think that leader will have less document than replica and a
> > less
> > > version than replica. Does it cause a problem because of leader is
> behing
> > > of replica?
> > >
> >
>

Re: What Happens to Consistency if I kill a Leader and Startup it again?

Posted by Furkan KAMACI <fu...@gmail.com>.
Thanks for the answer. This is what I try to say:

time = t
Node A (Leader):  version is 100
Node B (Replica): version is 90

time = t+1
Node A (Killing):  version is 100 and killed
Node B (Replica): version is 90

time = t+2
Node A (Killed):  version is 100 and killed
Node B (Become Leader): version is 95 (we indexed something)

time = t+3
Node A (Started as Replica):  version is 100 and live
Node B (Leader): version is 95

so I think that leader will behind replica. Is there anything different for
such scenario?



2013/5/2 Otis Gospodnetic <ot...@gmail.com>

> The leader would not be behind replica because the old leader would not
> come back and take over the leader role. It would ne just a replica and it
> would replicate the index from whichever node is the leader.
>
> Otis
> Solr & ElasticSearch Support
> http://sematext.com/
> On Apr 29, 2013 5:31 PM, "Furkan KAMACI" <fu...@gmail.com> wrote:
>
> > I think about such situation:
> >
> > Let's assume that I am indexing at my SolrCloud. My leader has a version
> of
> > higher than replica as well (I have one leader and one replica for each
> > shard). If I kill leader, replica will be leader as well. When I startup
> > old leader again it will be a replica for my shard.
> >
> > However I think that leader will have less document than replica and a
> less
> > version than replica. Does it cause a problem because of leader is behing
> > of replica?
> >
>