Camillle, thanks for your response!   If I could burrow a little deeper:

 

I had seen about read-only clients, who can tolerate arbitrarily stale data and 
that servers can respond to them when they are isolated from the quorum.  I was 
actually wondered about an intermediate case, where, e.g. the leader crashes 
and a server who is still connected to the other servers initiates leader 
election.  Question:

 

These servers can’t do updates until they’ve settled on a new leader, but can 
they accept connections or continue to respond to reads, based on their current 
data??

 

You said that a follower who loses quorum (can no longer see the majority of 
servers) drops connections to clients so they know to start trying to reconnect 
(perhaps except for read-only clients, which we can ignore  for the moment).  
Question:

 

It would seem to make sense that a follower who just loses contact with the 
leader DOES NOT drop clients during leader election because and leader election 
is usually successful and short enough that it would be too disruptive.  Is 
this true??

 

Thanks again

paul

 

 

From: Camille Fournier [mailto:[email protected]] 
Sent: Thursday, July 07, 2016 1:45 PM
To: [email protected]
Cc: Paul K. Harter, Jr.
Subject: Re: SyncLimit and client notifications

 

1) Yes, I believe that roughly if the follower doesn't hear from the leader it 
will go from state FOLLOWING to state LOOKING, which starts on that server a 
request for leader election

2) you can have ZK set to support read-only mode, which will allow reads from 
read-only clients even when disconnected from quorum, see below.

3) Yes, when the follower loses quorum for whatever reason it will disconnect 
the clients, which will get a CONNECTION_LOSS error and start looking for 
another server to connect to. I'm actually not sure what happens if you have a 
client that is in readonlymode connected to a server that allows readonlymode, 
perhaps it does not get disconnected at this time but you'd have to look at the 
docs.

Read Only Mode Server

(Java system property: readonlymode.enabled)

New in 3.4.0: Setting this value to true enables Read Only Mode server support 
(disabled by default). ROM allows clients sessions which requested ROM support 
to connect to the server even when the server might be partitioned from the 
quorum. In this mode ROM clients can still read values from the ZK service, but 
will be unable to write values and see changes from other clients. See 
ZOOKEEPER-784 for more details.

On Jul 5, 2016 4:50 PM, "Paul K. Harter, Jr." <[email protected]> wrote:

Apologies if this has been discussed previously, but I have a few questions

on the handling of SyncLimit.



1)      does a follower keep track of SyncLimit and initiate election if it
has
not heard from the Leader for SyncLimit, or what triggers Leader Election?

2)      can a follower continue to serve "read" requests during Leader
Election,
or does Leader Election pause all client activity??

3)      does a follower give its clients an explicit notification telling
them to find
another server to help ensure that their sessions do not time out??
If so, when?  SyncLimit??



Thanks



paul

Reply via email to