zookeeper-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From build...@apache.org
Subject svn commit: r799871 [2/2] - /websites/staging/zookeeper/trunk/content/bookkeeper/docs/r4.0.0/
Date Wed, 07 Dec 2011 14:10:33 GMT
Added: websites/staging/zookeeper/trunk/content/bookkeeper/docs/r4.0.0/bookkeeperStream.html
==============================================================================
--- websites/staging/zookeeper/trunk/content/bookkeeper/docs/r4.0.0/bookkeeperStream.html (added)
+++ websites/staging/zookeeper/trunk/content/bookkeeper/docs/r4.0.0/bookkeeperStream.html Wed Dec  7 14:10:32 2011
@@ -0,0 +1,269 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE- 2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+
+	<link href="/bookkeeper/css/site.css" rel="stylesheet" type="text/css">
+	<link href="/bookkeeper/css/type-settings.css" rel="stylesheet" type="text/css">
+
+	<title>Apache BookKeeper - Streaming with BookKeeper</title>
+
+	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+</head>
+<body>
+<div class="white_box">
+<div class="header">
+  <div class="header_l">
+    <div class="header_r">
+    </div>
+  </div>
+</div>
+<div class="content">
+  <div class="content_l">
+    <div class="content_r">
+      <div>
+
+<!-- Banner -->
+                                                                        
+                                                                        
+            <div id="header_background">
+	<div id="bookkeeper_logo">
+		<a href="/bookkeeper"><img src="/bookkeeper/images/bookkeeper_small.gif"/></a> <b><font size=+4 color=white>Apache BookKeeper&trade;</font></b> <a href="http://apache.org"><img src="/bookkeeper/images/feather_small.gif"/></a>
+	</div>
+      </div>
+                                    
+    <table border="0">
+    <tbody>
+        <tr>
+        <td style="overflow: hidden;" valign="top" width="100%">
+          <div class="wiki-content">
+ <h1>Abstract</h1>
+
+<p>This guide contains detailed information about using how to stream bytes on top of BookKeeper. It essentially motivates and discusses the basic stream operations currently supported.</p>
+
+<h1>Summary</h1>
+
+<p>When using the BookKeeper <span class="caps">API, </span>an application has to split the data to write into entries, each entry being a byte array. This is natural for many applications. For example, when using BookKeeper for write-ahead logging, an application typically wants to write the modifications corresponding to a command or a transaction. Some other applications, however, might not have a natural boundary for entries, and may prefer to write and read streams of bytes. This is exactly the purpose of the stream <span class="caps">API </span>we have implemented on top of BookKeeper. </p>
+
+<p>The stream <span class="caps">API </span>is implemented in the package <code>Streaming</code> , and it contains two main classes: <code>LedgerOutputStream</code> and  <code>LedgerInputStream</code> . The class names are indicative of what they do. </p>
+
+<h1>Writing a stream of bytes</h1>
+
+<p>Class <code>LedgerOutputStream</code> implements two constructors and five public methods: </p>
+
+<p> <code>public LedgerOutputStream(LedgerHandle lh) </code> </p>
+
+<p>where: </p>
+
+<ul>
+<li> <code>lh</code> is a ledger handle for a previously created and open ledger. </li>
+</ul>
+
+
+<p> <code>public LedgerOutputStream(LedgerHandle lh, int size) </code> </p>
+
+<p>where: </p>
+
+<ul>
+<li> <code>lh</code> is a ledger handle for a previously created and open ledger. </li>
+<li> <code>size</code> is the size of the byte buffer to store written bytes before flushing. </li>
+</ul>
+
+
+<p> <em>Closing a stream.</em> This call closes the stream by flushing the write buffer. </p>
+
+<p> <code>public void close() </code> </p>
+
+<p>which has no parameters. </p>
+
+<p> <em>Flushing a stream.</em> This call essentially flushes the write buffer. </p>
+
+<p> <code>public synchronized void flush() </code> </p>
+
+<p>which has no parameters. </p>
+
+<p> <em>Writing bytes.</em> There are three calls for writing bytes to a stream. </p>
+
+<p> <code>public synchronized void write(byte[] b) </code> </p>
+
+<p>where: </p>
+
+<ul>
+<li> <code>b</code> is an array of bytes to write. </li>
+</ul>
+
+
+<p> <code>public synchronized void write(byte[] b, int off, int len) </code> </p>
+
+<p>where: </p>
+
+<ul>
+<li> <code>b</code> is an array of bytes to write. </li>
+<li> <code>off</code> is a buffer offset. </li>
+<li> <code>len</code> is the length to write. </li>
+</ul>
+
+
+<p> <code>public synchronized void write(int b) </code> </p>
+
+<p>where: </p>
+
+<ul>
+<li> <code>b</code> contains a byte to write. The method writes the least significant byte of the integer four bytes. </li>
+</ul>
+
+
+<h1>Reading a stream of bytes</h1>
+
+<p>Class <code>LedgerOutputStream</code> implements two constructors and four public methods: </p>
+
+<p> <code>public LedgerInputStream(LedgerHandle lh) throws BKException, InterruptedException </code> </p>
+
+<p>where: </p>
+
+<ul>
+<li> <code>lh</code> is a ledger handle for a previously created and open ledger. </li>
+</ul>
+
+
+<p> <code>public LedgerInputStream(LedgerHandle lh, int size) throws BKException, InterruptedException </code> </p>
+
+<p>where: </p>
+
+<ul>
+<li> <code>lh</code> is a ledger handle for a previously created and open ledger. </li>
+<li> <code>size</code> is the size of the byte buffer to store bytes that the application will eventually read. </li>
+</ul>
+
+
+<p> <em>Closing.</em> There is one call to close an input stream, but the call is currently empty and the application is responsible for closing the ledger handle. </p>
+
+<p> <code>public void close() </code> </p>
+
+<p>which has no parameters. </p>
+
+<p> <em>Reading.</em> There are three calls to read from the stream. </p>
+
+<p> <code>public synchronized int read() throws IOException </code> </p>
+
+<p>which has no parameters. </p>
+
+<p> <code>public synchronized int read(byte[] b) throws IOException </code> </p>
+
+<p>where: </p>
+
+<ul>
+<li> <code>b</code> is a byte array to write to. </li>
+</ul>
+
+
+<p> <code>public synchronized int read(byte[] b, int off, int len) throws IOException </code> </p>
+
+<p>where: </p>
+
+<ul>
+<li> <code>b</code> is a byte array to write to. </li>
+<li> <code>off</code> is an offset for byte array <code>b</code> . </li>
+<li> <code>len</code> is the length in bytes to write to <code>b</code> . </li>
+</ul>
+          </div>
+        </td>
+        <td valign="top">
+          <div class="navigation">
+            <div class="navigation_top">
+<div class="searchbox"> 
+<form action="http://search-hadoop.com/zookeeper" method="get"> 
+<input onFocus="getBlank (this, 'Search with Apache Solr');" size="25" name="q" id="query" type="text" value="Search with Apache Solr">&nbsp;
+		  <input value="Search" type="submit"> 
+</form> 
+</div> 
+
+            <div class="navigation_bottom"> 
+<!-- sidenav -->                                                                        
+<h3>Project</h3>
+
+<ul>
+<li><a href="/bookkeeper/releases.html#news">News</a></li>
+<li><a href="https://cwiki.apache.org/confluence/display/BOOKKEEPER/Index">Wiki</a></li>
+<li><a href="/bookkeeper/credits.html">Credits</a></li>
+<li><a href="/bylaws.html">Bylaws</a></li>
+<li><a href="http://www.apache.org/licenses/">License</a></li>
+<li><a href="/privacy.html">Privacy Policy</a></li>
+<li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
+<li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
+<li><a href="http://www.apache.org/security/">Security</a></li>
+</ul>
+
+
+<h3>Documentation</h3>
+
+<ul>
+<li><a href="/bookkeeper/docs/trunk">Trunk</a></li>
+</ul>
+
+<h3>Developers</h3>
+
+<ul>
+<li><a href="/bookkeeper/lists.html">Mailing Lists</a></li>
+<li><a href="/bookkeeper/irc.html"><span class="caps">IRC</span> Channel</a></li>
+<li><a href="/bookkeeper/svn.html">Version Control</a></li>
+<li><a href="https://issues.apache.org/jira/browse/BOOKKEEPER">Issue Tracker</a></li>
+</ul>
+<!-- sidenav -->                                                                        
+              </div>
+            </div>   
+          </div>
+        </td>
+        </tr>
+    </tbody>
+        </table>
+
+<!--
+        <div class="bottom_red_bar"></div>
+-->
+      </div>
+    </div>
+  </div>
+</div>
+<div class="black_box">
+<div class="footer">
+  <div class="footer_l">
+    <div class="footer_r">
+      <div>
+
+      </div>
+    </div>
+  </div>
+</div>
+</div>
+</div>
+<!--
+<div class="design_attribution">Page Template Design By Marc Prud'hommeaux based on <a href="http://activemq.apache.org/">ActiveMQ template</a></div>
+-->
+<div class="copyright_footer">
+<p>Copyright &copy; 2010 The Apache Software Foundation, Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.<br>Apache ZooKeeper, ZooKeeper, Apache, the Apache feather logo, and the Apache ZooKeeper project logo are trademarks of The Apache Software Foundation.</p>
+</div>
+<script src="skeleton_files/urchin.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+_uacct = "UA-1940143-1";
+urchinTracker();
+</script>
+
+</body></html>

