Hi Rich - No, there's not a very easy way to verify the Python bindings version afaik - would be a useful feature to have though.
My first suggestion is to move to the bindings shipped with 3.3.1 - we fixed a lot of problems with the Python bindings which improved their stability a lot. Could you try that and then let us know if you continue to see problems? cheers, Henry On 14 July 2010 13:14, Rich Schumacher <rich.s...@gmail.com> wrote: > I'm running a Tornado webserver and using ZooKeeper to store some metadata > and occasionally the ZooKeeper connection will error out irrevocably. Any > subsequent calls to ZooKeeper from this process will result in a > SystemError. > > Here is the relevant portion of the Python traceback: > <snip>... > File "/usr/lib/pymodules/python2.5/zuul/storage/zoo.py", line 69, in call > return getattr(zookeeper, name)(self.handle, *args) > SystemError: NULL result without error in PyObject_Call > > I found this in the ZooKeeper server logs: > > 2010-07-13 06:52:46,488 - INFO [NIOServerCxn.Factory: > 0.0.0.0/0.0.0.0:2181:nioservercnxn$fact...@251] - Accepted socket > connection from /10.2.128.233:54779 > 2010-07-13 06:52:46,489 - INFO [NIOServerCxn.Factory: > 0.0.0.0/0.0.0.0:2181:nioserverc...@742] - Client attempting to renew > session 0x429b865a6270003 at /10.2.128.233:54779 > 2010-07-13 06:52:46,489 - INFO [NIOServerCxn.Factory: > 0.0.0.0/0.0.0.0:2181:lear...@95] - Revalidating client: 299973596915630083 > 2010-07-13 06:52:46,793 - INFO > [QuorumPeer:/0:0:0:0:0:0:0:0:2181:nioserverc...@1424] - Invalid session > 0x429b865a6270003 for client /10.2.128.233:54779, probably expired > 2010-07-13 06:52:46,794 - INFO [NIOServerCxn.Factory: > 0.0.0.0/0.0.0.0:2181:nioserverc...@1286] - Closed socket connection for > client /10.2.128.233:54779 which had sessionid 0x429b865a6270003 > > > The ZooKeeper ensemble is healthy; each node responds as expected to the > four letter word commands and a simple restart of the Tornado processes > "fixes" this. > > My question is, if this really is due to session expiration why is a > SessionExpiredException not raised? Another question, is there an easy way > to determine the version of the ZooKeeper Python bindings I'm using? I > built the 3.3.0 bindings but I just want to be able to verify that. > > Thanks for the help, > > Rich -- Henry Robinson Software Engineer Cloudera 415-994-6679