Hi Bruno, S1 can't have a later zxid than both S2 and S3 as at least 2 of the 3 servers need to have seen the transaction for it to have completed.
This state shouldn't be possible: s1, zxid=4 s2, zxid=3 s3, zxid=3 Instead you'll at least have either: s1, zxid=4 s2, zxid=4 s3, zxid=3 In this case s2 and s3 will decide s2 is the new leader. Or: s1, zxid=4 s2, zxid=3 s3, zxid=4 In this case s2 and s3 will decide s3 is the new leader. Hope this helps. Thanks, Adam On 1 Feb 2016 13:04, Bruno Wassermann <[email protected]> wrote: > > My apologies, if this should be non-sensical, but what would happen in the > following scenario? > > A leader election takes place in a three-server ensemble as the previous > leader, s1, has been partitioned off. The previous leader had a later zxid > than the remaining servers. The remaining servers exchange election > notifications and elect s3 to be the new leader, form a quorum consisting of > s2 and s3 and accept write requests. > > s1, zxid=4s2, zxid=3s3, zxid=3 > > Is it the case that at least one of s2 or s3 should have seen and agreed to > the write leading to zxid=4 and that the new quorum will thus write zxid=4 > first before handling other requests? > -- Bruno
