Hi,

I am using Zookeeper server ad C-client v3.4.1-alpha.

The documentation for zookeeper_close seems to indicate that the call
will block until the session is cleaned up at the server or a failure
occurs(connection loss, out of memory, timeout etc).

However I have observed a couple of times that zookeeper_close returns
'0' but the session is not closed at the server - some ephemeral nodes
still persist for a while.

Looking at the source code for zookeeper_close, I see the condition below:-

http://zookeeper.sourcearchive.com/documentation/3.2.2plus-pdfsg3/zookeeper_8h_d739d8cb9288daded58d4cbdede83937.html#d739d8cb9288daded58d4cbdede83937

--------------

if (inc_ref_counter(zh,0)!=0) {
        adaptor_finish(zh);
        return ZOK
<http://zookeeper.sourcearchive.com/documentation/3.2.2plus-pdfsg3/zookeeper_8h_bb1a0a179f313b2e44ee92369c438a4c.html#bb1a0a179f313b2e44ee92369c438a4c9677bf3e4face8afd292d31ecfd4dc5d>;
}

----------------
Under what circumstances can this API return ZOK, and yet not succeed in
closing the session


Thanks,
SV

Reply via email to