Added: websites/staging/zookeeper/trunk/content/bookkeeper/docs/r4.0.0/doc.html
==============================================================================
--- websites/staging/zookeeper/trunk/content/bookkeeper/docs/r4.0.0/doc.html (added)
+++ websites/staging/zookeeper/trunk/content/bookkeeper/docs/r4.0.0/doc.html Wed Dec  7 14:10:32 2011
@@ -0,0 +1,151 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE- 2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+
+	<link href="/bookkeeper/css/site.css" rel="stylesheet" type="text/css">
+	<link href="/bookkeeper/css/type-settings.css" rel="stylesheet" type="text/css">
+
+	<title>Apache BookKeeper - </title>
+
+	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+</head>
+<body>
+<div class="white_box">
+<div class="header">
+  <div class="header_l">
+    <div class="header_r">
+    </div>
+  </div>
+</div>
+<div class="content">
+  <div class="content_l">
+    <div class="content_r">
+      <div>
+
+<!-- Banner -->
+                                                                        
+                                                                        
+            <div id="header_background">
+	<div id="bookkeeper_logo">
+		<a href="/bookkeeper"><img src="/bookkeeper/images/bookkeeper_small.gif"/></a> <b><font size=+4 color=white>Apache BookKeeper&trade;</font></b> <a href="http://apache.org"><img src="/bookkeeper/images/feather_small.gif"/></a>
+	</div>
+      </div>
+                                    
+    <table border="0">
+    <tbody>
+        <tr>
+        <td style="overflow: hidden;" valign="top" width="100%">
+          <div class="wiki-content">
+ <p>In the documentation directory, you&#39;ll find:</p>
+
+<ul>
+<li><code>build.txt</code>: Building Hedwig, or how to set up Hedwig</li>
+<li><code>user.txt</code>: User&#39;s Guide, or how to program against the Hedwig <span class="caps">API </span>and how to run it</li>
+<li><code>dev.txt</code>: Developer&#39;s Guide, or Hedwig internals and hacking details</li>
+</ul>
+
+<p>These documents are all written in the <a href="http://johnmacfarlane.net/pandoc/">Pandoc</a> dialect of <a href="http://daringfireball.net/projects/markdown/">Markdown</a>. This makes them readable as plain text files, but also capable of generating <span class="caps">HTML </span>or LaTeX documentation.</p>
+
+<p>Documents are wrapped at 80 chars and use 2-space indentation.</p>
+          </div>
+        </td>
+        <td valign="top">
+          <div class="navigation">
+            <div class="navigation_top">
+<div class="searchbox"> 
+<form action="http://search-hadoop.com/zookeeper" method="get"> 
+<input onFocus="getBlank (this, 'Search with Apache Solr');" size="25" name="q" id="query" type="text" value="Search with Apache Solr">&nbsp;
+		  <input value="Search" type="submit"> 
+</form> 
+</div> 
+
+            <div class="navigation_bottom"> 
+<!-- sidenav -->                                                                        
+<h3>Project</h3>
+
+<ul>
+<li><a href="/bookkeeper/releases.html#news">News</a></li>
+<li><a href="https://cwiki.apache.org/confluence/display/BOOKKEEPER/Index">Wiki</a></li>
+<li><a href="/bookkeeper/credits.html">Credits</a></li>
+<li><a href="/bylaws.html">Bylaws</a></li>
+<li><a href="http://www.apache.org/licenses/">License</a></li>
+<li><a href="/privacy.html">Privacy Policy</a></li>
+<li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
+<li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
+<li><a href="http://www.apache.org/security/">Security</a></li>
+</ul>
+
+
+<h3>Documentation</h3>
+
+<ul>
+<li><a href="/bookkeeper/docs/trunk">Trunk</a></li>
+</ul>
+
+<h3>Developers</h3>
+
+<ul>
+<li><a href="/bookkeeper/lists.html">Mailing Lists</a></li>
+<li><a href="/bookkeeper/irc.html"><span class="caps">IRC</span> Channel</a></li>
+<li><a href="/bookkeeper/svn.html">Version Control</a></li>
+<li><a href="https://issues.apache.org/jira/browse/BOOKKEEPER">Issue Tracker</a></li>
+</ul>
+<!-- sidenav -->                                                                        
+              </div>
+            </div>   
+          </div>
+        </td>
+        </tr>
+    </tbody>
+        </table>
+
+<!--
+        <div class="bottom_red_bar"></div>
+-->
+      </div>
+    </div>
+  </div>
+</div>
+<div class="black_box">
+<div class="footer">
+  <div class="footer_l">
+    <div class="footer_r">
+      <div>
+
+      </div>
+    </div>
+  </div>
+</div>
+</div>
+</div>
+<!--
+<div class="design_attribution">Page Template Design By Marc Prud'hommeaux based on <a href="http://activemq.apache.org/">ActiveMQ template</a></div>
+-->
+<div class="copyright_footer">
+<p>Copyright &copy; 2010 The Apache Software Foundation, Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.<br>Apache ZooKeeper, ZooKeeper, Apache, the Apache feather logo, and the Apache ZooKeeper project logo are trademarks of The Apache Software Foundation.</p>
+</div>
+<script src="skeleton_files/urchin.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+_uacct = "UA-1940143-1";
+urchinTracker();
+</script>
+
+</body></html>

