>> If you ask whether the client will see its ephemerals upon creating a new session, then the answer is that it shouldn't because the createSession txn will be ordered necessarily before the closeSession txn, which implies that the client should not see the ephemerals.
Second this - so *for the same client*, it should not see the ephemeral nodes after the new session has established, because the ordering guarantees of transaction, even if this client is now connecting to a new server. The case where ephemeral nodes that's supposed to be gone but visible only apply to other clients, because ZooKeeper does not necessarily guarantee a consistent view of the data tree across all clients at any given time. On Wed, Jan 25, 2017 at 4:19 PM, Flavio Junqueira <f...@apache.org> wrote: > Hey Jun, > > The way you're phrasing the question is problematic. Receiving a session > expiration means that a closeSession has been committed, so a quorum has > seen the closeSession event. However, a minority might still think the > session is up, so if you ask whether the ephemerals are still there at the > "time" the client receives the session expiration event, then the answer is > that it depends on which server you're talking to, one of the majority or > one of the minority. > > If you ask whether the client will see its ephemerals upon creating a new > session, then the answer is that it shouldn't because the createSession txn > will be ordered necessarily before the closeSession txn, which implies that > the client should not see the ephemerals. > > -Flavio > > > > On 25 Jan 2017, at 16:53, Jun Rao <jun...@gmail.com> wrote: > > > > Hi, > > > > Does ZK guarantee that ephemeral nodes from a client are removed on the > > sever by the time the client receives a session expiration event? I am > > getting conflicting info on this ( > > https://issues.apache.org/jira/browse/KAFKA-4277). Could someone > clarify? > > > > Thanks, > > > > Jun > > -- Cheers Michael.