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 Message-----
From: Patrick Hunt [mailto:ph...@apache.org] 
Sent: Tuesday, October 13, 2009 5:03 PM
To: zookeeper-user@hadoop.apache.org
Subject: Re: C client (via zkpython) returns unknown state

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 considered established until (and unless) an
  * event of state ZOO_CONNECTED_STATE is received.


Please enter a JIRA for this and we'll address it in the next release:
https://issues.apache.org/jira/browse/ZOOKEEPER

Thanks for the report!

Patrick

Steven Wong wrote:
> 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 defined or z.state should've returned
> something else.
> 
>  
> 
> Steven
> 
>  
> 
> 

Reply via email to