Added: websites/staging/zookeeper/trunk/content/bookkeeper/docs/r4.0.0/hedwigBuild.html
==============================================================================
--- websites/staging/zookeeper/trunk/content/bookkeeper/docs/r4.0.0/hedwigBuild.html (added)
+++ websites/staging/zookeeper/trunk/content/bookkeeper/docs/r4.0.0/hedwigBuild.html Wed Dec  7 14:10:32 2011
@@ -0,0 +1,170 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE- 2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+
+	<link href="/bookkeeper/css/site.css" rel="stylesheet" type="text/css">
+	<link href="/bookkeeper/css/type-settings.css" rel="stylesheet" type="text/css">
+
+	<title>Apache BookKeeper - </title>
+
+	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+</head>
+<body>
+<div class="white_box">
+<div class="header">
+  <div class="header_l">
+    <div class="header_r">
+    </div>
+  </div>
+</div>
+<div class="content">
+  <div class="content_l">
+    <div class="content_r">
+      <div>
+
+<!-- Banner -->
+                                                                        
+                                                                        
+            <div id="header_background">
+	<div id="bookkeeper_logo">
+		<a href="/bookkeeper"><img src="/bookkeeper/images/bookkeeper_small.gif"/></a> <b><font size=+4 color=white>Apache BookKeeper&trade;</font></b> <a href="http://apache.org"><img src="/bookkeeper/images/feather_small.gif"/></a>
+	</div>
+      </div>
+                                    
+    <table border="0">
+    <tbody>
+        <tr>
+        <td style="overflow: hidden;" valign="top" width="100%">
+          <div class="wiki-content">
+ <h1>Pre-requisites</h1>
+
+<p>For the core itself:</p>
+
+<ul>
+<li><span class="caps">JDK</span> 6: <a href="http://java.sun.com/">http://java.sun.com/</a>. Ensure <code>$JAVA_HOME</code> is correctly set.</li>
+<li>Maven 2: <a href="http://maven.apache.org/">http://maven.apache.org/</a>.</li>
+</ul>
+
+<p>Hedwig has been tested on Windows <span class="caps">XP,</span> Linux 2.6, and OS X.</p>
+
+<h1>Command-Line Instructions</h1>
+
+<p>From the top level bookkeeper directory, run <code>mvn package</code>. This will compile and package the jars necessary for running hedwig. </p>
+
+<p>See the User&#39;s Guide for instructions on running and usage.</p>
+
+<h1>Eclipse Instructions</h1>
+
+<p>To check out, build, and develop using Eclipse:</p>
+
+<ol>
+<li>Install the Subclipse plugin. Update site: <a href="http://subclipse.tigris.org/update_1.4.x">http://subclipse.tigris.org/update_1.4.x</a>.</li>
+<li>Install the Maven plugin. Update site: <a href="http://m2eclipse.sonatype.org/update">http://m2eclipse.sonatype.org/update</a>. From the list of packages available from this site, select everything under the &#34;Maven Integration&#34; category, and from the optional components select the ones with the word &#34;SCM&#34; in them.</li>
+<li>Go to Preferences &gt; Team &gt; <span class="caps">SVN.</span> For the <span class="caps">SVN </span>interface, choose &#34;Pure Java&#34;.</li>
+<li>Choose File &gt; New &gt; Project... &gt; Maven &gt; Checkout Maven Projects from <span class="caps">SCM.</span></li>
+<li>For the <span class="caps">SCM URL </span>type, choose <span class="caps">SVN.</span> For the <span class="caps">URL, </span>enter <span class="caps">SVN URL.</span> Maven will automatically create a top-level Eclipse project for each of the 4 Maven modules (recommended). If you want fewer top-level projects, uncheck the option of having a project for each module (under Advanced).</li>
+</ol>
+
+<p>You are now ready to run and debug the client and server code. See the User&#39;s Guide for instructions on running and usage.</p>
+          </div>
+        </td>
+        <td valign="top">
+          <div class="navigation">
+            <div class="navigation_top">
+<div class="searchbox"> 
+<form action="http://search-hadoop.com/zookeeper" method="get"> 
+<input onFocus="getBlank (this, 'Search with Apache Solr');" size="25" name="q" id="query" type="text" value="Search with Apache Solr">&nbsp;
+		  <input value="Search" type="submit"> 
+</form> 
+</div> 
+
+            <div class="navigation_bottom"> 
+<!-- sidenav -->                                                                        
+<h3>Project</h3>
+
+<ul>
+<li><a href="/bookkeeper/releases.html#news">News</a></li>
+<li><a href="https://cwiki.apache.org/confluence/display/BOOKKEEPER/Index">Wiki</a></li>
+<li><a href="/bookkeeper/credits.html">Credits</a></li>
+<li><a href="/bylaws.html">Bylaws</a></li>
+<li><a href="http://www.apache.org/licenses/">License</a></li>
+<li><a href="/privacy.html">Privacy Policy</a></li>
+<li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
+<li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
+<li><a href="http://www.apache.org/security/">Security</a></li>
+</ul>
+
+
+<h3>Documentation</h3>
+
+<ul>
+<li><a href="/bookkeeper/docs/trunk">Trunk</a></li>
+</ul>
+
+<h3>Developers</h3>
+
+<ul>
+<li><a href="/bookkeeper/lists.html">Mailing Lists</a></li>
+<li><a href="/bookkeeper/irc.html"><span class="caps">IRC</span> Channel</a></li>
+<li><a href="/bookkeeper/svn.html">Version Control</a></li>
+<li><a href="https://issues.apache.org/jira/browse/BOOKKEEPER">Issue Tracker</a></li>
+</ul>
+<!-- sidenav -->                                                                        
+              </div>
+            </div>   
+          </div>
+        </td>
+        </tr>
+    </tbody>
+        </table>
+
+<!--
+        <div class="bottom_red_bar"></div>
+-->
+      </div>
+    </div>
+  </div>
+</div>
+<div class="black_box">
+<div class="footer">
+  <div class="footer_l">
+    <div class="footer_r">
+      <div>
+
+      </div>
+    </div>
+  </div>
+</div>
+</div>
+</div>
+<!--
+<div class="design_attribution">Page Template Design By Marc Prud'hommeaux based on <a href="http://activemq.apache.org/">ActiveMQ template</a></div>
+-->
+<div class="copyright_footer">
+<p>Copyright &copy; 2010 The Apache Software Foundation, Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.<br>Apache ZooKeeper, ZooKeeper, Apache, the Apache feather logo, and the Apache ZooKeeper project logo are trademarks of The Apache Software Foundation.</p>
+</div>
+<script src="skeleton_files/urchin.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+_uacct = "UA-1940143-1";
+urchinTracker();
+</script>
+
+</body></html>

