hadoop-common-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Apache Wiki <wikidi...@apache.org>
Subject [Hadoop Wiki] Update of "ZooKeeper/FAQ" by PatrickHunt
Date Fri, 05 Mar 2010 18:00:59 GMT
Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Hadoop Wiki" for change notification.

The "ZooKeeper/FAQ" page has been changed by PatrickHunt.


  '''2. [[#2|How should I handle the CONNECTION_LOSS error?]]'''
  CONNECTION_LOSS means the link between the client and server was broken. It doesn't necessarily
mean that the request failed. If you are doing a create request and the link was broken after
the request reached the server and before the response was returned, the create request will
succeed. If the link was broken before the packet went onto the wire, the create request failed.
Unfortunately, there is no way for the client library to know, so it returns CONNECTION_LOSS.
The programmer must figure out if the request succeeded or needs to be retried. Usually this
is done in an application specific way. Examples of success detection include checking for
the presence of a file to be created or checking the value of a znode to be modified.
+ When a client (session) becomes partitioned from the ZK serving cluster it will begin searching
the list of servers that were specified during session creation. Eventually, when connectivity
between the client and at least one of the servers is re-established, the session will either
again transition to the "connected" state (if reconnected within the session timeout value)
or it will transition to the "expired" state (if reconnected after the session timeout). It
is not advisable to create a new session object (a new ZooKeeper.class or zookeeper handle
in the c binding) for disconnection. The ZK client library will handle reconnect for you.
In particular we have heuristics built into the client library to handle things like "herd
effect", etc... Only create a new session when you are notified of session expiration (mandatory).

View raw message