zookeeper-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From build...@apache.org
Subject svn commit: r794045 [1/2] - in /websites/staging/zookeeper/trunk/content: bookkeeper/ bookkeeper/docs/trunk/ doc/trunk/ doc/trunk/skin/
Date Mon, 08 Aug 2011 23:27:18 GMT
Author: buildbot
Date: Mon Aug  8 23:27:16 2011
New Revision: 794045

Log:
Staging update by buildbot

Modified:
    websites/staging/zookeeper/trunk/content/bookkeeper/docs/trunk/bookkeeperProgrammer.html
    websites/staging/zookeeper/trunk/content/bookkeeper/index.html
    websites/staging/zookeeper/trunk/content/doc/trunk/bookkeeperConfig.html
    websites/staging/zookeeper/trunk/content/doc/trunk/bookkeeperConfig.pdf
    websites/staging/zookeeper/trunk/content/doc/trunk/bookkeeperOverview.html
    websites/staging/zookeeper/trunk/content/doc/trunk/bookkeeperOverview.pdf
    websites/staging/zookeeper/trunk/content/doc/trunk/bookkeeperProgrammer.html
    websites/staging/zookeeper/trunk/content/doc/trunk/bookkeeperProgrammer.pdf
    websites/staging/zookeeper/trunk/content/doc/trunk/bookkeeperStarted.html
    websites/staging/zookeeper/trunk/content/doc/trunk/bookkeeperStarted.pdf
    websites/staging/zookeeper/trunk/content/doc/trunk/bookkeeperStream.html
    websites/staging/zookeeper/trunk/content/doc/trunk/bookkeeperStream.pdf
    websites/staging/zookeeper/trunk/content/doc/trunk/index.html
    websites/staging/zookeeper/trunk/content/doc/trunk/index.pdf
    websites/staging/zookeeper/trunk/content/doc/trunk/javaExample.html
    websites/staging/zookeeper/trunk/content/doc/trunk/javaExample.pdf
    websites/staging/zookeeper/trunk/content/doc/trunk/linkmap.html
    websites/staging/zookeeper/trunk/content/doc/trunk/linkmap.pdf
    websites/staging/zookeeper/trunk/content/doc/trunk/recipes.html
    websites/staging/zookeeper/trunk/content/doc/trunk/recipes.pdf
    websites/staging/zookeeper/trunk/content/doc/trunk/releasenotes.html
    websites/staging/zookeeper/trunk/content/doc/trunk/releasenotes.pdf
    websites/staging/zookeeper/trunk/content/doc/trunk/skin/basic.css
    websites/staging/zookeeper/trunk/content/doc/trunk/skin/screen.css
    websites/staging/zookeeper/trunk/content/doc/trunk/zookeeperAdmin.html
    websites/staging/zookeeper/trunk/content/doc/trunk/zookeeperAdmin.pdf
    websites/staging/zookeeper/trunk/content/doc/trunk/zookeeperHierarchicalQuorums.html
    websites/staging/zookeeper/trunk/content/doc/trunk/zookeeperHierarchicalQuorums.pdf
    websites/staging/zookeeper/trunk/content/doc/trunk/zookeeperInternals.html
    websites/staging/zookeeper/trunk/content/doc/trunk/zookeeperInternals.pdf
    websites/staging/zookeeper/trunk/content/doc/trunk/zookeeperJMX.html
    websites/staging/zookeeper/trunk/content/doc/trunk/zookeeperJMX.pdf
    websites/staging/zookeeper/trunk/content/doc/trunk/zookeeperObservers.html
    websites/staging/zookeeper/trunk/content/doc/trunk/zookeeperObservers.pdf
    websites/staging/zookeeper/trunk/content/doc/trunk/zookeeperOver.html
    websites/staging/zookeeper/trunk/content/doc/trunk/zookeeperOver.pdf
    websites/staging/zookeeper/trunk/content/doc/trunk/zookeeperProgrammers.html
    websites/staging/zookeeper/trunk/content/doc/trunk/zookeeperProgrammers.pdf
    websites/staging/zookeeper/trunk/content/doc/trunk/zookeeperQuotas.html
    websites/staging/zookeeper/trunk/content/doc/trunk/zookeeperQuotas.pdf
    websites/staging/zookeeper/trunk/content/doc/trunk/zookeeperStarted.html
    websites/staging/zookeeper/trunk/content/doc/trunk/zookeeperStarted.pdf
    websites/staging/zookeeper/trunk/content/doc/trunk/zookeeperTutorial.html
    websites/staging/zookeeper/trunk/content/doc/trunk/zookeeperTutorial.pdf

Modified: websites/staging/zookeeper/trunk/content/bookkeeper/docs/trunk/bookkeeperProgrammer.html
==============================================================================
--- websites/staging/zookeeper/trunk/content/bookkeeper/docs/trunk/bookkeeperProgrammer.html (original)
+++ websites/staging/zookeeper/trunk/content/bookkeeper/docs/trunk/bookkeeperProgrammer.html Mon Aug  8 23:27:16 2011
@@ -205,7 +205,7 @@
 <p> <code>public LedgerHandle openLedger(long lId, DigestType type, byte passwd[]) throws InterruptedException, BKException </code> </p>
 
 <ul>
-<li> <code>ledgerId</code> is the ledger identifier; </li>
+<li> <code>lId</code> is the ledger identifier; </li>
 <li> <code>type</code> is the type of digest used with entries: either <span class="caps">MAC </span>or <span class="caps">CRC32. </span></li>
 <li> <code>passwd</code> is a password to access the ledger (used only in the case of <code>VERIFIABLE</code> ledgers); </li>
 </ul>
@@ -227,6 +227,34 @@
 <li> <code>ctx</code> is control object used for accountability purposes. </li>
 </ul>
 
+<p>The two calls above to open a ledger recover the ledger if it has not been closed properly before it reads entries from it. It is also possible to open a ledger and read from it without triggering the recovery process with the following methods of <code>org.apache.bookkeeper.client.BookKeeper</code> . </p>
+
+<p> <em>Synchronous open:</em> </p>
+
+<p> <code>public LedgerHandle openLedgerNoRecovery(long lId, DigestType type, byte passwd[]) throws InterruptedException, BKException </code> </p>
+
+<ul>
+<li> <code>lId</code> is the ledger identifier; </li>
+<li> <code>type</code> is the type of digest used with entries: either <span class="caps">MAC </span>or <span class="caps">CRC32. </span></li>
+<li> <code>passwd</code> is a password to access the ledger (used only in the case of <code>VERIFIABLE</code> ledgers); </li>
+</ul>
+
+
+<p> <em>Asynchronous open:</em> </p>
+
+<p> <code>public void asyncOpenLedgerNoRecovery(long lId, DigestType type, byte passwd[], OpenCallback cb, Object ctx) </code> </p>
+
+<p>It also takes a a ledger identifier and a password. Additionaly, it takes a callback object  <code>cb</code> and a control object <code>ctx</code> . The callback object must implement the <code>OpenCallback</code> interface in <code>org.apache.bookkeeper.client.AsyncCallback</code> , and a class implementing it has to implement a method called <code>openComplete</code> that has the following signature: </p>
+
+<p> <code>public void openComplete(int rc, LedgerHandle lh, Object ctx) </code> </p>
+
+<p>where: </p>
+
+<ul>
+<li> <code>rc</code> is a return code (please refer to <code>org.apache.bookeeper.client.BKDefs</code> for a list); </li>
+<li> <code>lh</code> is a <code>LedgerHandle</code> object to manipulate a ledger; </li>
+<li> <code>ctx</code> is control object used for accountability purposes. </li>
+</ul>
 
 <h1> Reading from ledger </h1>
 
@@ -287,6 +315,30 @@
 <li> <code>rc</code> is a return code (please refer to <code>org.apache.bookeeper.client.BKDefs</code> for a list); </li>
 <li> <code>ctx</code> is control object used for accountability purposes. </li>
 </ul>
+
+<h1> Reading the last confirmed entry from a ledger </h1>
+
+<p>When reading from an open ledger (opening without recovery enables it), it is often necessary to read the last confirmed hint that the writer client writes along with every entry. The general idea is to obtain the hint from a quorum and return the largest value. The following methods belong to <code>org.apache.bookkeeper.client.BookKeeper</code> . </p>
+
+<p> <em>Synchronous read:</em> </p>
+
+<p> <code>public long readLastConfirmed() </code> </p>
+
+<p> <em>Asynchronous read:</em> </p>
+
+<p> <code>public void asyncReadLastConfirmed(ReadLastConfirmedComplete cb, Object ctx) </code> <br />
+ <br />
+p. It takes a callback object  <code>cb</code> and a control object <code>ctx</code> . The callback object must implement the <code>ReadLastConfirmedCallback</code> interface in <code>org.apache.bookkeeper.client.AsyncCallback</code> , and a class implementing it has to implement a method called <code>readLastConfirmedComplete</code> that has the following signature: </p>
+
+<p><code>public void readLastConfirmedComplete (int rc, long lastConfirmed, Object ctx) </code></p>
+
+<p>where: </p>
+
+<ul>
+<li> <code>rc</code> is a return code (please refer to <code>org.apache.bookeeper.client.BKDefs</code> for a list); </li>
+<li> <code>lastConfirmed</code> is the maximum last confirmed hint received among a quorum of bookies; </li>
+<li> <code>ctx</code> is control object used for accountability purposes. </li>
+</ul>
           </div>
         </td>
         <td valign="top">

Modified: websites/staging/zookeeper/trunk/content/bookkeeper/index.html
==============================================================================
--- websites/staging/zookeeper/trunk/content/bookkeeper/index.html (original)
+++ websites/staging/zookeeper/trunk/content/bookkeeper/index.html Mon Aug  8 23:27:16 2011
@@ -55,8 +55,6 @@
           <div class="wiki-content">
  <h1>Welcome to Apache BookKeeper&trade;</h1>
 
-<p><em>this site is still under construction</em></p>
-
 <p>The Apache BookKeeper subproject of ZooKeeper is made up of a distributed logging service called BookKeeper and a distribute publish/subscribe system build on top of BookKeeper called Hedwig.</p>
 
 <h2>What is the BookKeeper?</h2>

Modified: websites/staging/zookeeper/trunk/content/doc/trunk/bookkeeperConfig.html
==============================================================================
--- websites/staging/zookeeper/trunk/content/doc/trunk/bookkeeperConfig.html (original)
+++ websites/staging/zookeeper/trunk/content/doc/trunk/bookkeeperConfig.html Mon Aug  8 23:27:16 2011
@@ -3,7 +3,7 @@
 <head>
 <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
 <meta content="Apache Forrest" name="Generator">
-<meta name="Forrest-version" content="0.8">
+<meta name="Forrest-version" content="0.9">
 <meta name="Forrest-skin-name" content="pelt">
 <title>BookKeeper Administrator's Guide</title>
 <link type="text/css" href="skin/basic.css" rel="stylesheet">
