This page: about Zookeeper error
handling<http://wiki.apache.org/hadoop/ZooKeeper/ErrorHandling>may
help.

On Mon, Feb 1, 2010 at 4:30 AM, Michael Bauland <michael.baul...@knipp.de>wrote:

> Hello,
>
> I've got a question regarding the connectionloss exception thrown by Java.
> I've got an ensemble running with three zk servers. If one of the three
> servers is not running, the whole ensemble should still work (and it
> does, so that's fine). But in this situation I experience quite often a
> connectionloss exception and I'm wondering if I'm doing something wrong
> or if that's to be expected.
>
> My Code is rather simple:
> I create a new connection to my ensemble using
>
> ZooKeeper zk = new ZooKeeper (connectString, timeOut, new MyWatcher ());
>
> where connectString contains all three servers. Then I use the ZooKeeper
> to read data from a certain path:
>
> zk.getData (path, false, null);
>
> This call quite often returns an exception like
>
> org.apache.zookeeper.KeeperException$ConnectionLossException:
> KeeperErrorCode = ConnectionLoss for /125/170/test
>
> But according to your documentation, the connectionloss exception should
> only occur in the following two cases:
>
> >    1. The application calls an operation on a session that is no longer
> alive/valid
>
> This should not be the case, since I only just created the session.
>
> >    2. The ZooKeeper client disconnects from a server when there are
> pending operations to that server, i.e., there is a pending asynchronous
> call.
>
> The should also not be the case. I was just doing a read request and no
> other client was accessing the ensemble.
>
>
> My only idea is that maybe the connection call first tried to connect to
>  the zookeeper server that was not running (remember only two of the
> three servers are running) and before it had a chance to try to connect
> to one of the other servers, my getData call was made and failed with
> connectionloss. Could that be the reason?
> But I thought the connection handling was automatic and if a connection
> failed the client would automatically try any of the other listed
> servers without the user noticing!?
>
> Thanks for any help.
>
> Cheers,
>
> Michael
>
>
> --
> Michael Bauland
> michael.baul...@knipp.de
> bauland.tel
>



-- 
Ted Dunning, CTO
DeepDyve

Reply via email to