-Re: Network partition and ephemeral nodes
Ted Dunning 2012-11-25, 21:30
Any single ZK operation will throw an error if a disconnect from the quorum
is detected during an operation. The way that you would normally see this
in the middle of a fast sequence of operations is as an exception from one
of the operations you are trying to do.
On Sun, Nov 25, 2012 at 12:14 PM, Narayanan Arunachalam <
[EMAIL PROTECTED]> wrote:
> In that case, a client using the lock recipe for instance, should keep an
> eye on disconnect event and abort the operation it started (the operation
> to be only run in the critical section), since there is no guarantee that
> it has the lock any more.
> On Nov 25, 2012, at 11:40 AM, Ted Dunning <[EMAIL PROTECTED]> wrote:
> > To expand on this, when a client is disconnected, it receives a
> > event.
> > From that time until the client is reconnected, the client doesn't know
> > what has happened. The session may have expired or it may have not
> > expired. Keep in mind that clock changes can make reasoning during this
> > time impossible to do with precision.
> > What the client does during this period of ignorance is up to the
> > of the application. There are several potential strategies. If the
> > application must have at most one master, then the disconnected client
> > should immediately stop behaving as a master. If the application must
> > at least one master, then the disconnected client should continue as
> > master. If you have an in between strategy where it is bad but not fatal
> > to have two masters, you can have the disconnected client behave as a
> > master up to the point where it thinks that it likely has been superseded
> > by some other method.
> > Zookeeper cannot decide this issue for you.
> > On Sun, Nov 25, 2012 at 10:49 AM, Camille Fournier <[EMAIL PROTECTED]
> >> Yes if quorum is intact but the client cannot connect to the zookeeper,
> >> session and the ephemeral nodes will expire. It is up to users of ZK for
> >> locking to correctly assume that a given client is not the lock holder
> >> its connection to the ZooKeeper is lost.
> >> C
> >> On Sun, Nov 25, 2012 at 1:32 PM, Narayanan Arunachalam <
> >> [EMAIL PROTECTED]> wrote:
> >>> Hi,
> >>> In case the network between ZK cluster and client is partitioned, once
> >> the
> >>> session expires would it remove the ephemeral nodes? If that's the case
> >> how
> >>> is the correctness of the recipes like locks are archived. Because once
> >> the
> >>> ephemeral nodes are removed next client would be granted the lock isn't
> >> it.
> >>> Regards,
> >>> Nara