Using zkpython with ZK 3.2.1 release:
import zookeeper as z
zh = z.init(...)
z.state(zh) # returns 3 == z.CONNECTED_STATE
# kill standalone ZK server
z.state(zh) # returns 0 == ???
The problem is that 0 is not a state defined by zookeeper.[ch]. I'm not
sure whether 0 should've been
You're right, 0 should be something like INITIALIZING_STATE but it's
not in zookeeper.h
zookeeper_init(...) docs:
* This method creates a new handle and a zookeeper session that
corresponds
* to that handle. Session establishment is asynchronous, meaning that the
* session should not be
Java's KeeperState.Disconnected is 0, so probably that's what the C
client should have.
This brings up another question: Is the C client supposed to be in sync
with the Java client? I notice that there are multiple differences
between C's ZOO_*_STATE and Java's KeeperState.
-Original
There's no requirement currently that they be the same/similar. We try
to keep them similar just to ease the learning curve for ppl that want
to use both (also for the devs to stay sane).
In a perfect world, probably. I think there's some divergence just due
to the fact that java is OO and c