C client (via zkpython) returns unknown state

2009-10-13 Thread Steven Wong
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

Re: C client (via zkpython) returns unknown state

2009-10-13 Thread Patrick Hunt
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

RE: C client (via zkpython) returns unknown state

2009-10-13 Thread Steven Wong
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

Re: C client (via zkpython) returns unknown state

2009-10-13 Thread Patrick Hunt
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