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 mahadevkonar
Date Fri, 05 Mar 2010 22:08:49 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 mahadevkonar.
http://wiki.apache.org/hadoop/ZooKeeper/FAQ?action=diff&rev1=12&rev2=13

--------------------------------------------------

  
  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).
+ 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). The
ZK client library will handle reconnect for you automatically. 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).
  
  <<BR>>
  <<Anchor(3)>>

Mime
View raw message