Added: websites/staging/zookeeper/trunk/content/bookkeeper/docs/r4.0.0/hedwigDesign.html
==============================================================================
--- websites/staging/zookeeper/trunk/content/bookkeeper/docs/r4.0.0/hedwigDesign.html (added)
+++ websites/staging/zookeeper/trunk/content/bookkeeper/docs/r4.0.0/hedwigDesign.html Wed Dec  7 14:10:32 2011
@@ -0,0 +1,204 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE- 2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+
+	<link href="/bookkeeper/css/site.css" rel="stylesheet" type="text/css">
+	<link href="/bookkeeper/css/type-settings.css" rel="stylesheet" type="text/css">
+
+	<title>Apache BookKeeper - </title>
+
+	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+</head>
+<body>
+<div class="white_box">
+<div class="header">
+  <div class="header_l">
+    <div class="header_r">
+    </div>
+  </div>
+</div>
+<div class="content">
+  <div class="content_l">
+    <div class="content_r">
+      <div>
+
+<!-- Banner -->
+                                                                        
+                                                                        
+            <div id="header_background">
+	<div id="bookkeeper_logo">
+		<a href="/bookkeeper"><img src="/bookkeeper/images/bookkeeper_small.gif"/></a> <b><font size=+4 color=white>Apache BookKeeper&trade;</font></b> <a href="http://apache.org"><img src="/bookkeeper/images/feather_small.gif"/></a>
+	</div>
+      </div>
+                                    
+    <table border="0">
+    <tbody>
+        <tr>
+        <td style="overflow: hidden;" valign="top" width="100%">
+          <div class="wiki-content">
+ <h1>Style</h1>
+
+<p>We have provided an Eclipse Formatter file <code>formatter.xml</code> with all the formatting conventions currently used in the project. Highlights include no tabs, 4-space indentation, and 120-char width. Please respect this so as to reduce the amount of formatting-related noise produced in commits.</p>
+
+<h1>Static Analysis</h1>
+
+<p>We would like to use static analysis tools <span class="caps">PMD </span>and FindBugs to maintain code quality. However, we have not yet arrived at a consensus on what rules to adhere to, and what to ignore.</p>
+
+<h1>Netty Notes</h1>
+
+<p>The asynchronous network IO infrastructure that Hedwig uses is <a href="http://www.jboss.org/netty">Netty</a>. Here are some notes on Netty&#39;s concurrency architecture and its filter pipeline design.</p>
+
+<h2>Concurrency Architecture</h2>
+
+<p>After calling <code>ServerBootstrap.bind()</code>, Netty starts a boss thread (<code>NioServerSocketPipelineSink.Boss</code>) that just accepts new connections and registers them with one of the workers from the <code>NioWorker</code> pool in round-robin fashion (pool size defaults to <span class="caps">CPU </span>count). Each worker runs its own select loop over just the set of keys that have been registered with it. Workers start lazily on demand and run only so long as there are interested fd&#39;s/keys. All selected events are handled in the same thread and sent up the pipeline attached to the channel (this association is established by the boss as soon as a new connection is accepted).</p>
+
+<p>All workers, and the boss, run via the executor thread pool; hence, the executor must support at least two simultaneous threads.</p>
+
+<h2>Handler Pipeline</h2>
+
+<p>A pipeline implements the intercepting filter pattern. A pipeline is a sequence of handlers. Whenever a packet is read from the wire, it travels up the stream, stopping at each handler that can handle upstream events. Vice-versa for writes. Between each filter, control flows back through the centralized pipeline, and a linked list of contexts keeps track of where we are in the pipeline (one context object per handler).</p>
+
+
+<h1>Pseudocode</h1>
+
+<p>This summarizes the control flow through the system.</p>
+
+<h2>publish</h2>
+
+<p>Need to document</p>
+
+<h2>subscribe</h2>
+
+<p>Need to document</p>
+
+<h1>ReadAhead Cache</h1>
+
+<p>The delivery manager class is responsible for pushing published messages from the hubs to the subscribers. The most common case is that all subscribers are connected and either caught up, or close to the tail end of the topic. In this case, we don&#39;t want the delivery manager to be polling bookkeeper for any newly arrived messages on the topic; new messages should just be pushed to the delivery manager. However, there is also the uncommon case when a subscriber is behind, and messages must be pulled from Bookkeeper.</p>
+
+<p>Since all publishes go through the hub, it is possible to cache the recently published messages in the hub, and then the delivery manager won&#39;t have to make the trip to bookkeeper to get the messages but instead get them from local process memory.</p>
+
+<p>These ideas of push, pull, and caching are unified in the following way: - A hub has a cache of messages</p>
+
+<ul>
+<li>When the delivery manager wants to deliver a message, it asks the cache for it. There are 3 cases:</li>
+<li>The message is available in the cache, in which case it is given to the delivery manager</li>
+<li>The message is not present in the cache and the seq-id of the message is beyond the last message published on that topic (this happens if the subscriber is totally caught up for that topic). In this case, a stub is put in the cache in order to notify the delivery manager when that message does happen to be published.</li>
+<li>The message is not in the cache but has been published to the topic. In this case, a stub is put in the cache, and a read is issued to bookkeeper.</li>
+<li>Whenever a message is published, it is cached. If there is a stub already in the cache for that message, the delivery manager is notified.</li>
+<li>Whenever a message is read from bookkeeper, it is cached. There must be a stub for that message (since reads to bookkeeper are issued only after putting a stub), so the delivery manager is notified.</li>
+<li>The cache does readahead, i.e., if a message requested by the delivery manager is not in the cache, a stub is established not only for that message, but also for the next n messages where n is configurable (default 10). On a cache hit, we look ahead n/2 messages, and if that message is not present, we establish another n/2 stubs. In short, we always ensure that the next n stubs are always established.</li>
+<li>Over time, the cache will grow in size. There are 2 pruning mechanisms:</li>
+<li>Once all subscribers have consumed up to a particular seq-id, they notify the cache, and all messages up to that seq-id are pruned from the cache.</li>
+<li>If the above pruning is not working (e.g., because some subscribers are down), the cache will eventually hit its size limit which is configurable<br />
+ (default, half of maximum jvm heap size). At this point, messages are just pruned in <span class="caps">FIFO </span>order. We use the size of the blobs in the message for estimating the cache size. The assumption is that that size will dominate over fixed, object-level size overheads.</li>
+<li>Stubs are not purged because according to the above simplification, they are of 0 size.</li>
+</ul>
+
+<h1>Scalability Bottlenecks Down the Road</h1>
+
+<ul>
+<li>Currently each topic subscription is served on a different channel. The number of channels will become a bottleneck at higher channels. We should switch to an architecture, where multiple topic subscriptions between the same client, hub pair should be served on the same channel. We can have commands to start, stop subscriptions sent all the way to the server (right now these are local).</li>
+<li>Publishes for a topic are serialized through a hub, to get ordering guarantees. Currently, all subscriptions to that topic are served from the same hub. If we start having large number of subscribers to heavy-volume topics, the outbound bandwidth at the hub, or the <span class="caps">CPU </span>at that hub might become the bottleneck. In that case, we can setup other regions through which the messages are routed (this hierarchical scheme) reduces bandwidth requirements at any single node. It should be possible to do this entirely through configuration.</li>
+</ul>
+          </div>
+        </td>
+        <td valign="top">
+          <div class="navigation">
+            <div class="navigation_top">
+<div class="searchbox"> 
+<form action="http://search-hadoop.com/zookeeper" method="get"> 
+<input onFocus="getBlank (this, 'Search with Apache Solr');" size="25" name="q" id="query" type="text" value="Search with Apache Solr">&nbsp;
+		  <input value="Search" type="submit"> 
+</form> 
+</div> 
+
+            <div class="navigation_bottom"> 
+<!-- sidenav -->                                                                        
+<h3>Project</h3>
+
+<ul>
+<li><a href="/bookkeeper/releases.html#news">News</a></li>
+<li><a href="https://cwiki.apache.org/confluence/display/BOOKKEEPER/Index">Wiki</a></li>
+<li><a href="/bookkeeper/credits.html">Credits</a></li>
+<li><a href="/bylaws.html">Bylaws</a></li>
+<li><a href="http://www.apache.org/licenses/">License</a></li>
+<li><a href="/privacy.html">Privacy Policy</a></li>
+<li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
+<li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
+<li><a href="http://www.apache.org/security/">Security</a></li>
+</ul>
+
+
+<h3>Documentation</h3>
+
+<ul>
+<li><a href="/bookkeeper/docs/trunk">Trunk</a></li>
+</ul>
+
+<h3>Developers</h3>
+
+<ul>
+<li><a href="/bookkeeper/lists.html">Mailing Lists</a></li>
+<li><a href="/bookkeeper/irc.html"><span class="caps">IRC</span> Channel</a></li>
+<li><a href="/bookkeeper/svn.html">Version Control</a></li>
+<li><a href="https://issues.apache.org/jira/browse/BOOKKEEPER">Issue Tracker</a></li>
+</ul>
+<!-- sidenav -->                                                                        
+              </div>
+            </div>   
+          </div>
+        </td>
+        </tr>
+    </tbody>
+        </table>
+
+<!--
+        <div class="bottom_red_bar"></div>
+-->
+      </div>
+    </div>
+  </div>
+</div>
+<div class="black_box">
+<div class="footer">
+  <div class="footer_l">
+    <div class="footer_r">
+      <div>
+
+      </div>
+    </div>
+  </div>
+</div>
+</div>
+</div>
+<!--
+<div class="design_attribution">Page Template Design By Marc Prud'hommeaux based on <a href="http://activemq.apache.org/">ActiveMQ template</a></div>
+-->
+<div class="copyright_footer">
+<p>Copyright &copy; 2010 The Apache Software Foundation, Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.<br>Apache ZooKeeper, ZooKeeper, Apache, the Apache feather logo, and the Apache ZooKeeper project logo are trademarks of The Apache Software Foundation.</p>
+</div>
+<script src="skeleton_files/urchin.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+_uacct = "UA-1940143-1";
+urchinTracker();
+</script>
+
+</body></html>

