Quellcode durchsuchen

ZOOKEEPER-2364: "ant docs" fails on branch-3.5 due to missing releasenotes.xml. (phunt via cnauroth)

git-svn-id: https://svn.apache.org/repos/asf/zookeeper/trunk@1736090 13f79535-47bb-0310-9956-ffa450edef68
Chris Nauroth vor 9 Jahren
Ursprung
Commit
7e115a6217

+ 3 - 0
CHANGES.txt

@@ -294,6 +294,9 @@ BUGFIXES:
   ZOOKEEPER-2195 fsync.warningthresholdms in zoo.cfg not working
   (Biju Nair via phunt)
 
+  ZOOKEEPER-2364: "ant docs" fails on branch-3.5 due to missing releasenotes.xml.
+  (phunt via cnauroth)
+
 IMPROVEMENTS:
   ZOOKEEPER-1660 Documentation for Dynamic Reconfiguration (Reed Wanderman-Milne via shralex)  
 

BIN
docs/index.pdf


BIN
docs/javaExample.pdf


BIN
docs/linkmap.pdf


BIN
docs/recipes.pdf


BIN
docs/zookeeperAdmin.pdf


BIN
docs/zookeeperHierarchicalQuorums.pdf


BIN
docs/zookeeperInternals.pdf


BIN
docs/zookeeperJMX.pdf


BIN
docs/zookeeperObservers.pdf


BIN
docs/zookeeperOver.pdf


BIN
docs/zookeeperProgrammers.pdf


BIN
docs/zookeeperQuotas.pdf


BIN
docs/zookeeperReconfig.pdf


BIN
docs/zookeeperStarted.pdf


BIN
docs/zookeeperTutorial.pdf


+ 1 - 0
src/docs/forrest.properties

@@ -45,6 +45,7 @@
 
 #project.status=status.xml
 #project.content-dir=src/documentation
+project.configfile=${project.home}/src/documentation/conf/cli.xconf
 #project.raw-content-dir=${project.content-dir}/content
 #project.conf-dir=${project.content-dir}/conf
 #project.sitemap-dir=${project.content-dir}

+ 328 - 0
src/docs/src/documentation/conf/cli.xconf

