Author: breed
Date: Wed Jan 28 00:21:54 2009
New Revision: 738317
URL: http://svn.apache.org/viewvc?rev=738317&view=rev
Log:
ZOOKEEPER-263. document connection host:port as comma separated list in forrest
docs (pat via breed)
Modified:
hadoop/zookeeper/trunk/CHANGES.txt
hadoop/zookeeper/trunk/docs/zookeeperProgrammers.html
hadoop/zookeeper/trunk/docs/zookeeperProgrammers.pdf
hadoop/zookeeper/trunk/src/c/include/zookeeper.h
hadoop/zookeeper/trunk/src/docs/src/documentation/content/xdocs/zookeeperProgrammers.xml
hadoop/zookeeper/trunk/src/java/main/org/apache/zookeeper/ZooKeeper.java
Modified: hadoop/zookeeper/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/zookeeper/trunk/CHANGES.txt?rev=738317&r1=738316&r2=738317&view=diff
==============================================================================
--- hadoop/zookeeper/trunk/CHANGES.txt (original)
+++ hadoop/zookeeper/trunk/CHANGES.txt Wed Jan 28 00:21:54 2009
@@ -72,6 +72,8 @@
ZOOKEEPER-268. tostring on jute generated objects can cause NPE. (pat via mahadev)
ZOOKEEPER-267. java client incorrectly generating syncdisconnected event when in disconnected
state. (pat via breed)
+
+ ZOOKEEPER-263. document connection host:port as comma separated list in forrest docs (pat
via breed)
IMPROVEMENTS:
Modified: hadoop/zookeeper/trunk/docs/zookeeperProgrammers.html
URL: http://svn.apache.org/viewvc/hadoop/zookeeper/trunk/docs/zookeeperProgrammers.html?rev=738317&r1=738316&r2=738317&view=diff
==============================================================================
--- hadoop/zookeeper/trunk/docs/zookeeperProgrammers.html (original)
+++ hadoop/zookeeper/trunk/docs/zookeeperProgrammers.html Wed Jan 28 00:21:54 2009
@@ -733,6 +733,15 @@
<a name="N101A5"></a><a name="ch_zkSessions"></a>
<h2 class="h3">ZooKeeper Sessions</h2>
<div class="section">
+<p>To create a client session the application code must provide
+ a string containing a comma separated list of host:port pairs,
+ each corresponding to a ZooKeeper server (e.g. "127.0.0.1:4545" or
+ "127.0.0.1:3000,127.0.0.1:3001,127.0.0.1:3002"). The ZooKeeper
+ client library will pick an arbitrary server and try to connect to
+ it. If this connection fails, or if the client becomes
+ disconnected from the server for any reason, the client will
+ automatically try the next server in the list, until a connection
+ is (re-)established.</p>
<p>When a client gets a handle to the ZooKeeper service,
ZooKeeper creates a ZooKeeper session, represented as a 64-bit
number, that it assigns to the client. If the client connects to a
@@ -771,7 +780,7 @@
</div>
-<a name="N101B8"></a><a name="ch_zkWatches"></a>
+<a name="N101BB"></a><a name="ch_zkWatches"></a>
<h2 class="h3">ZooKeeper Watches</h2>
<div class="section">
<p>All of the read operations in ZooKeeper - <strong>getData()</strong>,
<strong>getChildren()</strong>, and <strong>exists()</strong> - have
the option of setting a watch as a
@@ -848,7 +857,7 @@
general this all occurs transparently. There is one case where a watch
may be missed: a watch for the existance of a znode not yet created will
be missed if the znode is created and deleted while disconnected.</p>
-<a name="N101EE"></a><a name="sc_WatchGuarantees"></a>
+<a name="N101F1"></a><a name="sc_WatchGuarantees"></a>
<h3 class="h4">What ZooKeeper Guarantees about Watches</h3>
<p>With regard to watches, ZooKeeper maintains these
guarantees:</p>
@@ -883,7 +892,7 @@
</li>
</ul>
-<a name="N10213"></a><a name="sc_WatchRememberThese"></a>
+<a name="N10216"></a><a name="sc_WatchRememberThese"></a>
<h3 class="h4">Things to Remember about Watches</h3>
<ul>
@@ -942,7 +951,7 @@
</div>
-<a name="N1023F"></a><a name="sc_ZooKeeperAccessControl"></a>
+<a name="N10242"></a><a name="sc_ZooKeeperAccessControl"></a>
<h2 class="h3">ZooKeeper access control using ACLs</h2>
<div class="section">
<p>ZooKeeper uses ACLs to control access to its znodes (the
@@ -971,7 +980,7 @@
example, the pair <em>(ip:19.22.0.0/16, READ)</em>
gives the <em>READ</em> permission to any clients with
an IP address that starts with 19.22.</p>
-<a name="N10266"></a><a name="sc_ACLPermissions"></a>
+<a name="N10269"></a><a name="sc_ACLPermissions"></a>
<h3 class="h4">ACL Permissions</h3>
<p>ZooKeeper supports the following permissions:</p>
<ul>
@@ -1027,7 +1036,7 @@
node, but nothing more. (The problem is, if you want to call
zoo_exists() on a node that doesn't exist, there is no
permission to check.)</p>
-<a name="N102BC"></a><a name="sc_BuiltinACLSchemes"></a>
+<a name="N102BF"></a><a name="sc_BuiltinACLSchemes"></a>
<h4>Builtin ACL Schemes</h4>
<p>ZooKeeeper has the following built in schemes:</p>
<ul>
@@ -1088,7 +1097,7 @@
</ul>
-<a name="N10312"></a><a name="ZooKeeper+C+client+API"></a>
+<a name="N10315"></a><a name="ZooKeeper+C+client+API"></a>
<h4>ZooKeeper C client API</h4>
<p>The following constants are provided by the ZooKeeper C
library:</p>
@@ -1310,7 +1319,7 @@
</div>
-<a name="N10429"></a><a name="ch_zkGuarantees"></a>
+<a name="N1042C"></a><a name="ch_zkGuarantees"></a>
<h2 class="h3">Consistency Guarantees</h2>
<div class="section">
<p>ZooKeeper is a high performance, scalable service. Both reads and
@@ -1436,12 +1445,12 @@
</div>
-<a name="N10490"></a><a name="ch_bindings"></a>
+<a name="N10493"></a><a name="ch_bindings"></a>
<h2 class="h3">Bindings</h2>
<div class="section">
<p>The ZooKeeper client libraries come in two languages: Java and C.
The following sections describe these.</p>
-<a name="N10499"></a><a name="Java+Binding"></a>
+<a name="N1049C"></a><a name="Java+Binding"></a>
<h3 class="h4">Java Binding</h3>
<p>There are two packages that make up the ZooKeeper Java binding:
<strong>org.apache.zookeeper</strong> and <strong>org.apache.zookeeper.data</strong>.
The rest of the
@@ -1508,7 +1517,7 @@
(SESSION_EXPIRED and AUTH_FAILED), the ZooKeeper object becomes invalid,
the two threads shut down, and any further ZooKeeper calls throw
errors.</p>
-<a name="N104E2"></a><a name="C+Binding"></a>
+<a name="N104E5"></a><a name="C+Binding"></a>
<h3 class="h4">C Binding</h3>
<p>The C binding has a single-threaded and multi-threaded library.
The multi-threaded library is easiest to use and is most similar to the
@@ -1525,7 +1534,7 @@
(i.e. FreeBSD 4.x). In all other cases, application developers should
link with zookeeper_mt, as it includes support for both Sync and Async
API.</p>
-<a name="N104F1"></a><a name="Installation"></a>
+<a name="N104F4"></a><a name="Installation"></a>
<h4>Installation</h4>
<p>If you're building the client from a check-out from the Apache
repository, follow the steps outlined below. If you're building from a
@@ -1656,7 +1665,7 @@
</li>
</ol>
-<a name="N1059A"></a><a name="Using+the+C+Client"></a>
+<a name="N1059D"></a><a name="Using+the+C+Client"></a>
<h4>Using the C Client</h4>
<p>You can test your client by running a ZooKeeper server (see
instructions on the project wiki page on how to run it) and connecting
@@ -1714,7 +1723,7 @@
</div>
-<a name="N105E0"></a><a name="ch_guideToZkOperations"></a>
+<a name="N105E3"></a><a name="ch_guideToZkOperations"></a>
<h2 class="h3">Building Blocks: A Guide to ZooKeeper Operations</h2>
<div class="section">
<p>This section surveys all the operations a developer can perform
@@ -1732,28 +1741,28 @@
</li>
</ul>
-<a name="N105F4"></a><a name="sc_errorsZk"></a>
+<a name="N105F7"></a><a name="sc_errorsZk"></a>
<h3 class="h4">Handling Errors</h3>
<p>Both the Java and C client bindings may report errors. The Java client binding does
so by throwing KeeperException, calling code() on the exception will return the specific error
code. The C client binding returns an error code as defined in the enum ZOO_ERRORS. API callbacks
indicate result code for both language bindings. See the API documentation (javadoc for Java,
doxygen for C) for full details on the possible errors and their meaning.</p>
-<a name="N105FE"></a><a name="sc_connectingToZk"></a>
+<a name="N10601"></a><a name="sc_connectingToZk"></a>
<h3 class="h4">Connecting to ZooKeeper</h3>
<p></p>
-<a name="N10607"></a><a name="sc_readOps"></a>
+<a name="N1060A"></a><a name="sc_readOps"></a>
<h3 class="h4">Read Operations</h3>
<p></p>
-<a name="N10610"></a><a name="sc_writeOps"></a>
+<a name="N10613"></a><a name="sc_writeOps"></a>
<h3 class="h4">Write Operations</h3>
<p></p>
-<a name="N10619"></a><a name="sc_handlingWatches"></a>
+<a name="N1061C"></a><a name="sc_handlingWatches"></a>
<h3 class="h4">Handling Watches</h3>
<p></p>
-<a name="N10622"></a><a name="sc_miscOps"></a>
+<a name="N10625"></a><a name="sc_miscOps"></a>
<h3 class="h4">Miscelleaneous ZooKeeper Operations</h3>
<p></p>
</div>
-<a name="N1062C"></a><a name="ch_programStructureWithExample"></a>
+<a name="N1062F"></a><a name="ch_programStructureWithExample"></a>
<h2 class="h3">Program Structure, with Simple Example</h2>
<div class="section">
<p>
@@ -1762,7 +1771,7 @@
</div>
-<a name="N10637"></a><a name="ch_gotchas"></a>
+<a name="N1063A"></a><a name="ch_gotchas"></a>
<h2 class="h3">Gotchas: Common Problems and Troubleshooting</h2>
<div class="section">
<p>So now you know ZooKeeper. It's fast, simple, your application
Modified: hadoop/zookeeper/trunk/docs/zookeeperProgrammers.pdf
URL: http://svn.apache.org/viewvc/hadoop/zookeeper/trunk/docs/zookeeperProgrammers.pdf?rev=738317&r1=738316&r2=738317&view=diff
==============================================================================
Binary files - no diff available.
Modified: hadoop/zookeeper/trunk/src/c/include/zookeeper.h
URL: http://svn.apache.org/viewvc/hadoop/zookeeper/trunk/src/c/include/zookeeper.h?rev=738317&r1=738316&r2=738317&view=diff
==============================================================================
--- hadoop/zookeeper/trunk/src/c/include/zookeeper.h (original)
+++ hadoop/zookeeper/trunk/src/c/include/zookeeper.h Wed Jan 28 00:21:54 2009
@@ -280,8 +280,8 @@
* 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.
- * \param host the host name to connect to. This may be a comma separated list
- * of different hosts.
+ * \param host comma separated host:port pairs, each corresponding to a zk
+ * server. e.g. "127.0.0.1:3000,127.0.0.1:3001,127.0.0.1:3002"
* \param fn the global watcher callback function. When notifications are
* triggered this function will be invoked.
* \param clientid the id of a previously established session that this
Modified: hadoop/zookeeper/trunk/src/docs/src/documentation/content/xdocs/zookeeperProgrammers.xml
URL: http://svn.apache.org/viewvc/hadoop/zookeeper/trunk/src/docs/src/documentation/content/xdocs/zookeeperProgrammers.xml?rev=738317&r1=738316&r2=738317&view=diff
==============================================================================
--- hadoop/zookeeper/trunk/src/docs/src/documentation/content/xdocs/zookeeperProgrammers.xml
(original)
+++ hadoop/zookeeper/trunk/src/docs/src/documentation/content/xdocs/zookeeperProgrammers.xml
Wed Jan 28 00:21:54 2009
@@ -358,6 +358,16 @@
<section id="ch_zkSessions">
<title>ZooKeeper Sessions</title>
+ <para>To create a client session the application code must provide
+ a string containing a comma separated list of host:port pairs,
+ each corresponding to a ZooKeeper server (e.g. "127.0.0.1:4545" or
+ "127.0.0.1:3000,127.0.0.1:3001,127.0.0.1:3002"). The ZooKeeper
+ client library will pick an arbitrary server and try to connect to
+ it. If this connection fails, or if the client becomes
+ disconnected from the server for any reason, the client will
+ automatically try the next server in the list, until a connection
+ is (re-)established.</para>
+
<para>When a client gets a handle to the ZooKeeper service,
ZooKeeper creates a ZooKeeper session, represented as a 64-bit
number, that it assigns to the client. If the client connects to a
Modified: hadoop/zookeeper/trunk/src/java/main/org/apache/zookeeper/ZooKeeper.java
URL: http://svn.apache.org/viewvc/hadoop/zookeeper/trunk/src/java/main/org/apache/zookeeper/ZooKeeper.java?rev=738317&r1=738316&r2=738317&view=diff
==============================================================================
--- hadoop/zookeeper/trunk/src/java/main/org/apache/zookeeper/ZooKeeper.java (original)
+++ hadoop/zookeeper/trunk/src/java/main/org/apache/zookeeper/ZooKeeper.java Wed Jan 28 00:21:54
2009
@@ -317,7 +317,24 @@
protected final ClientCnxn cnxn;
/**
- * @see ZooKeeper(String, int, Watcher, long, byte[])
+ * To create a client(ZooKeeper) object, the application needs to pass a
+ * string containing a comma separated list of host:port pairs, each
+ * corresponding to a ZooKeeper server.
+ * <p>
+ * The client object will pick an arbitrary server and try to connect to it.
+ * If failed, it will try the next one in the list, until a connection is
+ * established, or all the servers have been tried.
+ *
+ * @param host
+ * comma separated host:port pairs, each corresponding to a zk
+ * server. e.g. "127.0.0.1:3000,127.0.0.1:3001,127.0.0.1:3002"
+ * @param sessionTimeout
+ * session timeout in milliseconds
+ * @param watcher
+ * a watcher object which will be notified of state changes, may
+ * also be notified for node events
+ *
+ * @throws IOException in cases of network failure
*/
public ZooKeeper(String host, int sessionTimeout, Watcher watcher)
throws IOException {
@@ -330,8 +347,8 @@
/**
* To create a client(ZooKeeper) object, the application needs to pass a
- * string containing a list of host:port pairs, each corresponding to a
- * ZooKeeper server.
+ * string containing a comma separated list of host:port pairs, each
+ * corresponding to a ZooKeeper server.
* <p>
* The client object will pick an arbitrary server and try to connect to it.
* If failed, it will try the next one in the list, until a connection is
@@ -345,7 +362,7 @@
*
* @param host
* comma separated host:port pairs, each corresponding to a zk
- * server. eg. "127.0.0.1:3000,127.0.0.1:3001,127.0.0.1:3002"
+ * server. e.g. "127.0.0.1:3000,127.0.0.1:3001,127.0.0.1:3002"
* @param sessionTimeout
* session timeout in milliseconds
* @param watcher
@@ -356,8 +373,7 @@
* @param sessionPasswd
* password for this session
*
- * @throws IOException
- * in cases of network failure
+ * @throws IOException in cases of network failure
*/
public ZooKeeper(String host, int sessionTimeout, Watcher watcher,
long sessionId, byte[] sessionPasswd) throws IOException {
|