@@ -204,6 +204,7 @@ document.write("Last Published: " + docu
 </div>
 <h1>BookKeeper Administrator's Guide</h1>
 <h3>Setup Guide</h3>
+<div id="front-matter">
 <div id="minitoc-area">
 <ul class="minitoc">
 <li>
@@ -222,6 +223,7 @@ document.write("Last Published: " + docu
 </li>
 </ul>
 </div>
+</div>
   
 
   
@@ -229,7 +231,7 @@ document.write("Last Published: " + docu
   
 
   
-<a name="N1000B"></a><a name="bk_deployment"></a>
+<a name="bk_deployment"></a>
 <h2 class="h3">Deployment</h2>
 <div class="section">
 <p>This section contains information about deploying BookKeeper and
@@ -267,7 +269,7 @@ document.write("Last Published: " + docu
      (BookKeeper storage servers). The third section explains how we use ZooKeeper and our requirements with
      respect to ZooKeeper.
     </p>
-<a name="N10032"></a><a name="bk_sysReq"></a>
+<a name="bk_sysReq"></a>
 <h3 class="h4">System requirements</h3>
 <p> A typical BookKeeper installation comprises a set of bookies and a set of ZooKeeper replicas. The exact number of bookies
  	   depends on the quorum mode, desired throughput, and number of clients using this installation simultaneously. The minimum number of
@@ -283,7 +285,7 @@ document.write("Last Published: " + docu
  	   mode with multiple servers. Please refer to the ZooKeeper documentation for detail on how to configure ZooKeeper with multiple
  	   replicas
  	   </p>
-<a name="N10042"></a><a name="bk_runningBookies"></a>
+<a name="bk_runningBookies"></a>
 <h3 class="h4">Running bookies</h3>
 <p>
  	   To run a bookie, we execute the following command:
@@ -341,7 +343,7 @@ document.write("Last Published: " + docu
  	   Ideally, <span class="codefrag computeroutput">/path_to_log_device/ </span> and <span class="codefrag computeroutput">/path_to_ledger_device/ </span> are each
  	   in a different device. 
  	   </p>
-<a name="N1007A"></a><a name="bk_zkMetadata"></a>
+<a name="bk_zkMetadata"></a>
 <h3 class="h4">ZooKeeper Metadata</h3>
 <p>
  	   For BookKeeper, we require a ZooKeeper installation to store metadata, and to pass the list

Modified: websites/staging/zookeeper/trunk/content/doc/trunk/bookkeeperConfig.pdf
==============================================================================
Files websites/staging/zookeeper/trunk/content/doc/trunk/bookkeeperConfig.pdf (original) and websites/staging/zookeeper/trunk/content/doc/trunk/bookkeeperConfig.pdf Mon Aug  8 23:27:16 2011 differ

Modified: websites/staging/zookeeper/trunk/content/doc/trunk/bookkeeperOverview.html
==============================================================================
--- websites/staging/zookeeper/trunk/content/doc/trunk/bookkeeperOverview.html (original)
+++ websites/staging/zookeeper/trunk/content/doc/trunk/bookkeeperOverview.html Mon Aug  8 23:27:16 2011
@@ -3,7 +3,7 @@
 <head>
 <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
 <meta content="Apache Forrest" name="Generator">
-<meta name="Forrest-version" content="0.8">
+<meta name="Forrest-version" content="0.9">
 <meta name="Forrest-skin-name" content="pelt">
 <title>BookKeeper overview</title>
 <link type="text/css" href="skin/basic.css" rel="stylesheet">
@@ -203,6 +203,7 @@ document.write("Last Published: " + docu
         PDF</a>
 </div>
 <h1>BookKeeper overview</h1>
+<div id="front-matter">
 <div id="minitoc-area">
 <ul class="minitoc">
 <li>
@@ -230,14 +231,15 @@ document.write("Last Published: " + docu
 </li>
 </ul>
 </div>
+</div>
   
 
   
   
-<a name="N10009"></a><a name="bk_Overview"></a>
+<a name="bk_Overview"></a>
 <h2 class="h3">BookKeeper overview</h2>
 <div class="section">
-<a name="N1000F"></a><a name="bk_Intro"></a>
+<a name="bk_Intro"></a>
 <h3 class="h4">BookKeeper introduction</h3>
 <p>
 	BookKeeper is a replicated service to reliably log streams of records. In BookKeeper, 
@@ -287,7 +289,7 @@ document.write("Last Published: " + docu
 </li>
 	
 </ul>
-<a name="N10034"></a><a name="bk_moreDetail"></a>
+<a name="bk_moreDetail"></a>
 <h3 class="h4">In slightly more detail...</h3>
 <p> BookKeeper implements highly available logs, and it has been designed with write-ahead logging in mind. Besides high availability
     due to the replicated nature of the service, it provides high throughput due to striping. As we write entries in a subset of bookies of an
@@ -308,7 +310,7 @@ document.write("Last Published: " + docu
 	Although two clients may try to recover a ledger concurrently, only one will succeed, the first one that is able to create the close znode
 	for the ledger.
 	</p>
-<a name="N10044"></a><a name="bk_basicComponents"></a>
+<a name="bk_basicComponents"></a>
 <h3 class="h4">Bookkeeper elements and concepts</h3>
 <p> 
 	BookKeeper uses four basic elements:
@@ -361,7 +363,7 @@ document.write("Last Published: " + docu
 </li>
     
 </ul>
-<a name="N10078"></a><a name="bk_initialDesign"></a>
+<a name="bk_initialDesign"></a>
 <h3 class="h4">Bookkeeper initial design</h3>
 <p>
     A set of bookies implements BookKeeper, and we use a quorum-based protocol to replicate data across the bookies. 
@@ -544,7 +546,7 @@ document.write("Last Published: " + docu
 	invalid (a bad MAC for example), the client will make a request to a different bookie. By using quorum writes, 
 	as long as enough bookies are up we are guaranteed to eventually be able to read an entry.
 	</p>
-<a name="N10132"></a><a name="bk_metadata"></a>
+<a name="bk_metadata"></a>
 <h3 class="h4">Bookkeeper metadata management</h3>
 <p>
 	There are some meta data that needs to be made available to BookKeeper clients:
@@ -592,7 +594,7 @@ document.write("Last Published: " + docu
 	use znodes to track ledger creation and deletion and also to know the end of the ledger and the bookies that 
 	were used to store the ledger. Bookies also watch the ledger list so that they can cleanup ledgers that get deleted.
 	</p>
-<a name="N1015A"></a><a name="bk_closingOut"></a>
+<a name="bk_closingOut"></a>
 <h3 class="h4">Closing out ledgers</h3>
 <p>
 	The process of closing out the ledger and finding the last ledger is difficult due to the durability guarantees of BookKeeper:

Modified: websites/staging/zookeeper/trunk/content/doc/trunk/bookkeeperOverview.pdf
==============================================================================
Files websites/staging/zookeeper/trunk/content/doc/trunk/bookkeeperOverview.pdf (original) and websites/staging/zookeeper/trunk/content/doc/trunk/bookkeeperOverview.pdf Mon Aug  8 23:27:16 2011 differ

Modified: websites/staging/zookeeper/trunk/content/doc/trunk/bookkeeperProgrammer.html
==============================================================================
--- websites/staging/zookeeper/trunk/content/doc/trunk/bookkeeperProgrammer.html (original)
+++ websites/staging/zookeeper/trunk/content/doc/trunk/bookkeeperProgrammer.html Mon Aug  8 23:27:16 2011
@@ -3,7 +3,7 @@
 <head>
 <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
 <meta content="Apache Forrest" name="Generator">
-<meta name="Forrest-version" content="0.8">
+<meta name="Forrest-version" content="0.9">
 <meta name="Forrest-skin-name" content="pelt">
 <title>BookKeeper Getting Started Guide</title>
 <link type="text/css" href="skin/basic.css" rel="stylesheet">
@@ -203,6 +203,7 @@ document.write("Last Published: " + docu
         PDF</a>
 </div>
 <h1>BookKeeper Getting Started Guide</h1>
+<div id="front-matter">
 <div id="minitoc-area">
 <ul class="minitoc">
 <li>
@@ -233,11 +234,12 @@ document.write("Last Published: " + docu
 </li>
 </ul>
 </div>
+</div>
   
 
   
   
-<a name="N10009"></a><a name="bk_GettingStarted"></a>
+<a name="bk_GettingStarted"></a>
 <h2 class="h3">Programming with BookKeeper</h2>
 <div class="section">
 <ul>
@@ -306,7 +308,7 @@ document.write("Last Published: " + docu
       
     
 </ul>
-<a name="N1004A"></a><a name="bk_instance"></a>
+<a name="bk_instance"></a>
 <h3 class="h4"> Instantiating BookKeeper.</h3>
 <p>
     The first step to use BookKeeper is to instantiate a BookKeeper object:
@@ -403,7 +405,7 @@ document.write("Last Published: " + docu
 </li>
     
 </ul>
-<a name="N100B1"></a><a name="bk_createLedger"></a>
+<a name="bk_createLedger"></a>
 <h3 class="h4"> Creating a ledger. </h3>
 <p> Before writing entries to BookKeeper, it is necessary to create a ledger. 
     With the current BookKeeper API, it is possible to create a ledger both synchronously
@@ -549,7 +551,7 @@ document.write("Last Published: " + docu
 	The <span class="codefrag computeroutput">ctx</span> object passed as a parameter to the call to create a ledger
 	is the one same returned in the callback.
     </p>
-<a name="N10166"></a><a name="bk_writeLedger"></a>
+<a name="bk_writeLedger"></a>
 <h3 class="h4"> Adding entries to a ledger. </h3>
 <p>
     Once we have a ledger handle <span class="codefrag computeroutput">lh</span> obtained through a call to create a ledger, we
@@ -659,7 +661,7 @@ document.write("Last Published: " + docu
 </li>
 	
 </ul>
-<a name="N10201"></a><a name="bk_closeLedger"></a>
+<a name="bk_closeLedger"></a>
 <h3 class="h4"> Closing a ledger. </h3>
 <p>
     Once a client is done writing, it closes the ledger. The following methods belong
@@ -742,7 +744,7 @@ document.write("Last Published: " + docu
 </li>
 	
 </ul>
-<a name="N10276"></a><a name="bk_openLedger"></a>
+<a name="bk_openLedger"></a>
 <h3 class="h4"> Opening a ledger. </h3>
 <p>
     To read from a ledger, a client must open it first. The following methods belong
@@ -854,7 +856,7 @@ document.write("Last Published: " + docu
 </li>
 	
 </ul>
-<a name="N1030D"></a><a name="bk_readLedger"></a>
+<a name="bk_readLedger"></a>
 <h3 class="h4"> Reading from ledger </h3>
 <p>
     Read calls may request one or more consecutive entries. The following methods belong
@@ -968,7 +970,7 @@ document.write("Last Published: " + docu
 </li>
 	
 </ul>
-<a name="N103A4"></a><a name="bk_deleteLedger"></a>
+<a name="bk_deleteLedger"></a>
 <h3 class="h4"> Deleting a ledger </h3>
 <p>
     Once a client is done with a ledger and is sure that nobody will ever need to read from it again, they can delete the ledger.

Modified: websites/staging/zookeeper/trunk/content/doc/trunk/bookkeeperProgrammer.pdf
==============================================================================
Files websites/staging/zookeeper/trunk/content/doc/trunk/bookkeeperProgrammer.pdf (original) and websites/staging/zookeeper/trunk/content/doc/trunk/bookkeeperProgrammer.pdf Mon Aug  8 23:27:16 2011 differ

Modified: websites/staging/zookeeper/trunk/content/doc/trunk/bookkeeperStarted.html
==============================================================================
--- websites/staging/zookeeper/trunk/content/doc/trunk/bookkeeperStarted.html (original)
+++ websites/staging/zookeeper/trunk/content/doc/trunk/bookkeeperStarted.html Mon Aug  8 23:27:16 2011
@@ -3,7 +3,7 @@
 <head>
 <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
 <meta content="Apache Forrest" name="Generator">
-<meta name="Forrest-version" content="0.8">
+<meta name="Forrest-version" content="0.9">
 <meta name="Forrest-skin-name" content="pelt">
 <title>BookKeeper Getting Started Guide</title>
 <link type="text/css" href="skin/basic.css" rel="stylesheet">
@@ -203,6 +203,7 @@ document.write("Last Published: " + docu
         PDF</a>
 </div>
 <h1>BookKeeper Getting Started Guide</h1>
+<div id="front-matter">
 <div id="minitoc-area">
 <ul class="minitoc">
 <li>
@@ -230,11 +231,12 @@ document.write("Last Published: " + docu
 </li>
 </ul>
 </div>
+</div>
   
 
   
   
-<a name="N10009"></a><a name="bk_GettingStarted"></a>
+<a name="bk_GettingStarted"></a>
 <h2 class="h3">Getting Started: Setting up BookKeeper to write logs.</h2>
 <div class="section">
 <p>This document contains information to get you started quickly with
@@ -243,25 +245,25 @@ document.write("Last Published: " + docu
     and a simple programming example. For further programming detail, please refer to 
     <a href="bookkeeperProgrammer.html">BookKeeper Programmer's Guide</a>.
     </p>
-<a name="N10016"></a><a name="bk_Prerequisites"></a>
+<a name="bk_Prerequisites"></a>
 <h3 class="h4">Pre-requisites</h3>
 <p>See <a href="bookkeeperConfig.html#bk_sysReq">
     	      System Requirements</a> in the Admin guide.</p>
-<a name="N10024"></a><a name="bk_Download"></a>
+<a name="bk_Download"></a>
 <h3 class="h4">Download</h3>
 <p> BookKeeper is distributed along with ZooKeeper. To get a ZooKeeper distribution, 
 			   download a recent
     	    <a href="http://hadoop.apache.org/zookeeper/releases.html">
         	  stable</a> release from one of the Apache Download
        	 Mirrors.</p>
-<a name="N10032"></a><a name="bk_localBK"></a>
+<a name="bk_localBK"></a>
 <h3 class="h4">LocalBookKeeper</h3>
 <p> Under org.apache.bookkeeper.util, you'll find a java program
 		called LocalBookKeeper.java that sets you up to run BookKeeper on a 
 		single machine. This is far from ideal from a performance perspective,
 		but the program is useful for both test and educational purposes.
 		</p>
-<a name="N1003C"></a><a name="bk_setupBookies"></a>
+<a name="bk_setupBookies"></a>
 <h3 class="h4">Setting up bookies</h3>
 <p> If you're bold and you want more than just running things locally, then
 		you'll need to run bookies in different servers. You'll need at least three bookies
@@ -284,7 +286,7 @@ document.write("Last Published: " + docu
 		If we had multiple ZooKeeper servers, this parameter would be a comma separated list of all the hostname:port
 		values corresponding to them.
 		</p>
-<a name="N10051"></a><a name="bk_setupZK"></a>
+<a name="bk_setupZK"></a>
 <h3 class="h4">Setting up ZooKeeper</h3>
 <p> ZooKeeper stores metadata on behalf of BookKeeper clients and bookies. To get a minimal 
 	  	ZooKeeper installation to work with BookKeeper, we can set up one server running in
@@ -326,7 +328,7 @@ document.write("Last Published: " + docu
 </li>
 	  	
 </ol>
-<a name="N10078"></a><a name="bk_example"></a>
+<a name="bk_example"></a>
 <h3 class="h4">Example</h3>
 <p>
 	    In the following excerpt of code, we:

Modified: websites/staging/zookeeper/trunk/content/doc/trunk/bookkeeperStarted.pdf
==============================================================================
Files websites/staging/zookeeper/trunk/content/doc/trunk/bookkeeperStarted.pdf (original) and websites/staging/zookeeper/trunk/content/doc/trunk/bookkeeperStarted.pdf Mon Aug  8 23:27:16 2011 differ

Modified: websites/staging/zookeeper/trunk/content/doc/trunk/bookkeeperStream.html
==============================================================================
--- websites/staging/zookeeper/trunk/content/doc/trunk/bookkeeperStream.html (original)
+++ websites/staging/zookeeper/trunk/content/doc/trunk/bookkeeperStream.html Mon Aug  8 23:27:16 2011
@@ -3,7 +3,7 @@
 <head>
 <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
 <meta content="Apache Forrest" name="Generator">
-<meta name="Forrest-version" content="0.8">
+<meta name="Forrest-version" content="0.9">
 <meta name="Forrest-skin-name" content="pelt">
 <title>Streaming with BookKeeper</title>
 <link type="text/css" href="skin/basic.css" rel="stylesheet">
@@ -203,6 +203,7 @@ document.write("Last Published: " + docu
         PDF</a>
 </div>
 <h1>Streaming with BookKeeper</h1>
+<div id="front-matter">
 <div id="minitoc-area">
 <ul class="minitoc">
 <li>
@@ -216,11 +217,12 @@ document.write("Last Published: " + docu
 </li>
 </ul>
 </div>
+</div>
   
 
   
 	
-<a name="N10009"></a><a name="bk_StreamSummary"></a>
+<a name="bk_StreamSummary"></a>
 <h2 class="h3">Summary</h2>
 <div class="section">
 <p>
@@ -238,7 +240,7 @@ document.write("Last Published: " + docu
 </div>
     
     
-<a name="N10022"></a><a name="bk_LedgerOutputStream"></a>
+<a name="bk_LedgerOutputStream"></a>
 <h2 class="h3">Writing a stream of bytes</h2>
 <div class="section">
 <p>
@@ -419,7 +421,7 @@ document.write("Last Published: " + docu
 </div>
     
     
-<a name="N100E7"></a><a name="bk_LedgerInputStream"></a>
+<a name="bk_LedgerInputStream"></a>
 <h2 class="h3">Reading a stream of bytes</h2>
 <div class="section">
 <p>

Modified: websites/staging/zookeeper/trunk/content/doc/trunk/bookkeeperStream.pdf
==============================================================================
Files websites/staging/zookeeper/trunk/content/doc/trunk/bookkeeperStream.pdf (original) and websites/staging/zookeeper/trunk/content/doc/trunk/bookkeeperStream.pdf Mon Aug  8 23:27:16 2011 differ

Modified: websites/staging/zookeeper/trunk/content/doc/trunk/index.html
==============================================================================
--- websites/staging/zookeeper/trunk/content/doc/trunk/index.html (original)
+++ websites/staging/zookeeper/trunk/content/doc/trunk/index.html Mon Aug  8 23:27:16 2011
@@ -3,7 +3,7 @@
 <head>
 <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
 <meta content="Apache Forrest" name="Generator">
-<meta name="Forrest-version" content="0.8">
+<meta name="Forrest-version" content="0.9">
 <meta name="Forrest-skin-name" content="pelt">
 <title>ZooKeeper: Because Coordinating Distributed Systems is a Zoo</title>
 <link type="text/css" href="skin/basic.css" rel="stylesheet">
@@ -206,6 +206,7 @@ document.write("Last Published: " + docu
         PDF</a>
 </div>
 <h1>ZooKeeper: Because Coordinating Distributed Systems is a Zoo</h1>
+<div id="front-matter"></div>
     
 <p>ZooKeeper is a high-performance coordination service for
       distributed applications.  It exposes common services - such as

Modified: websites/staging/zookeeper/trunk/content/doc/trunk/index.pdf
==============================================================================
Files websites/staging/zookeeper/trunk/content/doc/trunk/index.pdf (original) and websites/staging/zookeeper/trunk/content/doc/trunk/index.pdf Mon Aug  8 23:27:16 2011 differ

Modified: websites/staging/zookeeper/trunk/content/doc/trunk/javaExample.html
==============================================================================
--- websites/staging/zookeeper/trunk/content/doc/trunk/javaExample.html (original)
+++ websites/staging/zookeeper/trunk/content/doc/trunk/javaExample.html Mon Aug  8 23:27:16 2011
@@ -3,7 +3,7 @@
 <head>
 <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
 <meta content="Apache Forrest" name="Generator">
-<meta name="Forrest-version" content="0.8">
+<meta name="Forrest-version" content="0.9">
 <meta name="Forrest-skin-name" content="pelt">
 <title>ZooKeeper Java Example</title>
 <link type="text/css" href="skin/basic.css" rel="stylesheet">
@@ -203,6 +203,7 @@ document.write("Last Published: " + docu
         PDF</a>
 </div>
 <h1>ZooKeeper Java Example</h1>
+<div id="front-matter">
 <div id="minitoc-area">
 <ul class="minitoc">
 <li>
@@ -227,18 +228,19 @@ document.write("Last Published: " + docu
 </li>
 </ul>
 </div>
+</div>
   
 
   
 
   
-<a name="N10009"></a><a name="ch_Introduction"></a>
+<a name="ch_Introduction"></a>
 <h2 class="h3">A Simple Watch Client</h2>
 <div class="section">
 <p>To introduce you to the ZooKeeper Java API, we develop here a very simple 
     watch client. This ZooKeeper client watches a ZooKeeper node for changes 
     and responds to by starting or stopping a program.</p>
-<a name="N10012"></a><a name="sc_requirements"></a>
+<a name="sc_requirements"></a>
 <h3 class="h4">Requirements</h3>
 <p>The client has four requirements:</p>
 <ul>
@@ -273,7 +275,7 @@ document.write("Last Published: " + docu
 <p>If the znode disappears, the client kills the executable.</p>
 </li>
 </ul>
-<a name="N1003B"></a><a name="sc_design"></a>
+<a name="sc_design"></a>
 <h3 class="h4">Program Design</h3>
 <p>Conventionally, ZooKeeper applications are broken into two units, one which maintains the connection, 
    and the other which monitors data.  In this application, the class called the <strong>Executor</strong> 
@@ -285,7 +287,7 @@ document.write("Last Published: " + docu
 </div>
 
    
-<a name="N1004C"></a><a name="sc_executor"></a>
+<a name="sc_executor"></a>
 <h2 class="h3">The Executor Class</h2>
 <div class="section">
 <p>The Executor object is the primary container of the sample application. It contains 
@@ -431,7 +433,7 @@ public void closing(int rc) {
 </pre>
 </div>
 
-<a name="N100A0"></a><a name="sc_DataMonitor"></a>
+<a name="sc_DataMonitor"></a>
 <h2 class="h3">The DataMonitor Class</h2>
 <div class="section">
 <p>
@@ -571,7 +573,7 @@ function, when DataMonitor gets an event
 </div>
 
 
-<a name="N10104"></a><a name="sc_completeSourceCode"></a>
+<a name="sc_completeSourceCode"></a>
 <h2 class="h3">Complete Source Listings</h2>
 <div class="section">
 <div class="note example">

Modified: websites/staging/zookeeper/trunk/content/doc/trunk/javaExample.pdf
==============================================================================
Files websites/staging/zookeeper/trunk/content/doc/trunk/javaExample.pdf (original) and websites/staging/zookeeper/trunk/content/doc/trunk/javaExample.pdf Mon Aug  8 23:27:16 2011 differ

Modified: websites/staging/zookeeper/trunk/content/doc/trunk/linkmap.html
==============================================================================
--- websites/staging/zookeeper/trunk/content/doc/trunk/linkmap.html (original)
+++ websites/staging/zookeeper/trunk/content/doc/trunk/linkmap.html Mon Aug  8 23:27:16 2011
@@ -3,7 +3,7 @@
 <head>
 <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
 <meta content="Apache Forrest" name="Generator">
-<meta name="Forrest-version" content="0.8">
+<meta name="Forrest-version" content="0.9">
 <meta name="Forrest-skin-name" content="pelt">
 <title>Site Linkmap Table of Contents</title>
 <link type="text/css" href="skin/basic.css" rel="stylesheet">
@@ -203,6 +203,7 @@ document.write("Last Published: " + docu
         PDF</a>
 </div>
 <h1>Site Linkmap Table of Contents</h1>
+<div id="front-matter"></div>
 <p>
           This is a map of the complete site and its structure.
         </p>

Modified: websites/staging/zookeeper/trunk/content/doc/trunk/linkmap.pdf
==============================================================================
Files websites/staging/zookeeper/trunk/content/doc/trunk/linkmap.pdf (original) and websites/staging/zookeeper/trunk/content/doc/trunk/linkmap.pdf Mon Aug  8 23:27:16 2011 differ

Modified: websites/staging/zookeeper/trunk/content/doc/trunk/recipes.html
==============================================================================
--- websites/staging/zookeeper/trunk/content/doc/trunk/recipes.html (original)
+++ websites/staging/zookeeper/trunk/content/doc/trunk/recipes.html Mon Aug  8 23:27:16 2011
@@ -3,7 +3,7 @@
 <head>
 <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
 <meta content="Apache Forrest" name="Generator">
-<meta name="Forrest-version" content="0.8">
+<meta name="Forrest-version" content="0.9">
 <meta name="Forrest-skin-name" content="pelt">
 <title>ZooKeeper Recipes and Solutions</title>
 <link type="text/css" href="skin/basic.css" rel="stylesheet">
@@ -203,6 +203,7 @@ document.write("Last Published: " + docu
         PDF</a>
 </div>
 <h1>ZooKeeper Recipes and Solutions</h1>
+<div id="front-matter">
 <div id="minitoc-area">
 <ul class="minitoc">
 <li>
@@ -249,12 +250,13 @@ document.write("Last Published: " + docu
 </li>
 </ul>
 </div>
+</div>
   
 
   
 
   
-<a name="N10009"></a><a name="ch_recipes"></a>
+<a name="ch_recipes"></a>
 <h2 class="h3">A Guide to Creating Higher-level Constructs with ZooKeeper</h2>
 <div class="section">
 <p>In this article, you'll find guidelines for using
@@ -279,7 +281,7 @@ document.write("Last Published: " + docu
     as event handles or queues, a more practical means of performing the same
     function. In general, the examples in this section are designed to
     stimulate thought.</p>
-<a name="N10021"></a><a name="sc_outOfTheBox"></a>
+<a name="sc_outOfTheBox"></a>
 <h3 class="h4">Out of the Box Applications: Name Service, Configuration, Group
     Membership</h3>
 <p>Name service and configuration are two of the primary applications
@@ -290,7 +292,7 @@ document.write("Last Published: " + docu
     group create ephemeral nodes under the group node. Nodes of the members
     that fail abnormally will be removed automatically when ZooKeeper detects
     the failure.</p>
-<a name="N10031"></a><a name="sc_recipes_eventHandles"></a>
+<a name="sc_recipes_eventHandles"></a>
 <h3 class="h4">Barriers</h3>
 <p>Distributed systems use <em>barriers</em>
       to block processing of a set of nodes until a condition is met
@@ -334,7 +336,7 @@ document.write("Last Published: " + docu
 </li>
     
 </ol>
-<a name="N10067"></a><a name="sc_doubleBarriers"></a>
+<a name="sc_doubleBarriers"></a>
 <h4>Double Barriers</h4>
 <p>Double barriers enable clients to synchronize the beginning and
       the end of a computation. When enough processes have joined the barrier,
@@ -500,7 +502,7 @@ document.write("Last Published: " + docu
       (picking the highest for simplicity) to go away. This means that only a
       single process wakes up on each node deletion except for the last node,
       which wakes up everyone when it is removed.</p>
-<a name="N1011A"></a><a name="sc_recipes_Queues"></a>
+<a name="sc_recipes_Queues"></a>
 <h3 class="h4">Queues</h3>
 <p>Distributed queues are a common data structure. To implement a
     distributed queue in ZooKeeper, first designate a znode to hold the queue,
@@ -528,7 +530,7 @@ document.write("Last Published: " + docu
     
 </div>
 </div>
-<a name="N1013E"></a><a name="sc_recipes_priorityQueues"></a>
+<a name="sc_recipes_priorityQueues"></a>
 <h4>Priority Queues</h4>
 <p>To implement a priority queue, you need only make two simple
       changes to the generic <a href="#sc_recipes_Queues">queue
@@ -538,7 +540,7 @@ document.write("Last Published: " + docu
       from the queue, a client uses an up-to-date children list meaning that
       the client will invalidate previously obtained children lists if a watch
       notification triggers for the queue node.</p>
-<a name="N1014D"></a><a name="sc_recipes_Locks"></a>
+<a name="sc_recipes_Locks"></a>
 <h3 class="h4">Locks</h3>
 <p>Fully distributed locks that are globally synchronous, meaning at
     any snapshot in time no two clients think they hold the same lock. These
@@ -637,7 +639,7 @@ document.write("Last Published: " + docu
 </li>
     
 </ul>
-<a name="N101BF"></a><a name="Shared+Locks"></a>
+<a name="Shared+Locks"></a>
 <h4>Shared Locks</h4>
 <p>You can implement shared locks by with a few changes to the lock
       protocol:</p>
@@ -799,7 +801,7 @@ document.write("Last Published: " + docu
       
 </div>
 </div>
-<a name="N1028B"></a><a name="sc_recoverableSharedLocks"></a>
+<a name="sc_recoverableSharedLocks"></a>
 <h4>Recoverable Shared Locks</h4>
 <p>With minor modifications to the Shared Lock protocol, you make
       shared locks revocable by modifying the shared lock protocol:</p>
@@ -821,7 +823,7 @@ document.write("Last Published: " + docu
       Laser Beams</em> by stipulating in your protocol that the revoker
       is allowed to delete the lock node if after some length of time the lock
       isn't deleted by the lock holder.</p>
-<a name="N102B7"></a><a name="sc_recipes_twoPhasedCommit"></a>
+<a name="sc_recipes_twoPhasedCommit"></a>
 <h3 class="h4">Two-phased Commit</h3>
 <p>A two-phase commit protocol is an algorithm that lets all clients in
     a distributed system agree either to commit a transaction or abort.</p>
@@ -853,7 +855,7 @@ document.write("Last Published: " + docu
 <p>To address the second problem, you can have the coordinator
     propagate the transaction to the sites, and have each site creating its
     own ephemeral node.</p>
-<a name="N102D0"></a><a name="sc_leaderElection"></a>
+<a name="sc_leaderElection"></a>
 <h3 class="h4">Leader Election</h3>
 <p>A simple way of doing leader election with ZooKeeper is to use the
     <strong>SEQUENCE|EPHEMERAL</strong> flags when creating

Modified: websites/staging/zookeeper/trunk/content/doc/trunk/recipes.pdf
==============================================================================
Files websites/staging/zookeeper/trunk/content/doc/trunk/recipes.pdf (original) and websites/staging/zookeeper/trunk/content/doc/trunk/recipes.pdf Mon Aug  8 23:27:16 2011 differ

Modified: websites/staging/zookeeper/trunk/content/doc/trunk/releasenotes.html
==============================================================================
--- websites/staging/zookeeper/trunk/content/doc/trunk/releasenotes.html (original)
+++ websites/staging/zookeeper/trunk/content/doc/trunk/releasenotes.html Mon Aug  8 23:27:16 2011
@@ -3,7 +3,7 @@
 <head>
 <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
 <meta content="Apache Forrest" name="Generator">
-<meta name="Forrest-version" content="0.8">
+<meta name="Forrest-version" content="0.9">
 <meta name="Forrest-skin-name" content="pelt">
 <title>ZooKeeper 3.0.0 Release Notes</title>
 <link type="text/css" href="skin/basic.css" rel="stylesheet">
@@ -203,6 +203,7 @@ document.write("Last Published: " + docu
         PDF</a>
 </div>
 <h1>ZooKeeper 3.0.0 Release Notes</h1>
+<div id="front-matter">
 <div id="minitoc-area">
 <ul class="minitoc">
 <li>
@@ -235,6 +236,7 @@ document.write("Last Published: " + docu
 </li>
 </ul>
 </div>
+</div>
   
 
   
@@ -262,7 +264,7 @@ These release notes include new develope
 </ul>
 
 
-<a name="N1001B"></a><a name="migration"></a>
+<a name="migration"></a>
 <h2 class="h3">Migration Instructions when Upgrading to 3.0.0</h2>
 <div class="section">
 <p>
@@ -297,7 +299,7 @@ Note: ZooKeeper increments the major ver
 </li>
 
 </ul>
-<a name="N10045"></a><a name="migration_code"></a>
+<a name="migration_code"></a>
 <h3 class="h4">Migrating Client Code</h3>
 <p>
   The underlying client-server protocol has changed in version 3.0.0
@@ -306,7 +308,7 @@ Note: ZooKeeper increments the major ver
   pre-3.0.0 clients are not guaranteed to operate against upgraded
   3.0.0 servers and vice-versa).
 </p>
-<a name="N1004E"></a><a name="Watch+Management"></a>
+<a name="Watch+Management"></a>
 <h4>Watch Management</h4>
 <p>
 In previous releases of ZooKeeper any watches registered by clients were lost if the client lost a connection to a ZooKeeper server.
@@ -322,7 +324,7 @@ This release also allows clients to spec
 This gives the developer the ability to modularize logic in different watch functions rather than cramming everything in the watch function attached to the ZooKeeper handle.
 Call specific watch functions receive all session events for as long as they are active, but will only receive the watch callbacks for which they are registered.
 </p>
-<a name="N1005B"></a><a name="Java+API"></a>
+<a name="Java+API"></a>
 <h4>Java API</h4>
 <ol>
   
@@ -344,7 +346,7 @@ Call specific watch functions receive al
 Also see <a href="http://hadoop.apache.org/zookeeper/docs/current/api/index.html">the current java API</a>
 
 </p>
-<a name="N1008D"></a><a name="C+API"></a>
+<a name="C+API"></a>
 <h4>C API</h4>
 <ol>
   
@@ -353,7 +355,7 @@ Also see <a href="http://hadoop.apache.o
 </li>
 
 </ol>
-<a name="N100A0"></a><a name="migration_data"></a>
+<a name="migration_data"></a>
 <h3 class="h4">Migrating Server Data</h3>
 <p>
 The following issues resulted in changes to the on-disk data format (the snapshot and transaction log files contained within the ZK data directory) and require a migration utility to be run. 
@@ -499,7 +501,7 @@ The following issues resulted in changes
 </li> 
  
 </ol>
-<a name="N10135"></a><a name="migration_config"></a>
+<a name="migration_config"></a>
 <h3 class="h4">Migrating Server Configuration</h3>
 <p>
 There is a significant change to the ZooKeeper server configuration file.
@@ -523,7 +525,7 @@ There is a significant change to the Zoo
 </div>
 
 
-<a name="N10162"></a><a name="changes"></a>
+<a name="changes"></a>
 <h2 class="h3">Changes Since ZooKeeper 2.2.1</h2>
 <div class="section">
 <p>

Modified: websites/staging/zookeeper/trunk/content/doc/trunk/releasenotes.pdf
==============================================================================
Files websites/staging/zookeeper/trunk/content/doc/trunk/releasenotes.pdf (original) and websites/staging/zookeeper/trunk/content/doc/trunk/releasenotes.pdf Mon Aug  8 23:27:16 2011 differ

Modified: websites/staging/zookeeper/trunk/content/doc/trunk/skin/basic.css
==============================================================================
--- websites/staging/zookeeper/trunk/content/doc/trunk/skin/basic.css (original)
+++ websites/staging/zookeeper/trunk/content/doc/trunk/skin/basic.css Mon Aug  8 23:27:16 2011
@@ -39,6 +39,7 @@ img { border: 0; }
 }
 
 .note, .warning, .fixme {
+  clear:right;
   border: solid black 1px;
   margin: 1em 3em;
 }

Modified: websites/staging/zookeeper/trunk/content/doc/trunk/skin/screen.css
==============================================================================
--- websites/staging/zookeeper/trunk/content/doc/trunk/skin/screen.css (original)
+++ websites/staging/zookeeper/trunk/content/doc/trunk/skin/screen.css Mon Aug  8 23:27:16 2011
@@ -418,12 +418,12 @@ img.cornersmall {
     position: relative; /* IE bugfix cont'd */
     padding: 5px;
     margin: 0;
-    width: 45%;
+    width: 60%;
 }
 #footer .lastmodified {
     position: relative; /* IE bugfix cont'd */
     float: right;
-    width: 45%;
+    width: 30%;
     padding: 5px;
     margin: 0;
     text-align: right;
@@ -455,17 +455,13 @@ acronym { cursor: help; }
 }
 
 #motd-area {
-    position: relative; /* IE bugfix cont'd */
-    float: right;
+    position:relative;
+    float:right;
     width: 35%;
     background-color: #f0f0ff;
-    border-top: solid 1px #4C6C8F;
-    border-bottom: solid 1px #4C6C8F;
-    margin-bottom: 15px;
-    margin-left: 15px;
-    margin-right: 10%;
-    padding-bottom: 5px;
-    padding-top: 5px;
+    border: solid 1px #4C6C8F;
+    margin: 0px 0px 10px 10px;
+    padding: 5px;
 }
 
 #minitoc-area {
@@ -483,6 +479,10 @@ acronym { cursor: help; }
     font-weight: normal;
 }
 
+.abstract{
+    text-align:justify;
+    }
+
 li p {
     margin: 0;
     padding: 0;

Modified: websites/staging/zookeeper/trunk/content/doc/trunk/zookeeperAdmin.html
==============================================================================
--- websites/staging/zookeeper/trunk/content/doc/trunk/zookeeperAdmin.html (original)
+++ websites/staging/zookeeper/trunk/content/doc/trunk/zookeeperAdmin.html Mon Aug  8 23:27:16 2011
@@ -3,7 +3,7 @@
 <head>
 <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
 <meta content="Apache Forrest" name="Generator">
-<meta name="Forrest-version" content="0.8">
+<meta name="Forrest-version" content="0.9">
 <meta name="Forrest-skin-name" content="pelt">
 <title>ZooKeeper Administrator's Guide</title>
 <link type="text/css" href="skin/basic.css" rel="stylesheet">
@@ -204,6 +204,7 @@ document.write("Last Published: " + docu
 </div>
 <h1>ZooKeeper Administrator's Guide</h1>
 <h3>A Guide to Deployment and Administration</h3>
+<div id="front-matter">
 <div id="minitoc-area">
 <ul class="minitoc">
 <li>
@@ -324,6 +325,7 @@ document.write("Last Published: " + docu
 </li>
 </ul>
 </div>
+</div>
   
 
   
@@ -331,7 +333,7 @@ document.write("Last Published: " + docu
   
 
   
-<a name="N1000B"></a><a name="ch_deployment"></a>
+<a name="ch_deployment"></a>
 <h2 class="h3">Deployment</h2>
 <div class="section">
 <p>This section contains information about deploying Zookeeper and
@@ -370,9 +372,9 @@ document.write("Last Published: " + docu
     section covers situations in which you are setting up ZooKeeper on a
     limited basis - for evaluation, testing, or development - but not in a
     production environment.</p>
-<a name="N10032"></a><a name="sc_systemReq"></a>
+<a name="sc_systemReq"></a>
 <h3 class="h4">System Requirements</h3>
-<a name="N10038"></a><a name="sc_supportedPlatforms"></a>
+<a name="sc_supportedPlatforms"></a>
 <h4>Supported Platforms</h4>
 <ul>
           
@@ -413,7 +415,7 @@ document.write("Last Published: " + docu
 </li>
         
 </ul>
-<a name="N10066"></a><a name="sc_requiredSoftware"></a>
+<a name="sc_requiredSoftware"></a>
 <h4>Required Software </h4>
 <p>ZooKeeper runs in Java, release 1.6 or greater (JDK 6 or
           greater).  It runs as an <em>ensemble</em> of
@@ -422,7 +424,7 @@ document.write("Last Published: " + docu
           they run on separate machines. At Yahoo!, ZooKeeper is
           usually deployed on dedicated RHEL boxes, with dual-core
           processors, 2GB of RAM, and 80GB IDE hard drives.</p>
-<a name="N10074"></a><a name="sc_zkMulitServerSetup"></a>
+<a name="sc_zkMulitServerSetup"></a>
 <h3 class="h4">Clustered (Multi-Server) Setup</h3>
 <p>For reliable ZooKeeper service, you should deploy ZooKeeper in a
       cluster known as an <em>ensemble</em>. As long as a majority
@@ -609,7 +611,7 @@ server.3=zoo3:2888:3888</pre>
 </li>
       
 </ol>
-<a name="N1011B"></a><a name="sc_singleAndDevSetup"></a>
+<a name="sc_singleAndDevSetup"></a>
 <h3 class="h4">Single Server and Developer Setup</h3>
 <p>If you want to setup ZooKeeper for development purposes, you will
       probably want to setup a single server instance of ZooKeeper, and then
@@ -627,7 +629,7 @@ server.3=zoo3:2888:3888</pre>
 </div>
 
   
-<a name="N1013C"></a><a name="ch_administration"></a>
+<a name="ch_administration"></a>
 <h2 class="h3">Administration</h2>
 <div class="section">
 <p>This section contains information about running and maintaining
@@ -760,7 +762,7 @@ server.3=zoo3:2888:3888</pre>
 </li>
       
 </ul>
-<a name="N101B8"></a><a name="sc_designing"></a>
+<a name="sc_designing"></a>
 <h3 class="h4">Designing a ZooKeeper Deployment</h3>
 <p>The reliablity of ZooKeeper rests on two basic assumptions.</p>
 <ol>
@@ -787,7 +789,7 @@ server.3=zoo3:2888:3888</pre>
       to hold true. Some of these are cross-machines considerations,
       and others are things you should consider for each and every
       machine in your deployment.</p>
-<a name="N101D4"></a><a name="sc_CrossMachineRequirements"></a>
+<a name="sc_CrossMachineRequirements"></a>
 <h4>Cross Machine Requirements</h4>
 <p>For the ZooKeeper service to be active, there must be a
         majority of non-failing machines that can communicate with
@@ -805,7 +807,7 @@ server.3=zoo3:2888:3888</pre>
         failure of that switch could cause a correlated failure and
         bring down the service. The same holds true of shared power
         circuits, cooling systems, etc.</p>
-<a name="N101E1"></a><a name="Single+Machine+Requirements"></a>
+<a name="Single+Machine+Requirements"></a>
 <h4>Single Machine Requirements</h4>
 <p>If ZooKeeper has to contend with other applications for
         access to resourses like storage media, CPU, network, or
@@ -846,20 +848,20 @@ server.3=zoo3:2888:3888</pre>
 </li>
       
 </ul>
-<a name="N101FF"></a><a name="sc_provisioning"></a>
+<a name="sc_provisioning"></a>
 <h3 class="h4">Provisioning</h3>
 <p></p>
-<a name="N10208"></a><a name="sc_strengthsAndLimitations"></a>
+<a name="sc_strengthsAndLimitations"></a>
 <h3 class="h4">Things to Consider: ZooKeeper Strengths and Limitations</h3>
 <p></p>
-<a name="N10211"></a><a name="sc_administering"></a>
+<a name="sc_administering"></a>
 <h3 class="h4">Administering</h3>
 <p></p>
-<a name="N1021A"></a><a name="sc_maintenance"></a>
+<a name="sc_maintenance"></a>
 <h3 class="h4">Maintenance</h3>
 <p>Little long term maintenance is required for a ZooKeeper
         cluster however you must be aware of the following:</p>
-<a name="N10223"></a><a name="Ongoing+Data+Directory+Cleanup"></a>
+<a name="Ongoing+Data+Directory+Cleanup"></a>
 <h4>Ongoing Data Directory Cleanup</h4>
 <p>The ZooKeeper <a href="#var_datadir">Data
           Directory</a> contains files which are a persistent copy
@@ -889,7 +891,7 @@ server.3=zoo3:2888:3888</pre>
         can be run as a cron job on the ZooKeeper server machines to
         clean up the logs daily.</p>
 <pre class="code"> java -cp zookeeper.jar:lib/slf4j-api-1.6.1.jar:lib/slf4j-log4j12-1.6.1.jar:lib/log4j-1.2.15.jar:conf org.apache.zookeeper.server.PurgeTxnLog &lt;dataDir&gt; &lt;snapDir&gt; -n &lt;count&gt;</pre>
-<a name="N10244"></a><a name="Debug+Log+Cleanup+%28log4j%29"></a>
+<a name="Debug+Log+Cleanup+%28log4j%29"></a>
 <h4>Debug Log Cleanup (log4j)</h4>
 <p>See the section on <a href="#sc_logging">logging</a> in this document. It is
         expected that you will setup a rolling file appender using the
@@ -897,7 +899,7 @@ server.3=zoo3:2888:3888</pre>
         release tar's conf/log4j.properties provides an example of
         this.
         </p>
-<a name="N10253"></a><a name="sc_supervision"></a>
+<a name="sc_supervision"></a>
 <h3 class="h4">Supervision</h3>
 <p>You will want to have a supervisory process that manages
       each of your ZooKeeper server processes (JVM). The ZK server is
@@ -916,12 +918,12 @@ server.3=zoo3:2888:3888</pre>
       examples) managing your ZooKeeper server ensures that if the
       process does exit abnormally it will automatically be restarted
       and will quickly rejoin the cluster.</p>
-<a name="N10268"></a><a name="sc_monitoring"></a>
+<a name="sc_monitoring"></a>
 <h3 class="h4">Monitoring</h3>
 <p>The ZooKeeper service can be monitored in one of two
       primary ways; 1) the command port through the use of <a href="#sc_zkCommands">4 letter words</a> and 2) <a href="zookeeperJMX.html">JMX</a>. See the appropriate section for
       your environment/requirements.</p>
-<a name="N1027A"></a><a name="sc_logging"></a>
+<a name="sc_logging"></a>
 <h3 class="h4">Logging</h3>
 <p>ZooKeeper uses <strong>log4j</strong> version 1.2 as 
       its logging infrastructure. The  ZooKeeper default <span class="codefrag filename">log4j.properties</span> 
@@ -931,7 +933,7 @@ server.3=zoo3:2888:3888</pre>
 <p>For more information, see 
       <a href="http://logging.apache.org/log4j/1.2/manual.html#defaultInit">Log4j Default Initialization Procedure</a> 
       of the log4j manual.</p>
-<a name="N1029A"></a><a name="sc_troubleshooting"></a>
+<a name="sc_troubleshooting"></a>
 <h3 class="h4">Troubleshooting</h3>
 <dl>
 		
@@ -951,7 +953,7 @@ server.3=zoo3:2888:3888</pre>
 </dd>
 		
 </dl>
-<a name="N102AB"></a><a name="sc_configuration"></a>
+<a name="sc_configuration"></a>
 <h3 class="h4">Configuration Parameters</h3>
 <p>ZooKeeper's behavior is governed by the ZooKeeper configuration
       file. This file is designed so that the exact same file can be used by
@@ -959,7 +961,7 @@ server.3=zoo3:2888:3888</pre>
       layouts are the same. If servers use different configuration files, care
       must be taken to ensure that the list of servers in all of the different
       configuration files match.</p>
-<a name="N102B4"></a><a name="sc_minimumConfiguration"></a>
+<a name="sc_minimumConfiguration"></a>
 <h4>Minimum Configuration</h4>
 <p>Here are the minimum configuration keywords that must be defined
         in the configuration file:</p>
@@ -1006,7 +1008,7 @@ server.3=zoo3:2888:3888</pre>
 </dd>
         
 </dl>
-<a name="N102DB"></a><a name="sc_advancedConfiguration"></a>
+<a name="sc_advancedConfiguration"></a>
 <h4>Advanced Configuration</h4>
 <p>The configuration settings in the section are optional. You can
         use them to further fine tune the behaviour of your ZooKeeper servers.
@@ -1102,7 +1104,7 @@ server.3=zoo3:2888:3888</pre>
               level) that a single client, identified by IP address, may make
               to a single member of the ZooKeeper ensemble. This is used to 
               prevent certain classes of DoS attacks, including file 
-              descriptor exhaustion. The default is 10. Setting this to 0 
+              descriptor exhaustion. The default is 60. Setting this to 0
               entirely removes the limit on concurrent connections.</p>
 </dd>
 
@@ -1148,7 +1150,7 @@ server.3=zoo3:2888:3888</pre>
 </dd>
         
 </dl>
-<a name="N1036C"></a><a name="sc_clusterOptions"></a>
+<a name="sc_clusterOptions"></a>
 <h4>Cluster Options</h4>
 <p>The options in this section are designed for use with an ensemble
         of servers -- that is, when deploying clusters of servers.</p>
@@ -1305,7 +1307,7 @@ server.3=zoo3:2888:3888</pre>
         
 </dl>
 <p></p>
-<a name="N103FD"></a><a name="sc_authOptions"></a>
+<a name="sc_authOptions"></a>
 <h4>Authentication &amp; Authorization Options</h4>
 <p>The options in this section allow control over
         authentication/authorization performed by the service.</p>
@@ -1339,7 +1341,7 @@ server.3=zoo3:2888:3888</pre>
 </dd>
         
 </dl>
-<a name="N10420"></a><a name="Unsafe+Options"></a>
+<a name="Unsafe+Options"></a>
 <h4>Unsafe Options</h4>
 <p>The following options can be useful, but be careful when you use
         them. The risk of each is explained along with the explanation of what
@@ -1384,7 +1386,7 @@ server.3=zoo3:2888:3888</pre>
 </dd>
         
 </dl>
-<a name="N10451"></a><a name="Communication+using+the+Netty+framework"></a>
+<a name="Communication+using+the+Netty+framework"></a>
 <h4>Communication using the Netty framework</h4>
 <p>
 <strong>New in
@@ -1417,7 +1419,7 @@ server.3=zoo3:2888:3888</pre>
 <p>
           TBD - how to manage certificates
         </p>
-<a name="N1046E"></a><a name="sc_zkCommands"></a>
+<a name="sc_zkCommands"></a>
 <h3 class="h4">ZooKeeper Commands: The Four Letter Words</h3>
 <p>ZooKeeper responds to a small set of commands. Each command is
       composed of four letters. You issue the commands to ZooKeeper via telnet
@@ -1598,7 +1600,7 @@ zk_max_file_descriptor_count 1024   - on
 <pre class="code">$ echo ruok | nc 127.0.0.1 5111
 imok
 </pre>
-<a name="N104FE"></a><a name="sc_dataFileManagement"></a>
+<a name="sc_dataFileManagement"></a>
 <h3 class="h4">Data File Management</h3>
 <p>ZooKeeper stores its data in a data directory and its transaction
       log in a transaction log directory. By default these two directories are
@@ -1606,7 +1608,7 @@ imok
       transaction log files in a separate directory than the data files.
       Throughput increases and latency decreases when transaction logs reside
       on a dedicated log devices.</p>
-<a name="N10507"></a><a name="The+Data+Directory"></a>
+<a name="The+Data+Directory"></a>
 <h4>The Data Directory</h4>
 <p>This directory has two files in it:</p>
 <ul>
@@ -1652,14 +1654,14 @@ imok
         idempotent nature of its updates. By replaying the transaction log
         against fuzzy snapshots ZooKeeper gets the state of the system at the
         end of the log.</p>
-<a name="N10543"></a><a name="The+Log+Directory"></a>
+<a name="The+Log+Directory"></a>
 <h4>The Log Directory</h4>
 <p>The Log Directory contains the ZooKeeper transaction logs.
         Before any update takes place, ZooKeeper ensures that the transaction
         that represents the update is written to non-volatile storage. A new
         log file is started each time a snapshot is begun. The log file's
         suffix is the first zxid written to that log.</p>
-<a name="N1054D"></a><a name="sc_filemanagement"></a>
+<a name="sc_filemanagement"></a>
 <h4>File Management</h4>
 <p>The format of snapshot and log files does not change between
         standalone ZooKeeper servers and different configurations of
@@ -1679,7 +1681,7 @@ imok
         this document for more details on setting a retention policy
         and maintenance of ZooKeeper storage.
         </p>
-<a name="N10562"></a><a name="sc_commonProblems"></a>
+<a name="sc_commonProblems"></a>
 <h3 class="h4">Things to Avoid</h3>
 <p>Here are some common problems you can avoid by configuring
       ZooKeeper correctly:</p>
@@ -1733,7 +1735,7 @@ imok
 </dd>
       
 </dl>
-<a name="N10586"></a><a name="sc_bestPractices"></a>
+<a name="sc_bestPractices"></a>
 <h3 class="h4">Best Practices</h3>
 <p>For best results, take note of the following list of good
       Zookeeper practices:</p>

Modified: websites/staging/zookeeper/trunk/content/doc/trunk/zookeeperAdmin.pdf
==============================================================================
Files websites/staging/zookeeper/trunk/content/doc/trunk/zookeeperAdmin.pdf (original) and websites/staging/zookeeper/trunk/content/doc/trunk/zookeeperAdmin.pdf Mon Aug  8 23:27:16 2011 differ

Modified: websites/staging/zookeeper/trunk/content/doc/trunk/zookeeperHierarchicalQuorums.html
==============================================================================
--- websites/staging/zookeeper/trunk/content/doc/trunk/zookeeperHierarchicalQuorums.html (original)
+++ websites/staging/zookeeper/trunk/content/doc/trunk/zookeeperHierarchicalQuorums.html Mon Aug  8 23:27:16 2011
@@ -3,7 +3,7 @@
 <head>
 <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
 <meta content="Apache Forrest" name="Generator">
-<meta name="Forrest-version" content="0.8">
+<meta name="Forrest-version" content="0.9">
 <meta name="Forrest-skin-name" content="pelt">
 <title>Introduction to hierarchical quorums</title>
 <link type="text/css" href="skin/basic.css" rel="stylesheet">
@@ -203,6 +203,7 @@ document.write("Last Published: " + docu
         PDF</a>
 </div>
 <h1>Introduction to hierarchical quorums</h1>
+<div id="front-matter"></div>
   
 
   

Modified: websites/staging/zookeeper/trunk/content/doc/trunk/zookeeperHierarchicalQuorums.pdf
==============================================================================
Files websites/staging/zookeeper/trunk/content/doc/trunk/zookeeperHierarchicalQuorums.pdf (original) and websites/staging/zookeeper/trunk/content/doc/trunk/zookeeperHierarchicalQuorums.pdf Mon Aug  8 23:27:16 2011 differ

Modified: websites/staging/zookeeper/trunk/content/doc/trunk/zookeeperInternals.html
==============================================================================
--- websites/staging/zookeeper/trunk/content/doc/trunk/zookeeperInternals.html (original)
+++ websites/staging/zookeeper/trunk/content/doc/trunk/zookeeperInternals.html Mon Aug  8 23:27:16 2011
@@ -3,7 +3,7 @@
 <head>
 <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
 <meta content="Apache Forrest" name="Generator">
-<meta name="Forrest-version" content="0.8">
+<meta name="Forrest-version" content="0.9">
 <meta name="Forrest-skin-name" content="pelt">
 <title>ZooKeeper Internals</title>
 <link type="text/css" href="skin/basic.css" rel="stylesheet">
@@ -203,6 +203,7 @@ document.write("Last Published: " + docu
         PDF</a>
 </div>
 <h1>ZooKeeper Internals</h1>
+<div id="front-matter">
 <div id="minitoc-area">
 <ul class="minitoc">
 <li>
@@ -249,12 +250,13 @@ document.write("Last Published: " + docu
 </li>
 </ul>
 </div>
+</div>
   
 
   
 
   
-<a name="N10009"></a><a name="ch_Introduction"></a>
+<a name="ch_Introduction"></a>
 <h2 class="h3">Introduction</h2>
 <div class="section">
 <p>This document contains information on the inner workings of ZooKeeper. 
@@ -278,12 +280,12 @@ document.write("Last Published: " + docu
 </div>
 
 
-<a name="N10022"></a><a name="sc_atomicBroadcast"></a>
+<a name="sc_atomicBroadcast"></a>
 <h2 class="h3">Atomic Broadcast</h2>
 <div class="section">
 <p>
 At the heart of ZooKeeper is an atomic messaging system that keeps all of the servers in sync.</p>
-<a name="N1002B"></a><a name="sc_guaranteesPropertiesDefinitions"></a>
+<a name="sc_guaranteesPropertiesDefinitions"></a>
 <h3 class="h4">Guarantees, Properties, and Definitions</h3>
 <p>
 The specific guarantees provided by the messaging system used by ZooKeeper are the following:</p>
@@ -472,7 +474,7 @@ yourself, <em>Does the set of proposals 
 included all the proposals that really have been committed?</em> The answer is <em>yes</em>. 
 Below, we make clear why.)
 </p>
-<a name="N100B9"></a><a name="sc_leaderElection"></a>
+<a name="sc_leaderElection"></a>
 <h3 class="h4">Leader Activation</h3>
 <p>
 Leader activation includes leader election. We currently have two leader election 
@@ -558,7 +560,7 @@ NEW_LEADER proposal will not be committe
 When this happens, the leader and any remaining followers will timeout and go back 
 to leader election.
 </p>
-<a name="N100F7"></a><a name="sc_activeMessaging"></a>
+<a name="sc_activeMessaging"></a>
 <h3 class="h4">Active Messaging</h3>
 <p>
 Leader Activation does all the heavy lifting. Once the leader is coronated he can 
@@ -606,7 +608,7 @@ message when that proposal is committed.
 
 
 </ul>
-<a name="N1011E"></a><a name="sc_summary"></a>
+<a name="sc_summary"></a>
 <h3 class="h4">Summary</h3>
 <p>So there you go. Why does it work? Specifically, why does is set of proposals 
 believed by a new leader always contain any proposal that has actually been committed? 
@@ -618,7 +620,7 @@ follow a single leader at a time; a new 
 from the previous epoch since it has seen the highest zxid from a quorum of servers; 
 any uncommited proposals from a previous epoch seen by a new leader will be committed 
 by that leader before it becomes active.</p>
-<a name="N10127"></a><a name="sc_comparisons"></a>
+<a name="sc_comparisons"></a>
 <h3 class="h4">Comparisons</h3>
 <p>
 Isn't this just Multi-Paxos? No, Multi-Paxos requires some way of assuring that 
@@ -638,7 +640,7 @@ proposals and to not worry about duplica
 </div>
 
 
-<a name="N10134"></a><a name="sc_quorum"></a>
+<a name="sc_quorum"></a>
 <h2 class="h3">Quorums</h2>
 <div class="section">
 <p>
@@ -673,7 +675,7 @@ hierarchy of groups.
 </div>
 
 
-<a name="N10147"></a><a name="sc_logging"></a>
+<a name="sc_logging"></a>
 <h2 class="h3">Logging</h2>
 <div class="section">
 <p>
@@ -689,14 +691,14 @@ of the <a href="zookeeperAdmin.html">Zoo
 
 
 </p>
-<a name="N10160"></a><a name="sc_developerGuidelines"></a>
+<a name="sc_developerGuidelines"></a>
 <h3 class="h4">Developer Guidelines</h3>
 <p>Please follow the  
 <a href="http://www.slf4j.org/manual.html">slf4j manual</a> when creating log statements within code.
 Also read the
 <a href="http://www.slf4j.org/faq.html#logging_performance">FAQ on performance</a>
 , when creating log statements. Patch reviewers will look for the following:</p>
-<a name="N10170"></a><a name="sc_rightLevel"></a>
+<a name="sc_rightLevel"></a>
 <h4>Logging at the Right Level</h4>
 <p>
 There are several levels of logging in slf4j. 
@@ -727,7 +729,7 @@ It's important to pick the right one. In
 <p>
 ZooKeeper is typically run in production such that log messages of INFO level 
 severity and higher (more severe) are output to the log.</p>
-<a name="N10193"></a><a name="sc_slf4jIdioms"></a>
+<a name="sc_slf4jIdioms"></a>
 <h4>Use of Standard slf4j Idioms</h4>
 <p>
 <em>Static Message Logging</em>

Modified: websites/staging/zookeeper/trunk/content/doc/trunk/zookeeperInternals.pdf
==============================================================================
Files websites/staging/zookeeper/trunk/content/doc/trunk/zookeeperInternals.pdf (original) and websites/staging/zookeeper/trunk/content/doc/trunk/zookeeperInternals.pdf Mon Aug  8 23:27:16 2011 differ

Modified: websites/staging/zookeeper/trunk/content/doc/trunk/zookeeperJMX.html
==============================================================================
--- websites/staging/zookeeper/trunk/content/doc/trunk/zookeeperJMX.html (original)
+++ websites/staging/zookeeper/trunk/content/doc/trunk/zookeeperJMX.html Mon Aug  8 23:27:16 2011
@@ -3,7 +3,7 @@
 <head>
 <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
 <meta content="Apache Forrest" name="Generator">
-<meta name="Forrest-version" content="0.8">
+<meta name="Forrest-version" content="0.9">
 <meta name="Forrest-skin-name" content="pelt">
 <title>ZooKeeper JMX</title>
 <link type="text/css" href="skin/basic.css" rel="stylesheet">
@@ -203,6 +203,7 @@ document.write("Last Published: " + docu
         PDF</a>
 </div>
 <h1>ZooKeeper JMX</h1>
+<div id="front-matter">
 <div id="minitoc-area">
 <ul class="minitoc">
 <li>
@@ -219,12 +220,13 @@ document.write("Last Published: " + docu
 </li>
 </ul>
 </div>
+</div>
   
 
   
 
   
-<a name="N10009"></a><a name="ch_jmx"></a>
+<a name="ch_jmx"></a>
 <h2 class="h3">JMX</h2>
 <div class="section">
 <p>Apache ZooKeeper has extensive support for JMX, allowing you
@@ -243,7 +245,7 @@ document.write("Last Published: " + docu
 </div>
 
   
-<a name="N10024"></a><a name="ch_starting"></a>
+<a name="ch_starting"></a>
 <h2 class="h3">Starting ZooKeeper with JMX enabled</h2>
 <div class="section">
 <p>The class
@@ -256,7 +258,7 @@ document.write("Last Published: " + docu
 </div>
 
   
-<a name="N10034"></a><a name="ch_console"></a>
+<a name="ch_console"></a>
 <h2 class="h3">Run a JMX console</h2>
 <div class="section">
 <p>There are a number of JMX consoles available which can connect
@@ -291,7 +293,7 @@ document.write("Last Published: " + docu
 </div>
 
   
-<a name="N1005F"></a><a name="ch_reference"></a>
+<a name="ch_reference"></a>
 <h2 class="h3">ZooKeeper MBean Reference</h2>
 <div class="section">
 <p>This table details JMX for a server participating in a

Modified: websites/staging/zookeeper/trunk/content/doc/trunk/zookeeperJMX.pdf
==============================================================================
Files websites/staging/zookeeper/trunk/content/doc/trunk/zookeeperJMX.pdf (original) and websites/staging/zookeeper/trunk/content/doc/trunk/zookeeperJMX.pdf Mon Aug  8 23:27:16 2011 differ

Modified: websites/staging/zookeeper/trunk/content/doc/trunk/zookeeperObservers.html
==============================================================================
--- websites/staging/zookeeper/trunk/content/doc/trunk/zookeeperObservers.html (original)
+++ websites/staging/zookeeper/trunk/content/doc/trunk/zookeeperObservers.html Mon Aug  8 23:27:16 2011
@@ -3,7 +3,7 @@
 <head>
 <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
 <meta content="Apache Forrest" name="Generator">
-<meta name="Forrest-version" content="0.8">
+<meta name="Forrest-version" content="0.9">
 <meta name="Forrest-skin-name" content="pelt">
 <title>ZooKeeper Observers</title>
 <link type="text/css" href="skin/basic.css" rel="stylesheet">
@@ -203,6 +203,7 @@ document.write("Last Published: " + docu
         PDF</a>
 </div>
 <h1>ZooKeeper Observers</h1>
+<div id="front-matter">
 <div id="minitoc-area">
 <ul class="minitoc">
 <li>
@@ -217,12 +218,13 @@ document.write("Last Published: " + docu
 </li>
 </ul>
 </div>
+</div>
   
 
   
 
   
-<a name="N10009"></a><a name="ch_Introduction"></a>
+<a name="ch_Introduction"></a>
 <h2 class="h3">Observers: Scaling ZooKeeper Without Hurting Write Performance
       </h2>
 <div class="section">
@@ -260,7 +262,7 @@ document.write("Last Published: " + docu
     </p>
 </div>
   
-<a name="N1001C"></a><a name="sc_UsingObservers"></a>
+<a name="sc_UsingObservers"></a>
 <h2 class="h3">How to use Observers</h2>
 <div class="section">
 <p>Setting up a ZooKeeper ensemble that uses Observers is very simple,
@@ -295,7 +297,7 @@ document.write("Last Published: " + docu
 </div>
   
   
-<a name="N1003B"></a><a name="ch_UseCases"></a>
+<a name="ch_UseCases"></a>
 <h2 class="h3">Example use cases</h2>
 <div class="section">
 <p>

Modified: websites/staging/zookeeper/trunk/content/doc/trunk/zookeeperObservers.pdf
==============================================================================
Files websites/staging/zookeeper/trunk/content/doc/trunk/zookeeperObservers.pdf (original) and websites/staging/zookeeper/trunk/content/doc/trunk/zookeeperObservers.pdf Mon Aug  8 23:27:16 2011 differ

Modified: websites/staging/zookeeper/trunk/content/doc/trunk/zookeeperOver.html
==============================================================================
--- websites/staging/zookeeper/trunk/content/doc/trunk/zookeeperOver.html (original)
+++ websites/staging/zookeeper/trunk/content/doc/trunk/zookeeperOver.html Mon Aug  8 23:27:16 2011
@@ -3,7 +3,7 @@
 <head>
 <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
 <meta content="Apache Forrest" name="Generator">
-<meta name="Forrest-version" content="0.8">
+<meta name="Forrest-version" content="0.9">
 <meta name="Forrest-skin-name" content="pelt">
 <title>ZooKeeper</title>
 <link type="text/css" href="skin/basic.css" rel="stylesheet">
@@ -203,6 +203,7 @@ document.write("Last Published: " + docu
         PDF</a>
 </div>
 <h1>ZooKeeper</h1>
+<div id="front-matter">
 <div id="minitoc-area">
 <ul class="minitoc">
 <li>
@@ -246,12 +247,13 @@ document.write("Last Published: " + docu
 </li>
 </ul>
 </div>
+</div>
   
 
   
 
   
-<a name="N10009"></a><a name="ch_DesignOverview"></a>
+<a name="ch_DesignOverview"></a>
 <h2 class="h3">ZooKeeper: A Distributed Coordination Service for Distributed
     Applications</h2>
 <div class="section">
@@ -266,7 +268,7 @@ document.write("Last Published: " + docu
     especially prone to errors such as race conditions and deadlock. The
     motivation behind ZooKeeper is to relieve distributed applications the
     responsibility of implementing coordination services from scratch.</p>
-<a name="N10015"></a><a name="sc_designGoals"></a>
+<a name="sc_designGoals"></a>
 <h3 class="h4">Design Goals</h3>
 <p>
 <strong>ZooKeeper is simple.</strong> ZooKeeper
@@ -319,7 +321,7 @@ document.write("Last Published: " + docu
       especially fast in "read-dominant" workloads. ZooKeeper applications run
       on thousands of machines, and it performs best where reads are more
       common than writes, at ratios of around 10:1.</p>
-<a name="N10045"></a><a name="sc_dataModelNameSpace"></a>
+<a name="sc_dataModelNameSpace"></a>
 <h3 class="h4">Data model and the hierarchical namespace</h3>
 <p>The name space provided by ZooKeeper is much like that of a
       standard file system. A name is a sequence of path elements separated by
@@ -337,7 +339,7 @@ document.write("Last Published: " + docu
         </td>
 </tr>
 </table>
-<a name="N1005B"></a><a name="Nodes+and+ephemeral+nodes"></a>
+<a name="Nodes+and+ephemeral+nodes"></a>
 <h3 class="h4">Nodes and ephemeral nodes</h3>
 <p>Unlike is standard file systems, each node in a ZooKeeper
       namespace can have data associated with it as well as children. It is
@@ -360,7 +362,7 @@ document.write("Last Published: " + docu
       exists as long as the session that created the znode is active. When the
       session ends the znode is deleted. Ephemeral nodes are useful when you
       want to implement <em>[tbd]</em>.</p>
-<a name="N10074"></a><a name="Conditional+updates+and+watches"></a>
+<a name="Conditional+updates+and+watches"></a>
 <h3 class="h4">Conditional updates and watches</h3>
 <p>ZooKeeper supports the concept of <em>watches</em>.
       Clients can set a watch on a znodes. A watch will be triggered and
@@ -369,7 +371,7 @@ document.write("Last Published: " + docu
       connection between the client and one of the Zoo Keeper servers is
       broken, the client will receive a local notification. These can be used
       to <em>[tbd]</em>.</p>
-<a name="N10084"></a><a name="Guarantees"></a>
+<a name="Guarantees"></a>
 <h3 class="h4">Guarantees</h3>
 <p>ZooKeeper is very fast and very simple. Since its goal, though, is
       to be a basis for the construction of more complicated services, such as
@@ -423,7 +425,7 @@ document.write("Last Published: " + docu
 <p>For more information on these, and how they can be used, see
       <em>[tbd]</em>
 </p>
-<a name="N100BA"></a><a name="Simple+API"></a>
+<a name="Simple+API"></a>
 <h3 class="h4">Simple API</h3>
 <p>One of the design goals of ZooKeeper is provide a very simple
       programming interface. As a result, it supports only these
@@ -490,7 +492,7 @@ document.write("Last Published: " + docu
       to implement higher level operations, please refer to
       <em>[tbd]</em>
 </p>
-<a name="N100FD"></a><a name="Implementation"></a>
+<a name="Implementation"></a>
 <h3 class="h4">Implementation</h3>
 <p>
 <a href="#fg_zkComponents">ZooKeeper Components</a> shows the high-level components
@@ -532,7 +534,7 @@ document.write("Last Published: " + docu
       calculates what the state of the system is when the write is to be
       applied and transforms this into a transaction that captures this new
       state.</p>
-<a name="N10128"></a><a name="Uses"></a>
+<a name="Uses"></a>
 <h3 class="h4">Uses</h3>
 <p>The programming interface to ZooKeeper is deliberately simple.
       With it, however, you can implement higher order operations, such as
@@ -541,7 +543,7 @@ document.write("Last Published: " + docu
       white paper and video presentation.]</em> For more information, see
       <em>[tbd]</em>
 </p>
-<a name="N10137"></a><a name="Performance"></a>
+<a name="Performance"></a>
 <h3 class="h4">Performance</h3>
 <p>ZooKeeper is designed to be highly performant. But is it? The
       results of the ZooKeeper's development team at Yahoo! Research indicate
@@ -619,7 +621,7 @@ document.write("Last Published: " + docu
 </li>
       
 </ol>
-<a name="N10188"></a><a name="Reliability"></a>
+<a name="Reliability"></a>
 <h3 class="h4">Reliability</h3>
 <p>To show the behavior of the system over time as
         failures are injected we ran a ZooKeeper service made up of
@@ -648,7 +650,7 @@ document.write("Last Published: " + docu
       ZooKeeper takes less than 200ms to elect a new leader. Third, as
       followers recover, ZooKeeper is able to raise throughput again once they
       start processing requests.</p>
-<a name="N101A1"></a><a name="The+ZooKeeper+Project"></a>
+<a name="The+ZooKeeper+Project"></a>
 <h3 class="h4">The ZooKeeper Project</h3>
 <p>ZooKeeper has been
         <a href="http://wiki.apache.org/hadoop/ZooKeeper/PoweredBy">

Modified: websites/staging/zookeeper/trunk/content/doc/trunk/zookeeperOver.pdf
==============================================================================
Files websites/staging/zookeeper/trunk/content/doc/trunk/zookeeperOver.pdf (original) and websites/staging/zookeeper/trunk/content/doc/trunk/zookeeperOver.pdf Mon Aug  8 23:27:16 2011 differ

Modified: websites/staging/zookeeper/trunk/content/doc/trunk/zookeeperProgrammers.html
==============================================================================
--- websites/staging/zookeeper/trunk/content/doc/trunk/zookeeperProgrammers.html (original)
+++ websites/staging/zookeeper/trunk/content/doc/trunk/zookeeperProgrammers.html Mon Aug  8 23:27:16 2011
@@ -3,7 +3,7 @@
 <head>
 <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
 <meta content="Apache Forrest" name="Generator">
-<meta name="Forrest-version" content="0.8">
+<meta name="Forrest-version" content="0.9">
 <meta name="Forrest-skin-name" content="pelt">
 <title>ZooKeeper Programmer's Guide</title>
 <link type="text/css" href="skin/basic.css" rel="stylesheet">
@@ -204,6 +204,7 @@ document.write("Last Published: " + docu
 </div>
 <h1>ZooKeeper Programmer's Guide</h1>
 <h3>Developing Distributed Applications that use ZooKeeper</h3>
+<div id="front-matter">
 <div id="minitoc-area">
 <ul class="minitoc">
 <li>
@@ -323,6 +324,7 @@ document.write("Last Published: " + docu
 </li>
 </ul>
 </div>
+</div>
   
 
   
@@ -330,7 +332,7 @@ document.write("Last Published: " + docu
   
 
   
-<a name="N1000B"></a><a name="_introduction"></a>
+<a name="_introduction"></a>
 <h2 class="h3">Introduction</h2>
 <div class="section">
 <p>This document is a guide for developers wishing to create
@@ -433,7 +435,7 @@ document.write("Last Published: " + docu
 </div>
 
   
-<a name="N1007D"></a><a name="ch_zkDataModel"></a>
+<a name="ch_zkDataModel"></a>
 <h2 class="h3">The ZooKeeper Data Model</h2>
 <div class="section">
 <p>ZooKeeper has a hierarchal name space, much like a distributed file
@@ -488,7 +490,7 @@ document.write("Last Published: " + docu
 </li>
     
 </ul>
-<a name="N100A7"></a><a name="sc_zkDataModel_znodes"></a>
+<a name="sc_zkDataModel_znodes"></a>
 <h3 class="h4">ZNodes</h3>
 <p>Every node in a ZooKeeper tree is referred to as a
       <em>znode</em>. Znodes maintain a stat structure that
@@ -520,14 +522,14 @@ document.write("Last Published: " + docu
 </div>
 <p>Znodes are the main enitity that a programmer access. They have
       several characteristics that are worth mentioning here.</p>
-<a name="N100CA"></a><a name="sc_zkDataMode_watches"></a>
+<a name="sc_zkDataMode_watches"></a>
 <h4>Watches</h4>
 <p>Clients can set watches on znodes. Changes to that znode trigger
         the watch and then clear the watch. When a watch triggers, ZooKeeper
         sends the client a notification. More information about watches can be
         found in the section 
 	    <a href="#ch_zkWatches">ZooKeeper Watches</a>.</p>
-<a name="N100D8"></a><a name="Data+Access"></a>
+<a name="Data+Access"></a>
 <h4>Data Access</h4>
 <p>The data stored at each znode in a namespace is read and written
         atomically. Reads get all the data bytes associated with a znode and a
@@ -547,13 +549,13 @@ document.write("Last Published: " + docu
         large data storage is needed, the usually pattern of dealing with such
         data is to store it on a bulk storage system, such as NFS or HDFS, and
         store pointers to the storage locations in ZooKeeper.</p>
-<a name="N100E5"></a><a name="Ephemeral+Nodes"></a>
+<a name="Ephemeral+Nodes"></a>
 <h4>Ephemeral Nodes</h4>
 <p>ZooKeeper also has the notion of ephemeral nodes. These znodes
         exists as long as the session that created the znode is active. When
         the session ends the znode is deleted. Because of this behavior
         ephemeral znodes are not allowed to have children.</p>
-<a name="N100EF"></a><a name="Sequence+Nodes+--+Unique+Naming"></a>
+<a name="Sequence+Nodes+--+Unique+Naming"></a>
 <h4>Sequence Nodes -- Unique Naming</h4>
 <p>When creating a znode you can also request that
         ZooKeeper append a monotonically increasing counter to the end
@@ -567,7 +569,7 @@ document.write("Last Published: " + docu
         (4bytes) maintained by the parent node, the counter will
         overflow when incremented beyond 2147483647 (resulting in a
         name "&lt;path&gt;-2147483647").</p>
-<a name="N100FE"></a><a name="sc_timeInZk"></a>
+<a name="sc_timeInZk"></a>
 <h3 class="h4">Time in ZooKeeper</h3>
 <p>ZooKeeper tracks time multiple ways:</p>
 <ul>
@@ -636,7 +638,7 @@ document.write("Last Published: " + docu
 </li>
       
 </ul>
-<a name="N10136"></a><a name="sc_zkStatStructure"></a>
+<a name="sc_zkStatStructure"></a>
 <h3 class="h4">ZooKeeper Stat Structure</h3>
 <p>The Stat structure for each znode in ZooKeeper is made up of the
       following fields:</p>
@@ -771,7 +773,7 @@ document.write("Last Published: " + docu
 </div>
 
   
-<a name="N101A8"></a><a name="ch_zkSessions"></a>
+<a name="ch_zkSessions"></a>
 <h2 class="h3">ZooKeeper Sessions</h2>
 <div class="section">
 <p>A ZooKeeper client establishes a session with the ZooKeeper
@@ -953,7 +955,7 @@ document.write("Last Published: " + docu
 </div>
 
   
-<a name="N10203"></a><a name="ch_zkWatches"></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
@@ -1036,7 +1038,7 @@ document.write("Last Published: " + docu
     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="N10239"></a><a name="sc_WatchGuarantees"></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>
@@ -1071,7 +1073,7 @@ document.write("Last Published: " + docu
 </li>
       
 </ul>
-<a name="N1025E"></a><a name="sc_WatchRememberThese"></a>
+<a name="sc_WatchRememberThese"></a>
 <h3 class="h4">Things to Remember about Watches</h3>
 <ul>
         
@@ -1130,7 +1132,7 @@ document.write("Last Published: " + docu
 </div>
 
   
-<a name="N1028A"></a><a name="sc_ZooKeeperAccessControl"></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
@@ -1165,7 +1167,7 @@ document.write("Last Published: " + docu
     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="N102BD"></a><a name="sc_ACLPermissions"></a>
+<a name="sc_ACLPermissions"></a>
 <h3 class="h4">ACL Permissions</h3>
 <p>ZooKeeper supports the following permissions:</p>
 <ul>
@@ -1221,7 +1223,7 @@ document.write("Last Published: " + docu
       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="N10313"></a><a name="sc_BuiltinACLSchemes"></a>
+<a name="sc_BuiltinACLSchemes"></a>
 <h4>Builtin ACL Schemes</h4>
 <p>ZooKeeeper has the following built in schemes:</p>
 <ul>
@@ -1270,7 +1272,7 @@ document.write("Last Published: " + docu
 
       
 </ul>
-<a name="N10357"></a><a name="ZooKeeper+C+client+API"></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>
@@ -1492,7 +1494,7 @@ int main(int argc, char argv) {
 </div>
 
   
-<a name="N1046E"></a><a name="sc_ZooKeeperPluggableAuthentication"></a>
+<a name="sc_ZooKeeperPluggableAuthentication"></a>
 <h2 class="h3">Pluggable ZooKeeper authentication</h2>
 <div class="section">
 <p>ZooKeeper runs in a variety of different environments with
@@ -1578,7 +1580,7 @@ authProvider.2=com.f.MyAuth2
 </div>
       
   
-<a name="N104DA"></a><a name="ch_zkGuarantees"></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
@@ -1704,12 +1706,12 @@ authProvider.2=com.f.MyAuth2
 </div>
 
   
-<a name="N10541"></a><a name="ch_bindings"></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="N1054A"></a><a name="Java+Binding"></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
@@ -1776,7 +1778,7 @@ authProvider.2=com.f.MyAuth2
       (SESSION_EXPIRED and AUTH_FAILED), the ZooKeeper object becomes invalid.
       On a close, the two threads shut down and any further access on zookeeper
       handle is undefined behavior and should be avoided. </p>
-<a name="N10593"></a><a name="C+Binding"></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
@@ -1793,7 +1795,7 @@ authProvider.2=com.f.MyAuth2
       (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="N105A2"></a><a name="Installation"></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
@@ -1924,7 +1926,7 @@ authProvider.2=com.f.MyAuth2
 </li>
         
 </ol>
-<a name="N1064B"></a><a name="Using+the+C+Client"></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
@@ -1982,7 +1984,7 @@ authProvider.2=com.f.MyAuth2
 </div>
 
    
-<a name="N10691"></a><a name="ch_guideToZkOperations"></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
@@ -2000,28 +2002,28 @@ authProvider.2=com.f.MyAuth2
 </li>
     
 </ul>
-<a name="N106A5"></a><a name="sc_errorsZk"></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="N106AF"></a><a name="sc_connectingToZk"></a>
+<a name="sc_connectingToZk"></a>
 <h3 class="h4">Connecting to ZooKeeper</h3>
 <p></p>
-<a name="N106B8"></a><a name="sc_readOps"></a>
+<a name="sc_readOps"></a>
 <h3 class="h4">Read Operations</h3>
 <p></p>
-<a name="N106C1"></a><a name="sc_writeOps"></a>
+<a name="sc_writeOps"></a>
 <h3 class="h4">Write Operations</h3>
 <p></p>
-<a name="N106CA"></a><a name="sc_handlingWatches"></a>
+<a name="sc_handlingWatches"></a>
 <h3 class="h4">Handling Watches</h3>
 <p></p>
-<a name="N106D3"></a><a name="sc_miscOps"></a>
+<a name="sc_miscOps"></a>
 <h3 class="h4">Miscelleaneous ZooKeeper Operations</h3>
 <p></p>
 </div>
 
   
-<a name="N106DD"></a><a name="ch_programStructureWithExample"></a>
+<a name="ch_programStructureWithExample"></a>
 <h2 class="h3">Program Structure, with Simple Example</h2>
 <div class="section">
 <p>
@@ -2030,7 +2032,7 @@ authProvider.2=com.f.MyAuth2
 </div>
 
   
-<a name="N106E8"></a><a name="ch_gotchas"></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: websites/staging/zookeeper/trunk/content/doc/trunk/zookeeperProgrammers.pdf
==============================================================================
Files websites/staging/zookeeper/trunk/content/doc/trunk/zookeeperProgrammers.pdf (original) and websites/staging/zookeeper/trunk/content/doc/trunk/zookeeperProgrammers.pdf Mon Aug  8 23:27:16 2011 differ



Mime
View raw message