@@ -0,0 +1,328 @@
+<?xml version="1.0"?>
+<!--
+  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.
+-->
+<!--+
+    |  This is the Apache Cocoon command line configuration file.
+    |  Here you give the command line interface details of where
+    |  to find various aspects of your Cocoon installation.
+    |
+    |  If you wish, you can also use this file to specify the URIs
+    |  that you wish to generate.
+    |
+    |  The current configuration information in this file is for
+    |  building the Cocoon documentation. Therefore, all links here
+    |  are relative to the build context dir, which, in the build.xml
+    |  file, is set to ${build.context}
+    |
+    |  Options:
+    |    verbose:            increase amount of information presented
+    |                        to standard output (default: false)
+    |    follow-links:       whether linked pages should also be
+    |                        generated (default: true)
+    |    precompile-only:    precompile sitemaps and XSP pages, but
+    |                        do not generate any pages (default: false)
+    |    confirm-extensions: check the mime type for the generated page
+    |                        and adjust filename and links extensions
+    |                        to match the mime type
+    |                        (e.g. text/html->.html)
+    |
+    |  Note: Whilst using an xconf file to configure the Cocoon
+    |        Command Line gives access to more features, the use of
+    |        command line parameters is more stable, as there are
+    |        currently plans to improve the xconf format to allow
+    |        greater flexibility. If you require a stable and
+    |        consistent method for accessing the CLI, it is recommended
+    |        that you use the command line parameters to configure
+    |        the CLI. See documentation at:
+    |        http://cocoon.apache.org/2.1/userdocs/offline/
+    |        http://wiki.apache.org/cocoon/CommandLine
+    |
+    +-->
+
+<cocoon verbose="true"
+        follow-links="true"
+        precompile-only="false"
+        confirm-extensions="false">
+
+   <!--+
+       |  The context directory is usually the webapp directory
+       |  containing the sitemap.xmap file.
+       |
+       |  The config file is the cocoon.xconf file.
+       |
+       |  The work directory is used by Cocoon to store temporary
+       |  files and cache files.
+       |
+       |  The destination directory is where generated pages will
+       |  be written (assuming the 'simple' mapper is used, see
+       |  below)
+       +-->
+   <context-dir>.</context-dir>
+   <config-file>WEB-INF/cocoon.xconf</config-file>
+   <work-dir>../tmp/cocoon-work</work-dir>
+   <dest-dir>../site</dest-dir>
+
+   <!--+
+       |  A checksum file can be used to store checksums for pages
+       |  as they are generated. When the site is next generated,
+       |  files will not be written if their checksum has not changed.
+       |  This means that it will be easier to detect which files
+       |  need to be uploaded to a server, using the timestamp.
+       |
+       |  The default path is relative to the core webapp directory.
+       |  An asolute path can be used.
+       +-->
+   <!--   <checksums-uri>build/work/checksums</checksums-uri>-->
+
+   <!--+
+       | Broken link reporting options:
+       |   Report into a text file, one link per line:
+       |     <broken-links type="text" report="filename"/>
+       |   Report into an XML file:
+       |     <broken-links type="xml" report="filename"/>
+       |   Ignore broken links (default):
+       |     <broken-links type="none"/>
+       |
+       |   Two attributes to this node specify whether a page should
+       |   be generated when an error has occured. 'generate' specifies
+       |   whether a page should be generated (default: true) and
+       |   extension specifies an extension that should be appended
+       |   to the generated page's filename (default: none)
+       |
+       |   Using this, a quick scan through the destination directory
+       |   will show broken links, by their filename extension.
+       +-->
+   <broken-links type="xml"
+                 file="../brokenlinks.xml"
+                 generate="false"
+                 extension=".error"
+                 show-referrers="true"/>
+
+   <!--+
+       |  Load classes at startup. This is necessary for generating
+       |  from sites that use SQL databases and JDBC.
+       |  The <load-class> element can be repeated if multiple classes
+       |  are needed.
+       +-->
+   <!--
+   <load-class>org.firebirdsql.jdbc.Driver</load-class>
+   -->
+
+   <!--+
+       |  Configures logging.
+       |  The 'log-kit' parameter specifies the location of the log kit
+       |  configuration file (usually called logkit.xconf.
+       |
+       |  Logger specifies the logging category (for all logging prior
+       |  to other Cocoon logging categories taking over)
+       |
+       |  Available log levels are:
+       |    DEBUG:        prints all level of log messages.
+       |    INFO:         prints all level of log messages except DEBUG
+       |                  ones.
+       |    WARN:         prints all level of log messages except DEBUG
+       |                  and INFO ones.
+       |    ERROR:        prints all level of log messages except DEBUG,
+       |                  INFO and WARN ones.
+       |    FATAL_ERROR:  prints only log messages of this level
+       +-->
+   <!-- <logging log-kit="WEB-INF/logkit.xconf" logger="cli" level="ERROR" /> -->
+
+   <!--+
+       |  Specifies the filename to be appended to URIs that
+       |  refer to a directory (i.e. end with a forward slash).
+       +-->
+   <default-filename>index.html</default-filename>
+
+   <!--+
+       |  Specifies a user agent string to the sitemap when
+       |  generating the site.
+       |
+       |  A generic term for a web browser is "user agent". Any
+       |  user agent, when connecting to a web server, will provide
+       |  a string to identify itself (e.g. as Internet Explorer or
+       |  Mozilla). It is possible to have Cocoon serve different
+       |  content depending upon the user agent string provided by
+       |  the browser. If your site does this, then you may want to
+       |  use this <user-agent> entry to provide a 'fake' user agent
+       |  to Cocoon, so that it generates the correct version of your
+       |  site.
+       |
+       |  For most sites, this can be ignored.
+       +-->
+   <!--
+   <user-agent>Cocoon Command Line Environment 2.1</user-agent>
+   -->
+
+   <!--+
+       |  Specifies an accept string to the sitemap when generating
+       |  the site.
+       |  User agents can specify to an HTTP server what types of content
+       |  (by mime-type) they are able to receive. E.g. a browser may be
+       |  able to handle jpegs, but not pngs. The HTTP accept header
+       |  allows the server to take the browser's capabilities into account,
+       |  and only send back content that it can handle.
+       |
+       |  For most sites, this can be ignored.
+       +-->
+
+   <accept>*/*</accept>
+
+   <!--+
+       | Specifies which URIs should be included or excluded, according
+       | to wildcard patterns.
+       |
+       | These includes/excludes are only relevant when you are following
+       | links. A link URI must match an include pattern (if one is given)
+       | and not match an exclude pattern, if it is to be followed by
+       | Cocoon. It can be useful, for example, where there are links in
+       | your site to pages that are not generated by Cocoon, such as
+       | references to api-documentation.
+       |
+       | By default, all URIs are included. If both include and exclude
+       | patterns are specified, a URI is first checked against the
+       | include patterns, and then against the exclude patterns.
+       |
+       | Multiple patterns can be given, using muliple include or exclude
+       | nodes.
+       |
+       | The order of the elements is not significant, as only the first
+       | successful match of each category is used.
+       |
+       | Currently, only the complete source URI can be matched (including
+       | any URI prefix). Future plans include destination URI matching
+       | and regexp matching. If you have requirements for these, contact
+       | dev@cocoon.apache.org.
+       +-->
+
+   <exclude pattern="**/"/>
+   <exclude pattern="**apidocs**"/>
+   <exclude pattern="api/**"/>
+
+   <!-- ZOOKEEPER-2364 - we build our own release notes separately -->
+   <exclude pattern="releasenotes.**"/>
+
+<!--
+  This is a workaround for FOR-284 "link rewriting broken when
+  linking to xml source views which contain site: links".
+  See the explanation there and in declare-broken-site-links.xsl
+-->
+   <exclude pattern="site:**"/>
+   <exclude pattern="ext:**"/>
+   <exclude pattern="lm:**"/>
+   <exclude pattern="**/site:**"/>
+   <exclude pattern="**/ext:**"/>
+   <exclude pattern="**/lm:**"/>
+
+   <!-- Exclude tokens used in URLs to ASF mirrors (interpreted by a CGI) -->
+   <exclude pattern="[preferred]/**"/>
+   <exclude pattern="[location]"/>
+
+   <!--   <include-links extension=".html"/>-->
+
+   <!--+
+       |  <uri> nodes specify the URIs that should be generated, and
+       |  where required, what should be done with the generated pages.
+       |  They describe the way the URI of the generated file is created
+       |  from the source page's URI. There are three ways that a generated
+       |  file URI can be created: append, replace and insert.
+       |
+       |  The "type" attribute specifies one of (append|replace|insert):
+       |
+       |  append:
+       |  Append the generated page's URI to the end of the source URI:
+       |
+       |   <uri type="append" src-prefix="documents/" src="index.html"
+       |   dest="build/dest/"/>
+       |
+       |  This means that
+       |   (1) the "documents/index.html" page is generated
+       |   (2) the file will be written to "build/dest/documents/index.html"
+       |
+       |  replace:
+       |  Completely ignore the generated page's URI - just
+       |  use the destination URI:
+       |
+       |   <uri type="replace" src-prefix="documents/" src="index.html"
+       |   dest="build/dest/docs.html"/>
+       |
+       |  This means that
+       |   (1) the "documents/index.html" page is generated
+       |   (2) the result is written to "build/dest/docs.html"
+       |   (3) this works only for "single" pages - and not when links
+       |       are followed
+       |
+       |  insert:
+       |  Insert generated page's URI into the destination
+       |  URI at the point marked with a * (example uses fictional
+       |  zip protocol)
+       |
+       |   <uri type="insert" src-prefix="documents/" src="index.html"
+       |   dest="zip://*.zip/page.html"/>
+       |
+       |  This means that
+       |   (1)
+       |
+       |  In any of these scenarios, if the dest attribute is omitted,
+       |  the value provided globally using the <dest-dir> node will
+       |  be used instead.
+       +-->
+   <!--
+   <uri type="replace"
+        src-prefix="samples/"
+        src="hello-world/hello.html"
+        dest="build/dest/hello-world.html"/>
+   -->
+
+   <!--+
+       | <uri> nodes can be grouped together in a <uris> node. This
+       | enables a group of URIs to share properties. The following
+       | properties can be set for a group of URIs:
+       |   * follow-links:       should pages be crawled for links
+       |   * confirm-extensions: should file extensions be checked
+       |                         for the correct mime type
+       |   * src-prefix:         all source URIs should be
+       |                         pre-pended with this prefix before
+       |                         generation. The prefix is not
+       |                         included when calculating the
+       |                         destination URI
+       |   * dest:               the base destination URI to be
+       |                         shared by all pages in this group
+       |   * type:               the method to be used to calculate
+       |                         the destination URI. See above
+       |                         section on <uri> node for details.
+       |
+       | Each <uris> node can have a name attribute. When a name
+       | attribute has been specified, the -n switch on the command
+       | line can be used to tell Cocoon to only process the URIs
+       | within this URI group. When no -n switch is given, all
+       | <uris> nodes are processed. Thus, one xconf file can be
+       | used to manage multiple sites.
+       +-->
+   <!--
+   <uris name="mirrors" follow-links="false">
+     <uri type="append" src="mirrors.html"/>
+   </uris>
+   -->
+
+   <!--+
+       |  File containing URIs (plain text, one per line).
+       +-->
+   <!--
+   <uri-file>uris.txt</uri-file>
+   -->
+</cocoon>

+ 0 - 1250
src/docs/src/documentation/content/xdocs/releasenotes.xml

@@ -1,1250 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  Copyright 2002-2004 The Apache Software Foundation
-
-  Licensed 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.
--->
-
-<!DOCTYPE article PUBLIC "-//OASIS//DTD Simplified DocBook XML V1.0//EN"
-"http://www.oasis-open.org/docbook/xml/simple/1.0/sdocbook.dtd">
-<article id="ar_ReleaseNotes">
-  <title>ZooKeeper 3.0.0 Release Notes</title>
-
-  <articleinfo>
-    <legalnotice>
-      <para>Licensed 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 <ulink
-      url="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</ulink>.</para>
-
-      <para>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.</para>
-    </legalnotice>
-  </articleinfo>
-
-<para>
-These release notes include new developer and user facing incompatibilities, features, and major improvements.
-</para>
-
-<itemizedlist>
-  <listitem><para><ulink url="#migration">Migration Instructions</ulink></para></listitem>
-  <listitem><para><ulink url="#changes">Changes</ulink></para></listitem>
-</itemizedlist>
-
-<section id="migration">
-<title>Migration Instructions when Upgrading to 3.0.0</title>
-
-<para>
-<emphasis>You should only have to read this section if you are upgrading from a previous version of ZooKeeper to version 3.0.0, otw skip down to <ulink url="#changes">changes</ulink></emphasis>
-</para>
-
-<para>
-A small number of changes in this release have resulted in non-backward compatible Zookeeper client user code and server instance data. The following instructions provide details on how to migrate code and date from version 2.2.1 to version 3.0.0.
-</para>
-
-<para>
-Note: ZooKeeper increments the major version number (major.minor.fix) when backward incompatible changes are made to the source base. As part of the migration from SourceForge we changed the package structure (com.yahoo.zookeeper.* to org.apache.zookeeper.*) and felt it was a good time to incorporate some changes that we had been withholding. As a result the following will be required when migrating from 2.2.1 to 3.0.0 version of ZooKeeper.
-</para>
-
-<itemizedlist>
-  <listitem><para><ulink url="#migration_code">Migrating Client Code</ulink></para></listitem>
-  <listitem><para><ulink url="#migration_data">Migrating Server Data</ulink></para></listitem>
-  <listitem><para><ulink url="#migration_config">Migrating Server Configuration</ulink></para></listitem>
-</itemizedlist>
-
-<section id="migration_code">
-<title>Migrating Client Code</title>
-
-<para>
-  The underlying client-server protocol has changed in version 3.0.0
-  of ZooKeeper. As a result clients must be upgraded along with
-  serving clusters to ensure proper operation of the system (old
-  pre-3.0.0 clients are not guaranteed to operate against upgraded
-  3.0.0 servers and vice-versa).
-</para>
-
-<section>
-<title>Watch Management</title>
-
-<para>
-In previous releases of ZooKeeper any watches registered by clients were lost if the client lost a connection to a ZooKeeper server.
-This meant that developers had to track watches they were interested in and reregister them if a session disconnect event was recieved.
-In this release the client library tracks watches that a client has registered and reregisters the watches when a connection is made to a new server.
-Applications that still manually reregister interest should continue working properly as long as they are able to handle unsolicited watches.
-For example, an old application may register a watch for /foo and /goo, lose the connection, and reregister only /goo.
-As long as the application is able to recieve a notification for /foo, (probably ignoring it) it does not need to be changed.
-One caveat to the watch management: it is possible to miss an event for the creation and deletion of a znode if watching for creation and both the create and delete happens while the client is disconnected from ZooKeeper.
-</para>
-
-<para>
-This release also allows clients to specify call specific watch functions.
-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.
-</para>
-</section>
-
-<section>
-<title>Java API</title>
-
-<orderedlist>
-  <listitem><para>The java package structure has changed from <emphasis role="bold">com.yahoo.zookeeper*</emphasis> to <emphasis role="bold">org.apache.zookeeper*</emphasis>. This will probably effect all of your java code which makes use of ZooKeeper APIs (typically import statements)</para></listitem>
-  <listitem><para>A number of constants used in the client ZooKeeper API were re-specified using enums (rather than ints). See <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-7">ZOOKEEPER-7</ulink>, <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-132">ZOOKEEPER-132</ulink> and <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-139">ZOOKEEPER-139</ulink> for full details</para></listitem>
-  <listitem><para><ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-18">ZOOKEEPER-18</ulink> removed KeeperStateChanged, use KeeperStateDisconnected instead</para></listitem>
-</orderedlist>
-
-<para>
-Also see <ulink url="http://zookeeper.apache.org/docs/current/api/index.html">the current java API</ulink>
-</para>
-</section>
-
-<section>
-<title>C API</title>
-
-<orderedlist>
-  <listitem><para>A number of constants used in the client ZooKeeper API were renamed in order to reduce namespace collision, see <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-6">ZOOKEEPER-6</ulink> for full details</para></listitem>
-</orderedlist>
-
-</section>
-</section>
-
-<section id="migration_data">
-<title>Migrating Server Data</title>
-
-<para>
-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. 
-</para>
-
-<itemizedlist>
-  <listitem><para><ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-27">ZOOKEEPER-27 Unique DB identifiers for servers and clients</ulink></para></listitem>
-  <listitem><para><ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-32">ZOOKEEPER-32 CRCs for ZooKeeper data</ulink></para></listitem>
-  <listitem><para><ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-33">ZOOKEEPER-33 Better ACL management</ulink></para></listitem>
-  <listitem><para><ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-38">ZOOKEEPER-38 headers (version+) in log/snap files</ulink></para></listitem>
-</itemizedlist>
-
-<para>
-  <emphasis role="bold">The following must be run once, and only once, when upgrading the ZooKeeper server instances to version 3.0.0.</emphasis>
-</para>
-
-<note>
-  <para>
-    The &lt;dataLogDir&gt; and &lt;dataDir&gt; directories referenced
-    below are specified by the <emphasis>dataLogDir</emphasis>
-    and <emphasis>dataDir</emphasis> specification in your
-    ZooKeeper config file
-    respectively. <emphasis>dataLogDir</emphasis> defaults to the
-    value of <emphasis>dataDir</emphasis> if not specified explicitly
-    in the ZooKeeper server config file (in which case provide the
-    same directory for both parameters to the upgrade utility).
-  </para>
-</note>
-
-<orderedlist>
-  <listitem><para>Shutdown the ZooKeeper server cluster.</para></listitem>
-  <listitem><para>Backup your &lt;dataLogDir&gt; and &lt;dataDir&gt; directories</para></listitem>
-  <listitem><para>Run upgrade using</para>
-    <itemizedlist>
-      <listitem><para><computeroutput>bin/zkServer.sh upgrade &lt;dataLogDir&gt; &lt;dataDir&gt;</computeroutput></para></listitem>
-    </itemizedlist>
-    <para>or</para>
-    <itemizedlist>
-      <listitem><para><computeroutput>java -classpath pathtolog4j:pathtozookeeper.jar UpgradeMain &lt;dataLogDir&gt; &lt;dataDir&gt;</computeroutput></para></listitem>
-    </itemizedlist>
-    <para>where &lt;dataLogDir&gt; is the directory where all transaction logs (log.*) are stored. &lt;dataDir&gt; is the directory where all the snapshots (snapshot.*) are stored.</para>
-  </listitem>
-  <listitem><para>Restart the cluster. </para></listitem>
- </orderedlist>
- <para>
- If you have any failure during the upgrade procedure keep reading to sanitize your database. 
- </para> 
-<para>This is how upgrade works in ZooKeeper. This will help you troubleshoot in case you have problems while upgrading</para>
-<orderedlist>
-<listitem><para>Upgrade moves files from &lt;dataLogDir&gt; and &lt;dataDir&gt; to &lt;dataLogDir&gt;/version-1/ and &lt;dataDir&gt;/version-1 respectively (version-1 sub-directory is created by the upgrade utility). </para></listitem>
- <listitem><para>Upgrade creates a new version sub-directory &lt;dataDir&gt;/version-2 and &lt;dataLogDir&gt;/version-2</para></listitem>
- <listitem><para>Upgrade reads the old database from &lt;dataDir&gt;/version-1 and &lt;dataLogDir&gt;/version-1 into the memory and creates a new upgraded snapshot. </para></listitem>
- <listitem><para>Upgrade writes the new database in &lt;dataDir&gt;/version-2.  </para></listitem>
- </orderedlist>
- 
- <para>Troubleshooting.</para>
- 
- <orderedlist>
- <listitem><para>In case you start ZooKeeper 3.0 without upgrading from 2.0 on a 2.0 database - the servers will start up with an empty database.
- This is because the servers assume that &lt;dataDir&gt;/version-2 and &lt;dataLogDir&gt;/version-2 will have the database to start with. Since this will be empty
- in case of no upgrade, the servers will start with an empty database. In such a case, shutdown the ZooKeeper servers, remove the version-2 directory (remember
- this will lead to loss of updates after you started 3.0.)
- and then start the upgrade procedure.</para></listitem>
- <listitem><para>If the upgrade fails while trying to rename files into the version-1 directory, you should try and move all the files under &lt;dataDir&gt;/version-1
- and &lt;dataLogDir&gt;/version-1 to &lt;dataDir&gt; and &lt;dataLogDir&gt; respectively. Then try upgrade again.
- </para>
- </listitem>
- <listitem><para> If you do not wish to run with ZooKeeper 3.0 and prefer to run with ZooKeeper 2.0 and have already upgraded - you can run ZooKeeper 2 with 
- the &lt;dataDir&gt; and &lt;dataLogDir&gt; directories changed to &lt;dataDir&gt;/version-1 and &lt;dataLogDir&gt;/version-1. Remember that you will lose all the updates that you made after the upgrade.
-</para></listitem> 
- </orderedlist>
- 
-</section>
-
-<section id="migration_config">
-<title>Migrating Server Configuration</title>
-
-<para>
-There is a significant change to the ZooKeeper server configuration file.
-</para>
-
-<para>The default election algorithm, specified by
-  the <emphasis>electionAlg</emphasis> configuration attribute, has
-  changed from a default of <emphasis>0</emphasis> to a default
-  of <emphasis>3</emphasis>. See
-  <ulink url="zookeeperAdmin.html#sc_clusterOptions">Cluster
-  Options</ulink> section of the administrators guide, specifically
-  the <emphasis>electionAlg</emphasis>
-  and <emphasis>server.X</emphasis> properties.
-</para>
-
-<para>
-  You will either need to explicitly
-  set <emphasis>electionAlg</emphasis> to it's previous default value
-  of <emphasis>0</emphasis> or change
-  your <emphasis>server.X</emphasis> options to include the leader
-  election port.
-</para>
-
-</section>
-
-</section>
-
-<section id="changes">
-<title>Changes Since ZooKeeper 2.2.1</title>
-
-<para>
-Version 2.2.1 code, documentation, binaries, etc... are still accessible on <ulink url="http://sourceforge.net/projects/zookeeper">SourceForge</ulink>
-</para>
-
-  <table>
-<title>Changes Since ZooKeeper 2.2.1</title>
-<tgroup cols='2'>
-<colspec colname='c1'/><colspec colname='c2'/>
-<thead>
-<row>
-  <entry>Issue</entry>
-  <entry>Notes</entry>
-</row>
-</thead>
-<tbody>
-<row>
-  <entry>
-    <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-43">
-      ZOOKEEPER-43</ulink>
-  </entry>
-  <entry>
-    Server side of auto reset watches.
-  </entry>
-</row>
-<row>
-  <entry>
-    <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-132">
-      ZOOKEEPER-132</ulink>
-  </entry>
-  <entry>
-    Create Enum to replace CreateFlag in ZooKepper.create method 
-  </entry>
-</row>
-<row>
-  <entry>
-    <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-139">
-      ZOOKEEPER-139</ulink>
-  </entry>
-  <entry>
-    Create Enums for WatcherEvent's KeeperState and EventType
-  </entry>
-</row>
-<row>
-  <entry>
-    <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-18">
-      ZOOKEEPER-18</ulink>
-  </entry>
-  <entry>
-    keeper state inconsistency 
-  </entry>
-</row>
-<row>
-  <entry>
-    <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-38">
-      ZOOKEEPER-38</ulink>
-  </entry>
-  <entry>
-    headers  in log/snap files
-  </entry>
-</row>
-<row>
-  <entry>
-    <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-8">
-      ZOOKEEPER-8</ulink>
-  </entry>
-  <entry>
-    Stat enchaned to include num of children and size
-  </entry>
-</row>
-<row>
-  <entry>
-    <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-6">
-      ZOOKEEPER-6</ulink>
-  </entry>
-  <entry>
-    List of problem identifiers in zookeeper.h
-  </entry>
-</row>
-<row>
-  <entry>
-    <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-7">
-      ZOOKEEPER-7</ulink>
-  </entry>
-  <entry>
-    Use enums rather than ints for types and state
-  </entry>
-</row>
-<row>
-  <entry>
-    <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-27">
-      ZOOKEEPER-27</ulink>
-  </entry>
-  <entry>
-    Unique DB identifiers for servers and clients
-  </entry>
-</row>
-<row>
-  <entry>
-    <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-32">
-      ZOOKEEPER-32</ulink>
-  </entry>
-  <entry>
-    CRCs for ZooKeeper data
-  </entry>
-</row>
-<row>
-  <entry>
-    <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-33">
-      ZOOKEEPER-33</ulink>
-  </entry>
-  <entry>
-    Better ACL management
-  </entry>
-</row>
-<row>
-  <entry>
-    <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-203">
-      ZOOKEEPER-203</ulink>
-  </entry>
-  <entry>
-    fix datadir typo in releasenotes
-  </entry>
-</row>
-<row>
-  <entry>
-    <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-145">
-      ZOOKEEPER-145</ulink>
-  </entry>
-  <entry>
-    write detailed release notes for users migrating from 2.x to 3.0
-  </entry>
-</row>
-<row>
-  <entry>
-    <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-23">
-      ZOOKEEPER-23</ulink>
-  </entry>
-  <entry>
-    Auto reset of watches on reconnect
-  </entry>
-</row>
-<row>
-  <entry>
-    <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-191">
-      ZOOKEEPER-191</ulink>
-  </entry>
-  <entry>
-    forrest docs for upgrade.
-  </entry>
-</row>
-<row>
-  <entry>
-    <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-201">
-      ZOOKEEPER-201</ulink>
-  </entry>
-  <entry>
-    validate magic number when reading snapshot and transaction logs 
-  </entry>
-</row>
-<row>
-  <entry>
-    <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-200">
-      ZOOKEEPER-200</ulink>
-  </entry>
-  <entry>
-    the magic number for snapshot and log must be different
-  </entry>
-</row>
-<row>
-  <entry>
-    <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-199">
-      ZOOKEEPER-199</ulink>
-  </entry>
-  <entry>
-    fix log messages in persistence code 
-  </entry>
-</row>
-<row>
-  <entry>
-    <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-197">
-      ZOOKEEPER-197</ulink>
-  </entry>
-  <entry>
-    create checksums for snapshots 
-  </entry>
-</row>
-<row>
-  <entry>
-    <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-198">
-      ZOOKEEPER-198</ulink>
-  </entry>
-  <entry>
-    apache license header missing from FollowerSyncRequest.java
-  </entry>
-</row>
-<row>
-  <entry>
-    <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-5">
-      ZOOKEEPER-5</ulink>
-  </entry>
-  <entry>
-    Upgrade Feature in Zookeeper server. 
-  </entry>
-</row>
-<row>
-  <entry>
-    <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-194">
-      ZOOKEEPER-194</ulink>
-  </entry>
-  <entry>
-    Fix terminology in zookeeperAdmin.xml
-  </entry>
-</row>
-<row>
-  <entry>
-    <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-151">
-      ZOOKEEPER-151</ulink>
-  </entry>
-  <entry>
-    Document change to server configuration
-  </entry>
-</row>
-<row>
-  <entry>
-    <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-193">
-      ZOOKEEPER-193</ulink>
-  </entry>
-  <entry>
-    update java example doc to compile with latest zookeeper
-  </entry>
-</row>
-<row>
-  <entry>
-    <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-187">
-      ZOOKEEPER-187</ulink>
-  </entry>
-  <entry>
-    CreateMode api docs missing 
-  </entry>
-</row>
-<row>
-  <entry>
-    <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-186">
-      ZOOKEEPER-186</ulink>
-  </entry>
-  <entry>
-    add new "releasenotes.xml" to forrest documentation
-  </entry>
-</row>
-<row>
-  <entry>
-    <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-190">
-      ZOOKEEPER-190</ulink>
-  </entry>
-  <entry>
-    Reorg links to docs and navs to docs into related sections
-  </entry>
-</row>
-<row>
-  <entry>
-    <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-189">
-      ZOOKEEPER-189</ulink>
-  </entry>
-  <entry>
-    forrest build not validated xml of input documents
-  </entry>
-</row>
-<row>
-  <entry>
-    <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-188">
-      ZOOKEEPER-188</ulink>
-  </entry>
-  <entry>
-    Check that election port is present for all servers
-  </entry>
-</row>
-<row>
-  <entry>
-    <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-185">
-      ZOOKEEPER-185</ulink>
-  </entry>
-  <entry>
-    Improved version of FLETest 
-  </entry>
-</row>
-<row>
-  <entry>
-    <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-184">
-      ZOOKEEPER-184</ulink>
-  </entry>
-  <entry>
-    tests: An explicit include derective is needed for the usage of memcpy functions
-  </entry>
-</row>
-<row>
-  <entry>
-    <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-183">
-      ZOOKEEPER-183</ulink>
-  </entry>
-  <entry>
-    Array subscript is above array bounds in od_completion, src/cli.c. 
-  </entry>
-</row>
-<row>
-  <entry>
-    <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-182">
-      ZOOKEEPER-182</ulink>
-  </entry>
-  <entry>
-     zookeeper_init accepts empty host-port string and returns valid pointer to zhandle_t. 
-  </entry>
-</row>
-<row>
-  <entry>
-    <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-17">
-      ZOOKEEPER-17</ulink>
-  </entry>
-  <entry>
-    zookeeper_init doc needs clarification 
-  </entry>
-</row>
-<row>
-  <entry>
-    <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-181">
-      ZOOKEEPER-181</ulink>
-  </entry>
-  <entry>
-    Some Source Forge Documents did not get moved over: javaExample, zookeeperTutorial, zookeeperInternals 
-  </entry>
-</row>
-<row>
-  <entry>
-    <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-180">
-      ZOOKEEPER-180</ulink>
-  </entry>
-  <entry>
-    Placeholder sections needed in document for new topics that the umbrella jira discusses 
-  </entry>
-</row>
-<row>
-  <entry>
-    <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-179">
-      ZOOKEEPER-179</ulink>
-  </entry>
-  <entry>
-    Programmer's Guide "Basic Operations" section is missing content 
-  </entry>
-</row>
-<row>
-  <entry>
-    <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-178">
-      ZOOKEEPER-178</ulink>
-  </entry>
-  <entry>
-    FLE test. 
-  </entry>
-</row>
-<row>
-  <entry>
-    <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-159">
-      ZOOKEEPER-159</ulink>
-  </entry>
-  <entry>
-    Cover two corner cases of leader election
-  </entry>
-</row>
-<row>
-  <entry>
-    <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-156">
-      ZOOKEEPER-156</ulink>
-  </entry>
-  <entry>
-    update programmer guide with acl details from old wiki page
-  </entry>
-</row>
-<row>
-  <entry>
-    <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-154">
-      ZOOKEEPER-154</ulink>
-  </entry>
-  <entry>
-    reliability graph diagram in overview doc needs context
-  </entry>
-</row>
-<row>
-  <entry>
-    <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-157">
-      ZOOKEEPER-157</ulink>
-  </entry>
-  <entry>
-    Peer can't find existing leader 
-  </entry>
-</row>
-<row>
-  <entry>
-    <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-155">
-      ZOOKEEPER-155</ulink>
-  </entry>
-  <entry>
-    improve "the zookeeper project" section of overview doc
-  </entry>
-</row>
-<row>
-  <entry>
-    <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-140">
-      ZOOKEEPER-140</ulink>
-  </entry>
-  <entry>
-    Deadlock in QuorumCnxManager 
-  </entry>
-</row>
-<row>
-  <entry>
-    <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-147">
-      ZOOKEEPER-147</ulink>
-  </entry>
-  <entry>
-    This is version of the documents with most of the [tbd...] scrubbed out 
-  </entry>
-</row>
-<row>
-  <entry>
-    <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-150">
-      ZOOKEEPER-150</ulink>
-  </entry>
-  <entry>
-    zookeeper build broken 
-  </entry>
-</row>
-<row>
-  <entry>
-    <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-136">
-      ZOOKEEPER-136</ulink>
-  </entry>
-  <entry>
-    sync causes hang in all followers of quorum. 
-  </entry>
-</row>
-<row>
-  <entry>
-    <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-134">
-      ZOOKEEPER-134</ulink>
-  </entry>
-  <entry>
-    findbugs cleanup 
-  </entry>
-</row>
-<row>
-  <entry>
-    <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-133">
-      ZOOKEEPER-133</ulink>
-  </entry>
-  <entry>
-    hudson tests failing intermittently 
-  </entry>
-</row>
-<row>
-  <entry>
-    <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-144">
-      ZOOKEEPER-144</ulink>
-  </entry>
-  <entry>
-    add tostring support for watcher event, and enums for event type/state 
-  </entry>
-</row>
-<row>
-  <entry>
-    <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-21">
-      ZOOKEEPER-21</ulink>
-  </entry>
-  <entry>
-    Improve zk ctor/watcher 
-  </entry>
-</row>
-<row>
-  <entry>
-    <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-142">
-      ZOOKEEPER-142</ulink>
-  </entry>
-  <entry>
-    Provide Javadoc as to the maximum size of the data byte array that may be stored within a znode 
-  </entry>
-</row>
-<row>
-  <entry>
-    <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-93">
-      ZOOKEEPER-93</ulink>
-  </entry>
-  <entry>
-    Create Documentation for Zookeeper 
-  </entry>
-</row>
-<row>
-  <entry>
-    <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-117">
-      ZOOKEEPER-117</ulink>
-  </entry>
-  <entry>
-    threading issues in Leader election 
-  </entry>
-</row>
-<row>
-  <entry>
-    <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-137">
-      ZOOKEEPER-137</ulink>
-  </entry>
-  <entry>
-    client watcher objects can lose events 
-  </entry>
-</row>
-<row>
-  <entry>
-    <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-131">
-      ZOOKEEPER-131</ulink>
-  </entry>
-  <entry>
-    Old leader election can elect a dead leader over and over again 
-  </entry>
-</row>
-<row>
-  <entry>
-    <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-130">
-      ZOOKEEPER-130</ulink>
-  </entry>
-  <entry>
-    update build.xml to support apache release process
-  </entry>
-</row>
-<row>
-  <entry>
-    <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-118">
-      ZOOKEEPER-118</ulink>
-  </entry>
-  <entry>
-    findbugs flagged switch statement in followerrequestprocessor.run
-  </entry>
-</row>
-<row>
-  <entry>
-    <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-115">
-      ZOOKEEPER-115</ulink>
-  </entry>
-  <entry>
-    Potential NPE in QuorumCnxManager
-  </entry>
-</row>
-<row>
-  <entry>
-    <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-114">
-      ZOOKEEPER-114</ulink>
-  </entry>
-  <entry>
-    cleanup ugly event messages in zookeeper client 
-  </entry>
-</row>
-<row>
-  <entry>
-    <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-112">
-      ZOOKEEPER-112</ulink>
-  </entry>
-  <entry>
-    src/java/main ZooKeeper.java has test code embedded into it.
-  </entry>
-</row>
-<row>
-  <entry>
-    <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-39">
-      ZOOKEEPER-39</ulink>
-  </entry>
-  <entry>
-    Use Watcher objects rather than boolean on read operations.
-  </entry>
-</row>
-<row>
-  <entry>
-    <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-97">
-      ZOOKEEPER-97</ulink>
-  </entry>
-  <entry>
-    supports optional output directory in code generator.
-  </entry>
-</row>
-<row>
-  <entry>
-    <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-101">
-      ZOOKEEPER-101</ulink>
-  </entry>
-  <entry>
-    Integrate ZooKeeper with "violations" feature on hudson
-  </entry>
-</row>
-<row>
-  <entry>
-    <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-105">
-      ZOOKEEPER-105</ulink>
-  </entry>
-  <entry>
-    Catch Zookeeper exceptions and print on the stderr. 
-  </entry>
-</row>
-<row>
-  <entry>
-    <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-42">
-      ZOOKEEPER-42</ulink>
-  </entry>
-  <entry>
-    Change Leader Election to fast tcp.
-  </entry>
-</row>
-<row>
-  <entry>
-    <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-48">
-      ZOOKEEPER-48</ulink>
-  </entry>
-  <entry>
-    auth_id now handled correctly when no auth ids present
-  </entry>
-</row>
-<row>
-  <entry>
-    <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-44">
-      ZOOKEEPER-44</ulink>
-  </entry>
-  <entry>
-    Create sequence flag children with prefixes of 0's so that they can be lexicographically sorted. 
-  </entry>
-</row>
-<row>
-  <entry>
-    <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-108">
-      ZOOKEEPER-108</ulink>
-  </entry>
-  <entry>
-    Fix sync operation reordering on a Quorum. 
-  </entry>
-</row>
-<row>
-  <entry>
-    <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-25">
-      ZOOKEEPER-25</ulink>
-  </entry>
-  <entry>
-    Fuse module for Zookeeper.
-  </entry>
-</row>
-<row>
-  <entry>
-    <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-58">
-      ZOOKEEPER-58</ulink>
-  </entry>
-  <entry>
-    Race condition on ClientCnxn.java 
-  </entry>
-</row>
-<row>
-  <entry>
-    <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-56">
-      ZOOKEEPER-56</ulink>
-  </entry>
-  <entry>
-    Add clover support to build.xml. 
-  </entry>
-</row>
-<row>
-  <entry>
-    <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-75">
-      ZOOKEEPER-75</ulink>
-  </entry>
-  <entry>
-    register the ZooKeeper mailing lists with nabble.com 
-  </entry>
-</row>
-<row>
-  <entry>
-    <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-54">
-      ZOOKEEPER-54</ulink>
-  </entry>
-  <entry>
-    remove sleeps in the tests. 
-  </entry>
-</row>
-<row>
-  <entry>
-    <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-55">
-      ZOOKEEPER-55</ulink>
-  </entry>
-  <entry>
-    build.xml failes to retrieve a release number from SVN and the ant target "dist" fails 
-  </entry>
-</row>
-<row>
-  <entry>
-    <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-89">
-      ZOOKEEPER-89</ulink>
-  </entry>
-  <entry>
-    invoke WhenOwnerListener.whenNotOwner when the ZK connection fails 
-  </entry>
-</row>
-<row>
-  <entry>
-    <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-90">
-      ZOOKEEPER-90</ulink>
-  </entry>
-  <entry>
-    invoke WhenOwnerListener.whenNotOwner when the ZK session expires and the znode is the leader 
-  </entry>
-</row>
-<row>
-  <entry>
-    <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-82">
-      ZOOKEEPER-82</ulink>
-  </entry>
-  <entry>
-    Make the ZooKeeperServer more DI friendly.
-  </entry>
-</row>
-<row>
-  <entry>
-    <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-110">
-      ZOOKEEPER-110</ulink>
-  </entry>
-  <entry>
-    Build script relies on svnant, which is not compatible with subversion 1.5 working copies 
-  </entry>
-</row>
-<row>
-  <entry>
-    <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-111">
-      ZOOKEEPER-111</ulink>
-  </entry>
-  <entry>
-    Significant cleanup of existing tests.
-  </entry>
-</row>
-<row>
-  <entry>
-    <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-122">
-      ZOOKEEPER-122</ulink>
-  </entry>
-  <entry>
-    Fix  NPE in jute's Utils.toCSVString.
-  </entry>
-</row>
-<row>
-  <entry>
-    <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-123">
-      ZOOKEEPER-123</ulink>
-  </entry>
-  <entry>
-    Fix  the wrong class is specified for the logger.
-  </entry>
-</row>
-<row>
-  <entry>
-    <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-2">
-      ZOOKEEPER-2</ulink>
-  </entry>
-  <entry>
-    Fix synchronization issues in QuorumPeer and FastLeader election. 
-  </entry>
-</row>
-<row>
-  <entry>
-    <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-125">
-      ZOOKEEPER-125</ulink>
-  </entry>
-  <entry>
-    Remove unwanted class declaration in FastLeaderElection. 
-  </entry>
-</row>
-<row>
-  <entry>
-    <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-61">
-      ZOOKEEPER-61</ulink>
-  </entry>
-  <entry>
-    Address  in client/server test cases.
-  </entry>
-</row>
-<row>
-  <entry>
-    <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-75">
-      ZOOKEEPER-75</ulink>
-  </entry>
-  <entry>
-    cleanup the library directory 
-  </entry>
-</row>
-<row>
-  <entry>
-    <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-109">
-      ZOOKEEPER-109</ulink>
-  </entry>
-  <entry>
-    cleanup of NPE and Resource issue nits found by static analysis 
-  </entry>
-</row>
-<row>
-  <entry>
-    <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-76">
-      ZOOKEEPER-76</ulink>
-  </entry>
-  <entry>
-    Commit 677109 removed the cobertura library, but not the build targets. 
-  </entry>
-</row>
-<row>
-  <entry>
-    <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-63">
-      ZOOKEEPER-63</ulink>
-  </entry>
-  <entry>
-    Race condition in client close
-  </entry>
-</row>
-<row>
-  <entry>
-    <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-70">
-      ZOOKEEPER-70</ulink>
-  </entry>
-  <entry>
-    Add skeleton forrest doc structure for ZooKeeper 
-  </entry>
-</row>
-<row>
-  <entry>
-    <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-79">
-      ZOOKEEPER-79</ulink>
-  </entry>
-  <entry>
-    Document jacob's leader election on the wiki recipes page 
-  </entry>
-</row>
-<row>
-  <entry>
-    <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-73">
-      ZOOKEEPER-73</ulink>
-  </entry>
-  <entry>
-    Move ZK wiki from SourceForge to Apache 
-  </entry>
-</row>
-<row>
-  <entry>
-    <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-72">
-      ZOOKEEPER-72</ulink>
-  </entry>
-  <entry>
-    Initial creation/setup of ZooKeeper ASF site. 
-  </entry>
-</row>
-<row>
-  <entry>
-    <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-71">
-      ZOOKEEPER-71</ulink>
-  </entry>
-  <entry>
-    Determine what to do re ZooKeeper Changelog
-  </entry>
-</row>
-<row>
-  <entry>
-    <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-68">
-      ZOOKEEPER-68</ulink>
-  </entry>
-  <entry>
-    parseACLs in ZooKeeper.java fails to parse elements of ACL, should be lastIndexOf rather than IndexOf 
-  </entry>
-</row>
-<row>
-  <entry>
-    <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-130">
-      ZOOKEEPER-130</ulink>
-  </entry>
-  <entry>
-    update build.xml to support apache release process. 
-  </entry>
-</row>
-<row>
-  <entry>
-    <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-131">
-      ZOOKEEPER-131</ulink>
-  </entry>
-  <entry>
-    Fix Old leader election can elect a dead leader over and over again. 
-  </entry>
-</row>
-<row>
-  <entry>
-    <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-137">
-      ZOOKEEPER-137</ulink>
-  </entry>
-  <entry>
-    client watcher objects can lose events 
-  </entry>
-</row>
-<row>
-  <entry>
-    <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-117">
-      ZOOKEEPER-117</ulink>
-  </entry>
-  <entry>
-    threading issues in Leader election
-  </entry>
-</row>
-<row>
-  <entry>
-    <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-128">
-      ZOOKEEPER-128</ulink>
-  </entry>
-  <entry>
-    test coverage on async client operations needs to be improved
-  </entry>
-</row>
-<row>
-  <entry>
-    <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-127">
-      ZOOKEEPER-127</ulink>
-  </entry>
-  <entry>
-     Use of non-standard election ports in config breaks services
-  </entry>
-</row>
-<row>
-  <entry>
-    <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-53">
-      ZOOKEEPER-53</ulink>
-  </entry>
-  <entry>
-    tests failing on solaris. 
-  </entry>
-</row>
-<row>
-  <entry>
-    <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-172">
-      ZOOKEEPER-172</ulink>
-  </entry>
-  <entry>
-    FLE Test 
-  </entry>
-</row>
-<row>
-  <entry>
-    <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-41">
-      ZOOKEEPER-41</ulink>
-  </entry>
-  <entry>
-    Sample startup script 
-  </entry>
-</row>
-<row>
-  <entry>
-    <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-33">
-      ZOOKEEPER-33</ulink>
-  </entry>
-  <entry>
-    Better ACL management 
-  </entry>
-</row>
-<row>
-  <entry>
-    <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-49">
-      ZOOKEEPER-49</ulink>
-  </entry>
-  <entry>
-    SetACL does not work 
-  </entry>
-</row>
-<row>
-  <entry>
-    <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-20">
-      ZOOKEEPER-20</ulink>
-  </entry>
-  <entry>
-    Child watches are not triggered when the node is deleted
-  </entry>
-</row>
-<row>
-  <entry>
-    <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-15">
-      ZOOKEEPER-15</ulink>
-  </entry>
-  <entry>
-    handle failure better in build.xml:test 
-  </entry>
-</row>
-<row>
-  <entry>
-    <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-11">
-      ZOOKEEPER-11</ulink>
-  </entry>
-  <entry>
-    ArrayList is used instead of List 
-  </entry>
-</row>
-<row>
-  <entry>
-    <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-45">
-      ZOOKEEPER-45</ulink>
-  </entry>
-  <entry>
-    Restructure the SVN repository after initial import 
-  </entry>
-</row>
-<row>
-  <entry>
-    <ulink url="https://issues.apache.org/jira/browse/ZOOKEEPER-1">
-      ZOOKEEPER-1</ulink>
-  </entry>
-  <entry>
-    Initial ZooKeeper code contribution from Yahoo!
-  </entry>
-</row>
-
-</tbody></tgroup></table>
-
-</section>
-</article>
-