Added: websites/staging/zookeeper/trunk/content/bookkeeper/docs/r4.0.0/hedwigUser.html
==============================================================================
--- websites/staging/zookeeper/trunk/content/bookkeeper/docs/r4.0.0/hedwigUser.html (added)
+++ websites/staging/zookeeper/trunk/content/bookkeeper/docs/r4.0.0/hedwigUser.html Wed Dec  7 14:10:32 2011
@@ -0,0 +1,190 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE- 2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+
+	<link href="/bookkeeper/css/site.css" rel="stylesheet" type="text/css">
+	<link href="/bookkeeper/css/type-settings.css" rel="stylesheet" type="text/css">
+
+	<title>Apache BookKeeper - </title>
+
+	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+</head>
+<body>
+<div class="white_box">
+<div class="header">
+  <div class="header_l">
+    <div class="header_r">
+    </div>
+  </div>
+</div>
+<div class="content">
+  <div class="content_l">
+    <div class="content_r">
+      <div>
+
+<!-- Banner -->
+                                                                        
+                                                                        
+            <div id="header_background">
+	<div id="bookkeeper_logo">
+		<a href="/bookkeeper"><img src="/bookkeeper/images/bookkeeper_small.gif"/></a> <b><font size=+4 color=white>Apache BookKeeper&trade;</font></b> <a href="http://apache.org"><img src="/bookkeeper/images/feather_small.gif"/></a>
+	</div>
+      </div>
+                                    
+    <table border="0">
+    <tbody>
+        <tr>
+        <td style="overflow: hidden;" valign="top" width="100%">
+          <div class="wiki-content">
+ <h1>Design</h1>
+
+<p>In Hedwig, clients publish messages associated with a topic, and they subscribe to a topic to receive all messages published with that topic. Clients are associated with (publish to and subscribe from) a Hedwig <em>instance</em> (also referred to as a <em>region</em>), which consists of a number of servers called <em>hubs</em>. The hubs partition up topic ownership among themselves, and all publishes and subscribes to a topic must be done to its owning hub. When a client doesn&#39;t know the owning hub, it tries a default hub, which may redirect the client.</p>
+
+<p>Running a Hedwig instance requires a Zookeeper server and at least three Bookkeeper servers.</p>
+
+<p>An instance is designed to run within a datacenter. For wide-area messaging across datacenters, specify in the server configuration the set of default servers for each of the other instances. Dissemination among instances currently takes place over an all-to-all topology. Local subscriptions cause the hub to subscribe to all other regions on this topic, so that the local region receives all updates to it. Future work includes allowing the user to overlay alternative topologies.</p>
+
+<p>Because all messages on a topic go through a single hub per region, all messages within a region are ordered. This means that, for a given topic, messages are delivered in the same order to all subscribers within a region, and messages from any particular region are delivered in the same order to all subscribers globally, but messages from different regions may be delivered in different orders to different regions. Providing global ordering is prohibitively expensive in the wide area. However, in Hedwig clients such as <span class="caps">PNUTS, </span>the lack of global ordering is not a problem, as <span class="caps">PNUTS </span>serializes all updates to a table row at a single designated master for that row.</p>
+
+<p>Topics are independent; Hedwig provides no ordering across different topics.</p>
+
+<p>Version vectors are associated with each topic and serve as the identifiers for each message. Vectors consist of one component per region. A component value is the region&#39;s local sequence number on the topic, and is incremented each time a hub persists a message (published either locally or remotely) to <span class="caps">BK.</span></p>
+
+<p><span class="caps">TODO</span>: More on how version vectors are to be used, and on maintaining vector-maxes.</p>
+
+<h1>Entry Points</h1>
+
+<p>The main class for running the server is <code>org.apache.hedwig.server.netty.PubSubServer</code>. It takes a single argument, which is a <a href="http://commons.apache.org/configuration/">Commons Configuration</a> file. Currently, for configuration, the source is the documentation. See <code>org.apache.hedwig.server.conf.ServerConfiguration</code> for server configuration parameters.</p>
+
+<p>The client is a library intended to be consumed by user applications. It takes a Commons Configuration object, for which the source/documentation is in <code>org.apache.hedwig.client.conf.ClientConfiguration</code>.</p>
+
+<h1>Deployment</h1>
+
+<h2>Limits</h2>
+
+<p>Because the current implementation uses a single socket per subscription, the Hedwig requires a high <code>ulimit</code> on the number of open file descriptors. Non-root users can only use up to the limit specified in <code>/etc/security/limits.conf</code>; to raise this to 1024^2, as root, modify the &#34;nofile&#34; line in /etc/security/limits.conf on all hubs.</p>
+
+<h2>Running Servers</h2>
+
+<p>Hedwig requires BookKeeper to run. For BookKeeper setup instructions see <a href="./bookkeeperStarted.html">BookKeeper Getting Started</a>.</p>
+
+<p>To start a Hedwig hub server:</p>
+
+<p><code>hedwig-server/bin/hedwig server</code></p>
+
+<p>Hedwig takes its configuration from hedwig-server/conf/hw_server.conf by default. To change location of the conf file, modify the <span class="caps">HEDWIG</span>_SERVER_CONF environment variable.</p>
+
+<h1>Debugging</h1>
+
+<p>You can attach an Eclipse debugger (or any debugger) to a Java process running on a remote host, as long as it has been started with the appropriate <span class="caps">JVM </span>flags. (See the Building Hedwig document to set up your Eclipse environment.) To launch something using <code>bin/hedwig</code> with debugger attachment enabled, prefix the command with <code>HEDWIG_EXTRA_OPTS=-agentlib:jdwp=transport=dt_socket,server=y,address=5000</code>, e.g.:</p>
+
+<p><code>HEDWIG_EXTRA_OPTS=-agentlib:jdwp=transport=dt_socket,server=y,address=5000 hedwig-server/bin/hedwig server</code></p>
+
+<h1>Logging</h1>
+
+<p>Hedwig uses <a href="http://www.slf4j.org">slf4j</a> for logging, with the log4j bindings enabled by default. To enable logging from hedwig, create a log4j.properties file and point the environment variable <span class="caps">HEDWIG</span>_LOG_CONF to the file. The path to the log4j.properties file must be absolute.</p>
+
+<p><code>export HEDWIG_LOG_CONF=/tmp/log4j.properties</code><br />
+<code>hedwig-server/bin/hedwig server</code></p>
+          </div>
+        </td>
+        <td valign="top">
+          <div class="navigation">
+            <div class="navigation_top">
+<div class="searchbox"> 
+<form action="http://search-hadoop.com/zookeeper" method="get"> 
+<input onFocus="getBlank (this, 'Search with Apache Solr');" size="25" name="q" id="query" type="text" value="Search with Apache Solr">&nbsp;
+		  <input value="Search" type="submit"> 
+</form> 
+</div> 
+
+            <div class="navigation_bottom"> 
+<!-- sidenav -->                                                                        
+<h3>Project</h3>
+
+<ul>
+<li><a href="/bookkeeper/releases.html#news">News</a></li>
+<li><a href="https://cwiki.apache.org/confluence/display/BOOKKEEPER/Index">Wiki</a></li>
+<li><a href="/bookkeeper/credits.html">Credits</a></li>
+<li><a href="/bylaws.html">Bylaws</a></li>
+<li><a href="http://www.apache.org/licenses/">License</a></li>
+<li><a href="/privacy.html">Privacy Policy</a></li>
+<li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
+<li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
+<li><a href="http://www.apache.org/security/">Security</a></li>
+</ul>
+
+
+<h3>Documentation</h3>
+
+<ul>
+<li><a href="/bookkeeper/docs/trunk">Trunk</a></li>
+</ul>
+
+<h3>Developers</h3>
+
+<ul>
+<li><a href="/bookkeeper/lists.html">Mailing Lists</a></li>
+<li><a href="/bookkeeper/irc.html"><span class="caps">IRC</span> Channel</a></li>
+<li><a href="/bookkeeper/svn.html">Version Control</a></li>
+<li><a href="https://issues.apache.org/jira/browse/BOOKKEEPER">Issue Tracker</a></li>
+</ul>
+<!-- sidenav -->                                                                        
+              </div>
+            </div>   
+          </div>
+        </td>
+        </tr>
+    </tbody>
+        </table>
+
+<!--
+        <div class="bottom_red_bar"></div>
+-->
+      </div>
+    </div>
+  </div>
+</div>
+<div class="black_box">
+<div class="footer">
+  <div class="footer_l">
+    <div class="footer_r">
+      <div>
+
+      </div>
+    </div>
+  </div>
+</div>
+</div>
+</div>
+<!--
+<div class="design_attribution">Page Template Design By Marc Prud'hommeaux based on <a href="http://activemq.apache.org/">ActiveMQ template</a></div>
+-->
+<div class="copyright_footer">
+<p>Copyright &copy; 2010 The Apache Software Foundation, Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.<br>Apache ZooKeeper, ZooKeeper, Apache, the Apache feather logo, and the Apache ZooKeeper project logo are trademarks of The Apache Software Foundation.</p>
+</div>
+<script src="skeleton_files/urchin.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+_uacct = "UA-1940143-1";
+urchinTracker();
+</script>
+
+</body></html>

Added: websites/staging/zookeeper/trunk/content/bookkeeper/docs/r4.0.0/index.html
==============================================================================
--- websites/staging/zookeeper/trunk/content/bookkeeper/docs/r4.0.0/index.html (added)
+++ websites/staging/zookeeper/trunk/content/bookkeeper/docs/r4.0.0/index.html Wed Dec  7 14:10:32 2011
@@ -0,0 +1,160 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE- 2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+
+	<link href="/bookkeeper/css/site.css" rel="stylesheet" type="text/css">
+	<link href="/bookkeeper/css/type-settings.css" rel="stylesheet" type="text/css">
+
+	<title>Apache BookKeeper - BookKeeper Documentation</title>
+
+	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+</head>
+<body>
+<div class="white_box">
+<div class="header">
+  <div class="header_l">
+    <div class="header_r">
+    </div>
+  </div>
+</div>
+<div class="content">
+  <div class="content_l">
+    <div class="content_r">
+      <div>
+
+<!-- Banner -->
+                                                                        
+                                                                        
+            <div id="header_background">
+	<div id="bookkeeper_logo">
+		<a href="/bookkeeper"><img src="/bookkeeper/images/bookkeeper_small.gif"/></a> <b><font size=+4 color=white>Apache BookKeeper&trade;</font></b> <a href="http://apache.org"><img src="/bookkeeper/images/feather_small.gif"/></a>
+	</div>
+      </div>
+                                    
+    <table border="0">
+    <tbody>
+        <tr>
+        <td style="overflow: hidden;" valign="top" width="100%">
+          <div class="wiki-content">
+ <h1>Apache BookKeeper documentation</h1>
+
+<ul>
+<li><a href="./bookkeeperOverview.html">Overview</a></li>
+<li><a href="./bookkeeperStarted.html">Getting started</a></li>
+<li><a href="./bookkeeperProgrammer.html">Programmer&#39;s Guide</a></li>
+<li><a href="./bookkeeperConfig.html">Admin Guide</a></li>
+<li><a href="./bookkeeperConfigParams.html">Bookie Server Configuration Parameters</a></li>
+<li><a href="./bookkeeperInternals.html">BookKeeper Internals</a></li>
+<li><a href="./bookieRecovery.html">Bookie Recovery</a></li>
+<li><a href="./bookkeeperStream.html">Using BookKeeper stream library</a></li>
+</ul>
+
+<h1>Apache Hedwig documentation</h1>
+
+<ul>
+<li><a href="./hedwigBuild.html">Building Hedwig, or how to set up Hedwig</a></li>
+<li><a href="./hedwigUser.html">User&#39;s Guide, or how to program against the Hedwig <span class="caps">API </span>and how to run it</a></li>
+<li><a href="./hedwigDesign.html">Developer&#39;s Guide, or Hedwig internals and hacking details</a></li>
+</ul>
+          </div>
+        </td>
+        <td valign="top">
+          <div class="navigation">
+            <div class="navigation_top">
+<div class="searchbox"> 
+<form action="http://search-hadoop.com/zookeeper" method="get"> 
+<input onFocus="getBlank (this, 'Search with Apache Solr');" size="25" name="q" id="query" type="text" value="Search with Apache Solr">&nbsp;
+		  <input value="Search" type="submit"> 
+</form> 
+</div> 
+
+            <div class="navigation_bottom"> 
+<!-- sidenav -->                                                                        
+<h3>Project</h3>
+
+<ul>
+<li><a href="/bookkeeper/releases.html#news">News</a></li>
+<li><a href="https://cwiki.apache.org/confluence/display/BOOKKEEPER/Index">Wiki</a></li>
+<li><a href="/bookkeeper/credits.html">Credits</a></li>
+<li><a href="/bylaws.html">Bylaws</a></li>
+<li><a href="http://www.apache.org/licenses/">License</a></li>
+<li><a href="/privacy.html">Privacy Policy</a></li>
+<li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
+<li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
+<li><a href="http://www.apache.org/security/">Security</a></li>
+</ul>
+
+
+<h3>Documentation</h3>
+
+<ul>
+<li><a href="/bookkeeper/docs/trunk">Trunk</a></li>
+</ul>
+
+<h3>Developers</h3>
+
+<ul>
+<li><a href="/bookkeeper/lists.html">Mailing Lists</a></li>
+<li><a href="/bookkeeper/irc.html"><span class="caps">IRC</span> Channel</a></li>
+<li><a href="/bookkeeper/svn.html">Version Control</a></li>
+<li><a href="https://issues.apache.org/jira/browse/BOOKKEEPER">Issue Tracker</a></li>
+</ul>
+<!-- sidenav -->                                                                        
+              </div>
+            </div>   
+          </div>
+        </td>
+        </tr>
+    </tbody>
+        </table>
+
+<!--
+        <div class="bottom_red_bar"></div>
+-->
+      </div>
+    </div>
+  </div>
+</div>
+<div class="black_box">
+<div class="footer">
+  <div class="footer_l">
+    <div class="footer_r">
+      <div>
+
+      </div>
+    </div>
+  </div>
+</div>
+</div>
+</div>
+<!--
+<div class="design_attribution">Page Template Design By Marc Prud'hommeaux based on <a href="http://activemq.apache.org/">ActiveMQ template</a></div>
+-->
+<div class="copyright_footer">
+<p>Copyright &copy; 2010 The Apache Software Foundation, Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.<br>Apache ZooKeeper, ZooKeeper, Apache, the Apache feather logo, and the Apache ZooKeeper project logo are trademarks of The Apache Software Foundation.</p>
+</div>
+<script src="skeleton_files/urchin.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+_uacct = "UA-1940143-1";
+urchinTracker();
+</script>
+
+</body></html>



Mime
View raw message