You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@bookkeeper.apache.org by gi...@apache.org on 2017/08/10 20:31:36 UTC

[bookkeeper] branch asf-site updated: Updated site at revision 3ebd429

This is an automated email from the ASF dual-hosted git repository.

git-site-role pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/bookkeeper.git


The following commit(s) were added to refs/heads/asf-site by this push:
     new 914f0fe  Updated site at revision 3ebd429
914f0fe is described below

commit 914f0fe37722681326b274a45fde5bf88fcfd28f
Author: jenkins <bu...@apache.org>
AuthorDate: Thu Aug 10 20:31:34 2017 +0000

    Updated site at revision 3ebd429
---
 .../docs/4.5.0/overview/releaseNotes/index.html    | 539 ++++++++++++++++++++-
 .../class-use/AsyncCallback.AddCallback.html       |  24 +-
 .../class-use/AsyncCallback.CloseCallback.html     |  10 +-
 .../BKException.BKNotEnoughBookiesException.html   |  28 +-
 .../bookkeeper/client/class-use/BKException.html   |  48 +-
 .../bookkeeper/client/class-use/BookKeeper.html    |   8 +-
 .../class-use/BookieInfoReader.BookieInfo.html     |  12 +-
 .../client/class-use/BookiesListener.html          |  14 +-
 .../class-use/DigestManager.RecoveryData.html      |   4 +-
 .../class-use/DistributionSchedule.AckSet.html     |   4 +-
 .../DistributionSchedule.QuorumCoverageSet.html    |   4 +-
 .../client/class-use/EnsemblePlacementPolicy.html  |   4 +-
 ...ologyAwareEnsemblePlacementPolicy.Ensemble.html |   8 +-
 ...logyAwareEnsemblePlacementPolicy.Predicate.html |   8 +-
 .../bookkeeper/client/class-use/LedgerEntry.html   |  12 +-
 .../bookkeeper/client/class-use/LedgerHandle.html  |  76 +--
 .../client/class-use/LedgerMetadata.html           |  14 +-
 ...dLastConfirmedOp.LastConfirmedDataCallback.html |   4 +-
 ...ogyAwareEnsemblePlacementPolicy.BookieNode.html |  20 +-
 .../org/apache/bookkeeper/client/package-tree.html |   2 +-
 .../conf/class-use/ClientConfiguration.html        |  12 +-
 .../feature/class-use/FeatureProvider.html         |  22 +-
 .../apache/bookkeeper/stats/class-use/Counter.html |   6 +-
 .../apache/bookkeeper/stats/class-use/Gauge.html   |  24 +-
 .../bookkeeper/stats/class-use/OpStatsData.html    |   4 +-
 .../bookkeeper/stats/class-use/OpStatsLogger.html  |   6 +-
 .../bookkeeper/stats/class-use/StatsLogger.html    |  66 +--
 content/docs/latest/api/javadoc/overview-tree.html |   2 +-
 content/releases/index.html                        |  10 +-
 29 files changed, 765 insertions(+), 230 deletions(-)

diff --git a/content/docs/4.5.0/overview/releaseNotes/index.html b/content/docs/4.5.0/overview/releaseNotes/index.html
index 52b9e7e..1024be3 100644
--- a/content/docs/4.5.0/overview/releaseNotes/index.html
+++ b/content/docs/4.5.0/overview/releaseNotes/index.html
@@ -423,19 +423,521 @@
 
       <div class="content">
         <section class="bk-main-content">
-          <p>[provide a summary of this release]</p>
+          <p>This is the fifth release of BookKeeper as an Apache Top Level Project!</p>
+
+<p>The 4.5.0 release incorporates hundreds of new fixes, improvements, and features since previous major release, 4.4.0,
+which was released over a year ago. It is a big milestone in Apache BookKeeper community, converging from three
+main branches (Salesforce, Twitter and Yahoo).</p>
 
 <p>Apache BookKeeper users are encouraged to upgrade to 4.5.0. The technical details of this release are summarized
 below.</p>
 
 <h2 id="highlights">Highlights</h2>
 
-<p>[List the highlights]</p>
+<p>The main features in 4.5.0 cover are around following areas:</p>
+
+<ul>
+  <li>Dependencies Upgrade</li>
+  <li>Security</li>
+  <li>Public API</li>
+  <li>Performance</li>
+  <li>Operations</li>
+</ul>
+
+<h3 id="dependencies-upgrade">Dependencies Upgrade</h3>
+
+<p>Here is a list of dependencies upgraded in 4.5.0:</p>
+
+<ul>
+  <li>Moved the developement from Java 7 to Java 8.</li>
+  <li>Upgrade Protobuf to <code class="highlighter-rouge">2.6</code>.</li>
+  <li>Upgrade ZooKeeper from <code class="highlighter-rouge">3.4</code> to <code class="highlighter-rouge">3.5</code>.</li>
+  <li>Upgrade Netty to <code class="highlighter-rouge">4.1</code>.</li>
+  <li>Upgrade Guava to <code class="highlighter-rouge">20.0</code>.</li>
+  <li>Upgrade SLF4J to <code class="highlighter-rouge">1.7.25</code>.</li>
+  <li>Upgrade Codahale to <code class="highlighter-rouge">3.1.0</code>.</li>
+</ul>
+
+<h3 id="security">Security</h3>
+
+<p>Prior to this release, Apache BookKeeper only supports simple <code class="highlighter-rouge">DIGEST-MD5</code> type authentication.</p>
+
+<p>With this release of Apache BookKeeper, a number of feature are introduced that can be used, together of separately,
+to secure a BookKeeper cluster.</p>
+
+<p>The following security features are currently supported.</p>
+
+<ul>
+  <li>Authentication of connections to bookies from clients, using either <code class="highlighter-rouge">TLS</code> or `SASL (Kerberos).</li>
+  <li>Authentication of connections from clients, bookies, autorecovery daemons to <code class="highlighter-rouge">ZooKeeper</code>, when using zookeeper
+  based ledger managers.</li>
+  <li>Encryption of data transferred between bookies and clients, between bookies and autorecovery daemons using <code class="highlighter-rouge">TLS</code>.</li>
+</ul>
+
+<p>It’s worth noting that those security features are optional - non-secured clusters are supported, as well as a mix
+of authenticated, unauthenticated, encrypted and non-encrypted clients.</p>
+
+<p>For more details, have a look at <a href="../../security/overview">BookKeeper Security</a>.</p>
+
+<h3 id="public-api">Public API</h3>
+
+<p>There are multiple new client features introduced in 4.5.0.</p>
+
+<h4 id="ledgerhandleadv">LedgerHandleAdv</h4>
+
+<p>The [Ledger API] is the low level API provides by BookKeeper for interacting with <code class="highlighter-rouge">ledgers</code> in a bookkeeper cluster.
+It is simple but not flexible on ledger id or entry id generation. Apache BookKeeper introduces <code class="highlighter-rouge">LedgerHandleAdv</code>
+as an extension of existing <code class="highlighter-rouge">LedgerHandle</code> for advanced usage. The new <code class="highlighter-rouge">LedgerHandleAdv</code> allows applications providing
+its own <code class="highlighter-rouge">ledger-id</code> and assigning <code class="highlighter-rouge">entry-id</code> on adding entries.</p>
+
+<p>See <a href="../../api/ledger-adv-api">Ledger Advanced API</a> for more details.</p>
+
+<h4 id="long-poll">Long Poll</h4>
+
+<p><code class="highlighter-rouge">Long Poll</code> is a main feature that <a href="https://distributedlog.io">DistributedLog</a> uses to achieve low-latency tailing.
+This big feature has been merged back in 4.5.0 and available to BookKeeper users.</p>
+
+<p>This feature includes two main changes, one is <code class="highlighter-rouge">LastAddConfirmed</code> piggyback, while the other one is a new <code class="highlighter-rouge">long poll</code> read API.</p>
+
+<p>The first change piggyback the latest <code class="highlighter-rouge">LastAddConfirm</code> along with the read response, so your <code class="highlighter-rouge">LastAddConfirmed</code> will be automatically advanced
+when your read traffic continues. It significantly reduces the traffic to explicitly polling <code class="highlighter-rouge">LastAddConfirmed</code> and hence reduces the end-to-end latency.</p>
+
+<p>The second change provides a new <code class="highlighter-rouge">long poll</code> read API, allowing tailing-reads without polling <code class="highlighter-rouge">LastAddConfirmed</code> everytime after readers exhaust known entries.
+Although <code class="highlighter-rouge">long poll</code> API brings great latency improvements on tailing reads, it is still a very low-level primitive.
+It is still recommended to use high level API (e.g. <a href="../../api/distributedlog-api">DistributedLog API</a>) for tailing and streaming use cases.</p>
+
+<p>See <a href="https://distributedlog.incubator.apache.org/docs/latest/user_guide/design/main.html#streaming-reads">Streaming Reads</a> for more details.</p>
+
+<h4 id="explicit-lac">Explicit LAC</h4>
+
+<p>Prior to 4.5.0, the <code class="highlighter-rouge">LAC</code> is only advanced when subsequent entries are added. If there is no subsequent entries added,
+the last entry written will not be visible to readers until the ledger is closed. High-level client (e.g. DistributedLog) or applications
+has to work around this by writing some sort of <code class="highlighter-rouge">control records</code> to advance <code class="highlighter-rouge">LAC</code>.</p>
+
+<p>In 4.5.0, a new <code class="highlighter-rouge">explicit lac</code> feature is introduced to periodically advance <code class="highlighter-rouge">LAC</code> if there are not subsequent entries added. This feature
+can be enabled by setting <code class="highlighter-rouge">explicitLacInterval</code> to a positive value.</p>
+
+<h3 id="performance">Performance</h3>
+
+<p>There are a lot for performance related bug fixes and improvements in 4.5.0. These changes includes:</p>
+
+<ul>
+  <li>Upgraded netty from 3.x to 4.x to leverage buffer pooling and reduce memory copies.</li>
+  <li>Moved developement from Java 7 to Java 8 to take advantage of Java 8 features.</li>
+  <li>A lot of improvements around scheduling and threading on <code class="highlighter-rouge">bookies</code>.</li>
+  <li>Delay ensemble change to improve tail latency.</li>
+  <li>Parallel ledger recovery to improve the recovery speed.</li>
+  <li>…</li>
+</ul>
+
+<p>We outlined following four changes as below. For a complete list of performance improvements, please checkout the <code class="highlighter-rouge">full list of changes</code> at the end.</p>
+
+<h4 id="netty-4-upgrade">Netty 4 Upgrade</h4>
+
+<p>The major performance improvement introduced in 4.5.0, is upgrading netty from 3.x to <a href="http://netty.io/wiki/new-and-noteworthy-in-4.0.html">4.x</a>.</p>
+
+<p>For more details, please read <a href="../../admin/upgrade">upgrade guide</a> about the netty related tips when upgrading bookkeeper from 4.4.0 to 4.5.0.</p>
+
+<h4 id="delay-ensemble-change">Delay Ensemble Change</h4>
+
+<p><code class="highlighter-rouge">Ensemble Change</code> is a feature that Apache BookKeeper uses to achieve high availability. However it is an expensive metadata operation.
+Especially when Apache BookKeeper is deployed in a multiple data-centers environment, losing a data center will cause churn of metadata
+operations due to ensemble changes. <code class="highlighter-rouge">Delay Ensemble Change</code> is introduced in 4.5.0 to overcome this problem. Enabling this feature means
+an <code class="highlighter-rouge">Ensemble Change</code> will only occur when clients can’t receive enough valid responses to satisfy <code class="highlighter-rouge">ack-quorum</code> constraint. This feature
+improves the tail latency.</p>
+
+<p>To enable this feature, please set <code class="highlighter-rouge">delayEnsembleChange</code> to <code class="highlighter-rouge">true</code> on your clients.</p>
 
-<h2 id="details">Details</h2>
+<h4 id="parallel-ledger-recovery">Parallel Ledger Recovery</h4>
 
-<p>[list to issues list]</p>
+<p>BookKeeper clients recovers entries one-by-one during ledger recovery. If a ledger has very large volumn of traffic, it will have
+large number of entries to recover when client failures occur. BookKeeper introduces <code class="highlighter-rouge">parallel ledger recovery</code> in 4.5.0 to allow
+batch recovery to improve ledger recovery speed.</p>
 
+<p>To enable this feature, please set <code class="highlighter-rouge">enableParallelRecoveryRead</code> to <code class="highlighter-rouge">true</code> on your clients. You can also set <code class="highlighter-rouge">recoveryReadBatchSize</code>
+to control the batch size of recovery read.</p>
+
+<h4 id="multiple-journals">Multiple Journals</h4>
+
+<p>Prior to 4.5.0, bookies are only allowed to configure one journal device. If you want to have high write bandwidth, you can raid multiple
+disks into one device and mount that device for jouranl directory. However because there is only one journal thread, this approach doesn’t
+actually improve the write bandwidth.</p>
+
+<p>BookKeeper introduces multiple journal directories support in 4.5.0. Users can configure multiple devices for journal directories.</p>
+
+<p>To enable this feature, please use <code class="highlighter-rouge">journalDirectories</code> rather than <code class="highlighter-rouge">journalDirectory</code>.</p>
+
+<h3 id="operations">Operations</h3>
+
+<h4 id="longhierarchicalledgermanager">LongHierarchicalLedgerManager</h4>
+
+<p>Apache BookKeeper supports pluggable metadata store. By default, it uses Apache ZooKeeper as its metadata store. Among the zookeeper-based
+ledger manager implementations, <code class="highlighter-rouge">HierarchicalLedgerManager</code> is the most popular and widely adopted ledger manager. However it has a major
+limitation, which it assumes <code class="highlighter-rouge">ledger-id</code> is a 32-bits integer. It limits the number of ledgers to <code class="highlighter-rouge">2^32</code>.</p>
+
+<p><code class="highlighter-rouge">LongHierarchicalLedgerManager</code> is introduced to overcome this limitation.</p>
+
+<p>See <a href="../../getting-started/concepts/#ledger-manager">Ledger Manager</a> for more details.</p>
+
+<h4 id="weight-based-placement-policy">Weight-based placement policy</h4>
+
+<p><code class="highlighter-rouge">Rack-Aware</code> and <code class="highlighter-rouge">Region-Aware</code> placement polices are the two available placement policies in BookKeeper client. It places ensembles based
+on users’ configured network topology. However they both assume that all nodes are equal. <code class="highlighter-rouge">weight-based</code> placement is introduced in 4.5.0 to
+improve the existing placement polices. <code class="highlighter-rouge">weight-based</code> placement was not built as separated polices. It is built in the existing placement policies.
+If you are using <code class="highlighter-rouge">Rack-Aware</code> or <code class="highlighter-rouge">Region-Aware</code>, you can simply enable <code class="highlighter-rouge">weight-based</code> placement by setting <code class="highlighter-rouge">diskWeightBasedPlacementEnabled</code> to <code class="highlighter-rouge">true</code>.</p>
+
+<h4 id="customized-ledger-metadata">Customized Ledger Metadata</h4>
+
+<p>A <code class="highlighter-rouge">Map&lt;String, byte[]&gt;</code> is introduced in ledger metadata in 4.5.0. Clients now are allowed to pass in a key/value map when creating ledgers.
+This customized ledger metadata can be later on used by user defined placement policy. This extends the flexibility of bookkeeper API.</p>
+
+<h4 id="add-prometheus-stats-provider">Add Prometheus stats provider</h4>
+
+<p>A new <a href="https://prometheus.io/">Prometheus</a> <a href="https://github.com/apache/bookkeeper/tree/master/bookkeeper-stats-providers/prometheus-metrics-provider">stats provider</a>
+is introduce in 4.5.0. It simplies the metric collection when running bookkeeper on <a href="https://kubernetes.io/">kubernetes</a>.</p>
+
+<h4 id="add-more-tools-in-bookieshell">Add more tools in BookieShell</h4>
+
+<p><code class="highlighter-rouge">BookieShell</code> is the tool provided by Apache BooKeeper to operate clusters. There are multiple importants tools introduced in 4.5.0, for example, <code class="highlighter-rouge">decommissionbookie</code>,
+<code class="highlighter-rouge">expandstorage</code>, <code class="highlighter-rouge">lostbookierecoverydelay</code>, <code class="highlighter-rouge">triggeraudit</code>.</p>
+
+<p>For the complete list of commands in <code class="highlighter-rouge">BookieShell</code>, please read <a href="../../reference/cli">BookKeeper CLI tool reference</a>.</p>
+
+<h2 id="full-list-of-changes">Full list of changes</h2>
+
+<h3 id="jira">JIRA</h3>
+
+<h4 id="sub-task">Sub-task</h4>
+<ul>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-552">BOOKKEEPER-552</a>] -         64 Bits Ledger ID Generation
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-553">BOOKKEEPER-553</a>] -         New LedgerManager for 64 Bits Ledger ID Management in ZooKeeper
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-588">BOOKKEEPER-588</a>] -         SSL support
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-873">BOOKKEEPER-873</a>] -         Enhance CreatedLedger API to accept ledgerId as input
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-949">BOOKKEEPER-949</a>] -         Allow entryLog creation even when bookie is in RO mode for compaction
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-965">BOOKKEEPER-965</a>] -         Long Poll: Changes to the Write Path
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-997">BOOKKEEPER-997</a>] -         Wire protocol change for supporting long poll
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-1017">BOOKKEEPER-1017</a>] -         Create documentation for ZooKeeper ACLs
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-1086">BOOKKEEPER-1086</a>] -         Ledger Recovery - Refactor PendingReadOp
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-1087">BOOKKEEPER-1087</a>] -         Ledger Recovery - Add a parallel reading request in PendingReadOp
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-1088">BOOKKEEPER-1088</a>] -         Ledger Recovery - Add a ReadEntryListener to callback on individual request
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-1089">BOOKKEEPER-1089</a>] -         Ledger Recovery - allow batch reads in ledger recovery
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-1092">BOOKKEEPER-1092</a>] -         Ledger Recovery - Add Test Case for Parallel Ledger Recovery
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-1093">BOOKKEEPER-1093</a>] -         Piggyback LAC on ReadResponse
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-1094">BOOKKEEPER-1094</a>] -         Long Poll - Server and Client Side Changes
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-1095">BOOKKEEPER-1095</a>] -         Long Poll - Client side changes
+</li>
+</ul>
+
+<h4 id="bug">Bug</h4>
+<ul>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-852">BOOKKEEPER-852</a>] -         Release LedgerDescriptor and master-key objects when not used anymore
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-903">BOOKKEEPER-903</a>] -         MetaFormat BookieShell Command is not deleting UnderReplicatedLedgers list from the ZooKeeper
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-907">BOOKKEEPER-907</a>] -         for ReadLedgerEntriesCmd, EntryFormatter should be configurable and HexDumpEntryFormatter should be one of them
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-908">BOOKKEEPER-908</a>] -         Case to handle BKLedgerExistException
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-924">BOOKKEEPER-924</a>] -         addEntry() is susceptible to spurious wakeups
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-927">BOOKKEEPER-927</a>] -         Extend BOOKKEEPER-886 to LedgerHandleAdv too (BOOKKEEPER-886: Allow to disable ledgers operation throttling)
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-933">BOOKKEEPER-933</a>] -         ClientConfiguration always inherits System properties
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-938">BOOKKEEPER-938</a>] -         LedgerOpenOp should use digestType from metadata
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-939">BOOKKEEPER-939</a>] -         Fix typo in bk-merge-pr.py
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-940">BOOKKEEPER-940</a>] -         Fix findbugs warnings after bumping to java 8
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-952">BOOKKEEPER-952</a>] -         Fix RegionAwarePlacementPolicy
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-955">BOOKKEEPER-955</a>] -         in BookKeeperAdmin listLedgers method currentRange variable is not getting updated to next iterator when it has run out of elements
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-956">BOOKKEEPER-956</a>] -         HierarchicalLedgerManager doesn&#39;t work for ledgerid of length 9 and 10 because of order issue in HierarchicalLedgerRangeIterator
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-958">BOOKKEEPER-958</a>] -         ZeroBuffer readOnlyBuffer returns ByteBuffer with 0 remaining bytes for length &gt; 64k
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-959">BOOKKEEPER-959</a>] -         ClientAuthProvider and BookieAuthProvider Public API used Protobuf Shaded classes
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-976">BOOKKEEPER-976</a>] -         Fix license headers with &quot;Copyright 2016 The Apache Software Foundation&quot;
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-980">BOOKKEEPER-980</a>] -         BookKeeper Tools doesn&#39;t process the argument correctly
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-981">BOOKKEEPER-981</a>] -         NullPointerException in RackawareEnsemblePlacementPolicy while running in Docker Container
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-984">BOOKKEEPER-984</a>] -          BookieClientTest.testWriteGaps tested
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-986">BOOKKEEPER-986</a>] -         Handle Memtable flush failure
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-987">BOOKKEEPER-987</a>] -         BookKeeper build is broken due to the shade plugin for commit ecbb053e6e
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-988">BOOKKEEPER-988</a>] -         Missing license headers
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-989">BOOKKEEPER-989</a>] -         Enable travis CI for bookkeeper git
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-999">BOOKKEEPER-999</a>] -         BookKeeper client can leak threads
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-1013">BOOKKEEPER-1013</a>] -         Fix findbugs errors on latest master
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-1018">BOOKKEEPER-1018</a>] -         Allow client to select older V2 protocol (no protobuf)
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-1020">BOOKKEEPER-1020</a>] -         Fix Explicit LAC tests on master
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-1021">BOOKKEEPER-1021</a>] -         Improve the merge script to handle github reviews api
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-1031">BOOKKEEPER-1031</a>] -         ReplicationWorker.rereplicate fails to call close() on ReadOnlyLedgerHandle
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-1044">BOOKKEEPER-1044</a>] -         Entrylogger is not readding rolled logs back to the logChannelsToFlush list when exception happens while trying to flush rolled logs
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-1047">BOOKKEEPER-1047</a>] -         Add missing error code in ZK setData return path
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-1058">BOOKKEEPER-1058</a>] -         Ignore already deleted ledger on replication audit
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-1061">BOOKKEEPER-1061</a>] -         BookieWatcher should not do ZK blocking operations from ZK async callback thread
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-1065">BOOKKEEPER-1065</a>] -         OrderedSafeExecutor should only have 1 thread per bucket
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-1071">BOOKKEEPER-1071</a>] -         BookieRecoveryTest is failing due to a Netty4 IllegalReferenceCountException
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-1072">BOOKKEEPER-1072</a>] -         CompactionTest is flaky when disks are almost full
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-1073">BOOKKEEPER-1073</a>] -         Several stats provider related changes.
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-1074">BOOKKEEPER-1074</a>] -         Remove JMX Bean 
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-1075">BOOKKEEPER-1075</a>] -         BK LedgerMetadata: more memory-efficient parsing of configs
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-1076">BOOKKEEPER-1076</a>] -         BookieShell should be able to read the &#39;FENCE&#39; entry in the log
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-1077">BOOKKEEPER-1077</a>] -         BookKeeper: Local Bookie Journal and ledger paths
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-1079">BOOKKEEPER-1079</a>] -         shell lastMark throws NPE
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-1098">BOOKKEEPER-1098</a>] -         ZkUnderreplicationManager can build up an unbounded number of watchers
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-1101">BOOKKEEPER-1101</a>] -         BookKeeper website menus not working under https
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-1102">BOOKKEEPER-1102</a>] -         org.apache.bookkeeper.client.BookKeeperDiskSpaceWeightedLedgerPlacementTest.testDiskSpaceWeightedBookieSelectionWithBookiesBeingAdded is unreliable
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-1103">BOOKKEEPER-1103</a>] -         LedgerMetadataCreateTest bug in ledger id generation causes intermittent hang
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-1104">BOOKKEEPER-1104</a>] -         BookieInitializationTest.testWithDiskFullAndAbilityToCreateNewIndexFile testcase is unreliable
+</li>
+</ul>
+
+<h4 id="improvement">Improvement</h4>
+<ul>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-612">BOOKKEEPER-612</a>] -         RegionAwarePlacement Policy
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-748">BOOKKEEPER-748</a>] -         Move fence requests out of read threads
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-757">BOOKKEEPER-757</a>] -         Ledger Recovery Improvement
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-759">BOOKKEEPER-759</a>] -         bookkeeper: delay ensemble change if it doesn&#39;t break ack quorum requirement
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-772">BOOKKEEPER-772</a>] -         Reorder read sequnce 
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-874">BOOKKEEPER-874</a>] -         Explict LAC from Writer to Bookies
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-881">BOOKKEEPER-881</a>] -         upgrade surefire plugin to 2.19
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-887">BOOKKEEPER-887</a>] -         Allow to use multiple bookie journals
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-922">BOOKKEEPER-922</a>] -         Create a generic (K,V) map to store ledger metadata
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-935">BOOKKEEPER-935</a>] -         Publish sources and javadocs to Maven Central
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-937">BOOKKEEPER-937</a>] -         Upgrade protobuf to 2.6
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-944">BOOKKEEPER-944</a>] -         Multiple issues and improvements to BK Compaction.
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-945">BOOKKEEPER-945</a>] -         Add counters to track the activity of auditor and replication workers
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-946">BOOKKEEPER-946</a>] -         Provide an option to delay auto recovery of lost bookies
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-961">BOOKKEEPER-961</a>] -         Assing read/write request for same ledger to a single thread
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-962">BOOKKEEPER-962</a>] -         Add more journal timing stats
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-963">BOOKKEEPER-963</a>] -         Allow to use multiple journals in bookie
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-964">BOOKKEEPER-964</a>] -         Add concurrent maps and sets for primitive types
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-966">BOOKKEEPER-966</a>] -         change the bookieServer cmdline to make conf-file and option co-exist
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-968">BOOKKEEPER-968</a>] -         Entry log flushes happen on log rotation and cause long spikes in IO utilization
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-970">BOOKKEEPER-970</a>] -         Bump zookeeper version to 3.5
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-971">BOOKKEEPER-971</a>] -         update bk codahale stats provider version
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-998">BOOKKEEPER-998</a>] -         Increased the max entry size to 5MB
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-1001">BOOKKEEPER-1001</a>] -         Make LocalBookiesRegistry.isLocalBookie() public
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-1002">BOOKKEEPER-1002</a>] -         BookieRecoveryTest can run out of file descriptors
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-1003">BOOKKEEPER-1003</a>] -         Fix TestDiskChecker so it can be used on /dev/shm
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-1004">BOOKKEEPER-1004</a>] -         Allow bookie garbage collection to be triggered manually from tests
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-1007">BOOKKEEPER-1007</a>] -         Explicit LAC: make the interval configurable in milliseconds instead of seconds
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-1008">BOOKKEEPER-1008</a>] -         Move to netty4
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-1010">BOOKKEEPER-1010</a>] -         Bump up Guava version to 20.0
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-1022">BOOKKEEPER-1022</a>] -         Make BookKeeperAdmin implement AutoCloseable
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-1039">BOOKKEEPER-1039</a>] -         bk-merge-pr.py ask to run findbugs and rat before merge
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-1046">BOOKKEEPER-1046</a>] -         Avoid long to Long conversion in OrderedSafeExecutor task submit
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-1048">BOOKKEEPER-1048</a>] -         Use ByteBuf in LedgerStorageInterface
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-1050">BOOKKEEPER-1050</a>] -         Cache journalFormatVersionToWrite when starting Journal
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-1051">BOOKKEEPER-1051</a>] -         Fast shutdown for GarbageCollectorThread
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-1052">BOOKKEEPER-1052</a>] -         Print autorecovery enabled or not in bookie shell
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-1053">BOOKKEEPER-1053</a>] -         Upgrade RAT maven version to 0.12 and ignore Eclipse project files
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-1055">BOOKKEEPER-1055</a>] -         Optimize handling of masterKey in case it is empty
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-1056">BOOKKEEPER-1056</a>] -         Removed PacketHeader serialization/deserialization allocation
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-1063">BOOKKEEPER-1063</a>] -         Use executure.execute() instead of submit() to avoid creation of unused FutureTask
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-1066">BOOKKEEPER-1066</a>] -         Introduce GrowableArrayBlockingQueue
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-1068">BOOKKEEPER-1068</a>] -         Expose ByteBuf in LedgerEntry to avoid data copy
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-1069">BOOKKEEPER-1069</a>] -         If client uses V2 proto, set the connection to always decode V2 messages
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-1083">BOOKKEEPER-1083</a>] -         Improvements on OrderedSafeExecutor
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-1084">BOOKKEEPER-1084</a>] -         Make variables finale if necessary
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-1085">BOOKKEEPER-1085</a>] -         Introduce the AlertStatsLogger
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-1090">BOOKKEEPER-1090</a>] -         Use LOG.isDebugEnabled() to avoid unexpected allocations
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-1096">BOOKKEEPER-1096</a>] -         When ledger is deleted, along with leaf node all the eligible branch nodes also should be deleted in ZooKeeper.
+</li>
+</ul>
+
+<h4 id="new-feature">New Feature</h4>
+<ul>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-390">BOOKKEEPER-390</a>] -         Provide support for ZooKeeper authentication
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-391">BOOKKEEPER-391</a>] -         Support Kerberos authentication of bookkeeper
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-575">BOOKKEEPER-575</a>] -         Bookie SSL support
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-670">BOOKKEEPER-670</a>] -         Longpoll Read &amp; Piggyback Support
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-912">BOOKKEEPER-912</a>] -         Allow EnsemblePlacementPolicy to choose bookies using ledger custom data (multitenancy support)
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-928">BOOKKEEPER-928</a>] -         Add custom client supplied metadata field to LedgerMetadata
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-930">BOOKKEEPER-930</a>] -         Option to disable Bookie networking
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-941">BOOKKEEPER-941</a>] -         Introduce Feature Switches For controlling client and server behavior
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-948">BOOKKEEPER-948</a>] -         Provide an option to add more ledger/index directories to a bookie
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-950">BOOKKEEPER-950</a>] -         Ledger placement policy to accomodate different storage capacity of bookies
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-969">BOOKKEEPER-969</a>] -         Security Support
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-983">BOOKKEEPER-983</a>] -         BookieShell Command for LedgerDelete
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-991">BOOKKEEPER-991</a>] -         bk shell - Get a list of all on disk files
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-992">BOOKKEEPER-992</a>] -         ReadLog Command Enhancement
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-1019">BOOKKEEPER-1019</a>] -         Support for reading entries after LAC (causal consistency driven by out-of-band communications)
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-1034">BOOKKEEPER-1034</a>] -         When all disks are full, start Bookie in RO mode if RO mode is enabled 
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-1067">BOOKKEEPER-1067</a>] -         Add Prometheus stats provider
+</li>
+</ul>
+
+<h4 id="story">Story</h4>
+<ul>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-932">BOOKKEEPER-932</a>] -         Move to JDK 8
+</li>
+</ul>
+
+<h4 id="task">Task</h4>
+<ul>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-931">BOOKKEEPER-931</a>] -         Update the committers list on website
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-996">BOOKKEEPER-996</a>] -         Apache Rat Check Failures
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-1012">BOOKKEEPER-1012</a>] -         Shade and relocate Guava
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-1027">BOOKKEEPER-1027</a>] -         Cleanup main README and main website page
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-1038">BOOKKEEPER-1038</a>] -         Fix findbugs warnings and upgrade to 3.0.4
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-1043">BOOKKEEPER-1043</a>] -         Upgrade Apache Parent Pom Reference to latest version
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-1054">BOOKKEEPER-1054</a>] -         Add gitignore file
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-1059">BOOKKEEPER-1059</a>] -         Upgrade to SLF4J-1.7.25
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-1060">BOOKKEEPER-1060</a>] -         Add utility to use SafeRunnable from Java8 Lambda
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-1070">BOOKKEEPER-1070</a>] -         bk-merge-pr.py use apache-rat:check goal instead of rat:rat
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-1091">BOOKKEEPER-1091</a>] -         Remove Hedwig from BookKeeper website page
+</li>
+</ul>
+
+<h4 id="test">Test</h4>
+<ul>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-967">BOOKKEEPER-967</a>] -         Create new testsuite for testing RackAwareEnsemblePlacementPolicy using ScriptBasedMapping.
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-1045">BOOKKEEPER-1045</a>] -         Execute tests in different JVM processes
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-1064">BOOKKEEPER-1064</a>] -         ConcurrentModificationException in AuditorLedgerCheckerTest
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-1078">BOOKKEEPER-1078</a>] -         Local BookKeeper enhancements for testability
+</li>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-1097">BOOKKEEPER-1097</a>] -         GC test when no WritableDirs
+</li>
+</ul>
+
+<h4 id="wish">Wish</h4>
+<ul>
+<li>[<a href="https://issues.apache.org/jira/browse/BOOKKEEPER-943">BOOKKEEPER-943</a>] -         Reduce log level of AbstractZkLedgerManager for register/unregister ReadOnlyLedgerHandle
+</li>
+</ul>
+
+<h3 id="github">Github</h3>
+
+<ul>
+  <li><a href="https://github.com/apache/bookkeeper/milestone/1">https://github.com/apache/bookkeeper/milestone/1</a></li>
+</ul>
 
         </section>
 
@@ -450,7 +952,34 @@ below.</p>
   <h2 class="title">Apache BookKeeper 4.5.0 Release Notes</h2>
   <ul class="section-nav">
 <li class="toc-entry toc-h2"><a href="#highlights">Highlights</a></li>
-<li class="toc-entry toc-h2"><a href="#details">Details</a></li>
+<li class="toc-entry toc-h3"><a href="#dependencies-upgrade">Dependencies Upgrade</a></li>
+<li class="toc-entry toc-h3"><a href="#security">Security</a></li>
+<li class="toc-entry toc-h3"><a href="#public-api">Public API</a></li>
+<li class="toc-entry toc-h4"><a href="#ledgerhandleadv">LedgerHandleAdv</a></li>
+<li class="toc-entry toc-h4"><a href="#long-poll">Long Poll</a></li>
+<li class="toc-entry toc-h4"><a href="#explicit-lac">Explicit LAC</a></li>
+<li class="toc-entry toc-h3"><a href="#performance">Performance</a></li>
+<li class="toc-entry toc-h4"><a href="#netty-4-upgrade">Netty 4 Upgrade</a></li>
+<li class="toc-entry toc-h4"><a href="#delay-ensemble-change">Delay Ensemble Change</a></li>
+<li class="toc-entry toc-h4"><a href="#parallel-ledger-recovery">Parallel Ledger Recovery</a></li>
+<li class="toc-entry toc-h4"><a href="#multiple-journals">Multiple Journals</a></li>
+<li class="toc-entry toc-h3"><a href="#operations">Operations</a></li>
+<li class="toc-entry toc-h4"><a href="#longhierarchicalledgermanager">LongHierarchicalLedgerManager</a></li>
+<li class="toc-entry toc-h4"><a href="#weight-based-placement-policy">Weight-based placement policy</a></li>
+<li class="toc-entry toc-h4"><a href="#customized-ledger-metadata">Customized Ledger Metadata</a></li>
+<li class="toc-entry toc-h4"><a href="#add-prometheus-stats-provider">Add Prometheus stats provider</a></li>
+<li class="toc-entry toc-h4"><a href="#add-more-tools-in-bookieshell">Add more tools in BookieShell</a></li>
+<li class="toc-entry toc-h2"><a href="#full-list-of-changes">Full list of changes</a></li>
+<li class="toc-entry toc-h3"><a href="#jira">JIRA</a></li>
+<li class="toc-entry toc-h4"><a href="#sub-task">Sub-task</a></li>
+<li class="toc-entry toc-h4"><a href="#bug">Bug</a></li>
+<li class="toc-entry toc-h4"><a href="#improvement">Improvement</a></li>
+<li class="toc-entry toc-h4"><a href="#new-feature">New Feature</a></li>
+<li class="toc-entry toc-h4"><a href="#story">Story</a></li>
+<li class="toc-entry toc-h4"><a href="#task">Task</a></li>
+<li class="toc-entry toc-h4"><a href="#test">Test</a></li>
+<li class="toc-entry toc-h4"><a href="#wish">Wish</a></li>
+<li class="toc-entry toc-h3"><a href="#github">Github</a></li>
 </ul>
 </div>
 
diff --git a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/class-use/AsyncCallback.AddCallback.html b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/class-use/AsyncCallback.AddCallback.html
index 0f46362..176d60b 100644
--- a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/class-use/AsyncCallback.AddCallback.html
+++ b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/class-use/AsyncCallback.AddCallback.html
@@ -138,27 +138,19 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">ReadOnlyLedgerHandle.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/ReadOnlyLedgerHandle.html#asyncAddEntry-byte:A-org.apache.bookkeeper.client.AsyncCallback.AddCallback-java.lang.Object-">asyncAddEntry</a></span>(byte[]&nbsp;data,
-             <a href="../../../../../org/apache/bookkeeper/client/AsyncCallback.AddCallback.html" title="interface in org.apache.bookkeeper.client">AsyncCallback.AddCallback</a>&nbsp;cb,
-             <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;ctx)</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">LedgerHandle.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/LedgerHandle.html#asyncAddEntry-byte:A-org.apache.bookkeeper.client.AsyncCallback.AddCallback-java.lang.Object-">asyncAddEntry</a></span>(byte[]&nbsp;data,
              <a href="../../../../../org/apache/bookkeeper/client/AsyncCallback.AddCallback.html" title="interface in org.apache.bookkeeper.client">AsyncCallback.AddCallback</a>&nbsp;cb,
              <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;ctx)</code>
 <div class="block">Add entry asynchronously to an open ledger.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">ReadOnlyLedgerHandle.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/ReadOnlyLedgerHandle.html#asyncAddEntry-byte:A-int-int-org.apache.bookkeeper.client.AsyncCallback.AddCallback-java.lang.Object-">asyncAddEntry</a></span>(byte[]&nbsp;data,
-             int&nbsp;offset,
-             int&nbsp;length,
+<td class="colLast"><span class="typeNameLabel">ReadOnlyLedgerHandle.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/ReadOnlyLedgerHandle.html#asyncAddEntry-byte:A-org.apache.bookkeeper.client.AsyncCallback.AddCallback-java.lang.Object-">asyncAddEntry</a></span>(byte[]&nbsp;data,
              <a href="../../../../../org/apache/bookkeeper/client/AsyncCallback.AddCallback.html" title="interface in org.apache.bookkeeper.client">AsyncCallback.AddCallback</a>&nbsp;cb,
              <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;ctx)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">LedgerHandle.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/LedgerHandle.html#asyncAddEntry-byte:A-int-int-org.apache.bookkeeper.client.AsyncCallback.AddCallback-java.lang.Object-">asyncAddEntry</a></span>(byte[]&nbsp;data,
              int&nbsp;offset,
@@ -168,7 +160,7 @@
 <div class="block">Add entry asynchronously to an open ledger, using an offset and range.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">LedgerHandleAdv.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/LedgerHandleAdv.html#asyncAddEntry-byte:A-int-int-org.apache.bookkeeper.client.AsyncCallback.AddCallback-java.lang.Object-">asyncAddEntry</a></span>(byte[]&nbsp;data,
              int&nbsp;offset,
@@ -178,6 +170,14 @@
 <div class="block">LedgerHandleAdv will not allow addEntry without providing an entryId</div>
 </td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">ReadOnlyLedgerHandle.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/ReadOnlyLedgerHandle.html#asyncAddEntry-byte:A-int-int-org.apache.bookkeeper.client.AsyncCallback.AddCallback-java.lang.Object-">asyncAddEntry</a></span>(byte[]&nbsp;data,
+             int&nbsp;offset,
+             int&nbsp;length,
+             <a href="../../../../../org/apache/bookkeeper/client/AsyncCallback.AddCallback.html" title="interface in org.apache.bookkeeper.client">AsyncCallback.AddCallback</a>&nbsp;cb,
+             <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;ctx)</code>&nbsp;</td>
+</tr>
 <tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">LedgerHandle.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/LedgerHandle.html#asyncAddEntry-io.netty.buffer.ByteBuf-org.apache.bookkeeper.client.AsyncCallback.AddCallback-java.lang.Object-">asyncAddEntry</a></span>(io.netty.buffer.ByteBuf&nbsp;data,
diff --git a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/class-use/AsyncCallback.CloseCallback.html b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/class-use/AsyncCallback.CloseCallback.html
index 048b714..00d9aab 100644
--- a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/class-use/AsyncCallback.CloseCallback.html
+++ b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/class-use/AsyncCallback.CloseCallback.html
@@ -123,16 +123,16 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">ReadOnlyLedgerHandle.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/ReadOnlyLedgerHandle.html#asyncClose-org.apache.bookkeeper.client.AsyncCallback.CloseCallback-java.lang.Object-">asyncClose</a></span>(<a href="../../../../../org/apache/bookkeeper/client/AsyncCallback.CloseCallback.html" title="interface in org.apache.bookkeeper.client">AsyncCallback.CloseCallback</a>&nbsp;cb,
-          <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;ctx)</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">LedgerHandle.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/LedgerHandle.html#asyncClose-org.apache.bookkeeper.client.AsyncCallback.CloseCallback-java.lang.Object-">asyncClose</a></span>(<a href="../../../../../org/apache/bookkeeper/client/AsyncCallback.CloseCallback.html" title="interface in org.apache.bookkeeper.client">AsyncCallback.CloseCallback</a>&nbsp;cb,
           <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;ctx)</code>
 <div class="block">Asynchronous close, any adds in flight will return errors.</div>
 </td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">ReadOnlyLedgerHandle.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/ReadOnlyLedgerHandle.html#asyncClose-org.apache.bookkeeper.client.AsyncCallback.CloseCallback-java.lang.Object-">asyncClose</a></span>(<a href="../../../../../org/apache/bookkeeper/client/AsyncCallback.CloseCallback.html" title="interface in org.apache.bookkeeper.client">AsyncCallback.CloseCallback</a>&nbsp;cb,
+          <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;ctx)</code>&nbsp;</td>
+</tr>
 <tr class="altColor">
 <td class="colFirst"><code>(package private) void</code></td>
 <td class="colLast"><span class="typeNameLabel">LedgerHandle.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/LedgerHandle.html#asyncCloseInternal-org.apache.bookkeeper.client.AsyncCallback.CloseCallback-java.lang.Object-int-">asyncCloseInternal</a></span>(<a href="../../../../../org/apache/bookkeeper/client/AsyncCallback.CloseCallback.html" title="interface in org.apache.bookkeeper.client">AsyncCallback.CloseCallback</a>&nbsp;cb,
diff --git a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/class-use/BKException.BKNotEnoughBookiesException.html b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/class-use/BKException.BKNotEnoughBookiesException.html
index 5986e99..64a5dd7 100644
--- a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/class-use/BKException.BKNotEnoughBookiesException.html
+++ b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/class-use/BKException.BKNotEnoughBookiesException.html
@@ -115,7 +115,7 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;org.apache.bookkeeper.net.BookieSocketAddress&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">RackawareEnsemblePlacementPolicy.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicy.html#newEnsemble-int-int-int-java.util.Map-java.util.Set-">newEnsemble</a></span>(int&nbsp;ensembleSize,
+<td class="colLast"><span class="typeNameLabel">RackawareEnsemblePlacementPolicyImpl.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.html#newEnsemble-int-int-int-java.util.Map-java.util.Set-">newEnsemble</a></span>(int&nbsp;ensembleSize,
            int&nbsp;writeQuorumSize,
            int&nbsp;ackQuorumSize,
            <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,byte[]&gt;&nbsp;customMetadata,
@@ -123,23 +123,23 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;org.apache.bookkeeper.net.BookieSocketAddress&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">DefaultEnsemblePlacementPolicy.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/DefaultEnsemblePlacementPolicy.html#newEnsemble-int-int-int-java.util.Map-java.util.Set-">newEnsemble</a></span>(int&nbsp;ensembleSize,
-           int&nbsp;quorumSize,
+<td class="colLast"><span class="typeNameLabel">RegionAwareEnsemblePlacementPolicy.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/RegionAwareEnsemblePlacementPolicy.html#newEnsemble-int-int-int-java.util.Map-java.util.Set-">newEnsemble</a></span>(int&nbsp;ensembleSize,
+           int&nbsp;writeQuorumSize,
            int&nbsp;ackQuorumSize,
            <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,byte[]&gt;&nbsp;customMetadata,
            <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;org.apache.bookkeeper.net.BookieSocketAddress&gt;&nbsp;excludeBookies)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;org.apache.bookkeeper.net.BookieSocketAddress&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">RackawareEnsemblePlacementPolicyImpl.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.html#newEnsemble-int-int-int-java.util.Map-java.util.Set-">newEnsemble</a></span>(int&nbsp;ensembleSize,
-           int&nbsp;writeQuorumSize,
+<td class="colLast"><span class="typeNameLabel">DefaultEnsemblePlacementPolicy.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/DefaultEnsemblePlacementPolicy.html#newEnsemble-int-int-int-java.util.Map-java.util.Set-">newEnsemble</a></span>(int&nbsp;ensembleSize,
+           int&nbsp;quorumSize,
            int&nbsp;ackQuorumSize,
            <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,byte[]&gt;&nbsp;customMetadata,
            <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;org.apache.bookkeeper.net.BookieSocketAddress&gt;&nbsp;excludeBookies)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;org.apache.bookkeeper.net.BookieSocketAddress&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">RegionAwareEnsemblePlacementPolicy.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/RegionAwareEnsemblePlacementPolicy.html#newEnsemble-int-int-int-java.util.Map-java.util.Set-">newEnsemble</a></span>(int&nbsp;ensembleSize,
+<td class="colLast"><span class="typeNameLabel">RackawareEnsemblePlacementPolicy.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicy.html#newEnsemble-int-int-int-java.util.Map-java.util.Set-">newEnsemble</a></span>(int&nbsp;ensembleSize,
            int&nbsp;writeQuorumSize,
            int&nbsp;ackQuorumSize,
            <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,byte[]&gt;&nbsp;customMetadata,
@@ -168,7 +168,7 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;org.apache.bookkeeper.net.BookieSocketAddress&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">RackawareEnsemblePlacementPolicy.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicy.html#newEnsemble-int-int-int-java.util.Set-org.apache.bookkeeper.client.ITopologyAwareEnsemblePlacementPolicy.Ensemble-org.apache.bookkeeper.client.ITopologyAwareEnsemblePlacementPolicy.Predicate-">newEnsemble</a></span>(int&nbsp;ensembleSize,
+<td class="colLast"><span class="typeNameLabel">RackawareEnsemblePlacementPolicyImpl.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.html#newEnsemble-int-int-int-java.util.Set-org.apache.bookkeeper.client.ITopologyAwareEnsemblePlacementPolicy.Ensemble-org.apache.bookkeeper.client.ITopologyAwareEnsemblePlacementPolicy.Predicate-">newEnsemble</a></span>(int&nbsp;ensembleSize,
            int&nbsp;writeQuorumSize,
            int&nbsp;ackQuorumSize,
            <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;org.apache.bookkeeper.net.BookieSocketAddress&gt;&nbsp;excludeBookies,
@@ -177,7 +177,7 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;org.apache.bookkeeper.net.BookieSocketAddress&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">RackawareEnsemblePlacementPolicyImpl.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.html#newEnsemble-int-int-int-java.util.Set-org.apache.bookkeeper.client.ITopologyAwareEnsemblePlacementPolicy.Ensemble-org.apache.bookkeeper.client.ITopologyAwareEnsemblePlacementPolicy.Predicate-">newEnsemble</a></span>(int&nbsp;ensembleSize,
+<td class="colLast"><span class="typeNameLabel">RackawareEnsemblePlacementPolicy.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicy.html#newEnsemble-int-int-int-java.util.Set-org.apache.bookkeeper.client.ITopologyAwareEnsemblePlacementPolicy.Ensemble-org.apache.bookkeeper.client.ITopologyAwareEnsemblePlacementPolicy.Predicate-">newEnsemble</a></span>(int&nbsp;ensembleSize,
            int&nbsp;writeQuorumSize,
            int&nbsp;ackQuorumSize,
            <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;org.apache.bookkeeper.net.BookieSocketAddress&gt;&nbsp;excludeBookies,
@@ -203,7 +203,7 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>org.apache.bookkeeper.net.BookieSocketAddress</code></td>
-<td class="colLast"><span class="typeNameLabel">RackawareEnsemblePlacementPolicy.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicy.html#replaceBookie-int-int-int-java.util.Map-java.util.Collection-org.apache.bookkeeper.net.BookieSocketAddress-java.util.Set-">replaceBookie</a></span>(int&nbsp;ensembleSize,
+<td class="colLast"><span class="typeNameLabel">RackawareEnsemblePlacementPolicyImpl.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.html#replaceBookie-int-int-int-java.util.Map-java.util.Collection-org.apache.bookkeeper.net.BookieSocketAddress-java.util.Set-">replaceBookie</a></span>(int&nbsp;ensembleSize,
              int&nbsp;writeQuorumSize,
              int&nbsp;ackQuorumSize,
              <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,byte[]&gt;&nbsp;customMetadata,
@@ -213,7 +213,7 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>org.apache.bookkeeper.net.BookieSocketAddress</code></td>
-<td class="colLast"><span class="typeNameLabel">DefaultEnsemblePlacementPolicy.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/DefaultEnsemblePlacementPolicy.html#replaceBookie-int-int-int-java.util.Map-java.util.Collection-org.apache.bookkeeper.net.BookieSocketAddress-java.util.Set-">replaceBookie</a></span>(int&nbsp;ensembleSize,
+<td class="colLast"><span class="typeNameLabel">RegionAwareEnsemblePlacementPolicy.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/RegionAwareEnsemblePlacementPolicy.html#replaceBookie-int-int-int-java.util.Map-java.util.Collection-org.apache.bookkeeper.net.BookieSocketAddress-java.util.Set-">replaceBookie</a></span>(int&nbsp;ensembleSize,
              int&nbsp;writeQuorumSize,
              int&nbsp;ackQuorumSize,
              <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,byte[]&gt;&nbsp;customMetadata,
@@ -223,7 +223,7 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>org.apache.bookkeeper.net.BookieSocketAddress</code></td>
-<td class="colLast"><span class="typeNameLabel">RackawareEnsemblePlacementPolicyImpl.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.html#replaceBookie-int-int-int-java.util.Map-java.util.Collection-org.apache.bookkeeper.net.BookieSocketAddress-java.util.Set-">replaceBookie</a></span>(int&nbsp;ensembleSize,
+<td class="colLast"><span class="typeNameLabel">DefaultEnsemblePlacementPolicy.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/DefaultEnsemblePlacementPolicy.html#replaceBookie-int-int-int-java.util.Map-java.util.Collection-org.apache.bookkeeper.net.BookieSocketAddress-java.util.Set-">replaceBookie</a></span>(int&nbsp;ensembleSize,
              int&nbsp;writeQuorumSize,
              int&nbsp;ackQuorumSize,
              <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,byte[]&gt;&nbsp;customMetadata,
@@ -233,7 +233,7 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>org.apache.bookkeeper.net.BookieSocketAddress</code></td>
-<td class="colLast"><span class="typeNameLabel">RegionAwareEnsemblePlacementPolicy.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/RegionAwareEnsemblePlacementPolicy.html#replaceBookie-int-int-int-java.util.Map-java.util.Collection-org.apache.bookkeeper.net.BookieSocketAddress-java.util.Set-">replaceBookie</a></span>(int&nbsp;ensembleSize,
+<td class="colLast"><span class="typeNameLabel">RackawareEnsemblePlacementPolicy.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicy.html#replaceBookie-int-int-int-java.util.Map-java.util.Collection-org.apache.bookkeeper.net.BookieSocketAddress-java.util.Set-">replaceBookie</a></span>(int&nbsp;ensembleSize,
              int&nbsp;writeQuorumSize,
              int&nbsp;ackQuorumSize,
              <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,byte[]&gt;&nbsp;customMetadata,
@@ -289,14 +289,14 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/bookkeeper/client/TopologyAwareEnsemblePlacementPolicy.BookieNode.html" title="class in org.apache.bookkeeper.client">TopologyAwareEnsemblePlacementPolicy.BookieNode</a></code></td>
-<td class="colLast"><span class="typeNameLabel">RackawareEnsemblePlacementPolicy.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicy.html#selectFromNetworkLocation-java.lang.String-java.util.Set-org.apache.bookkeeper.client.ITopologyAwareEnsemblePlacementPolicy.Predicate-org.apache.bookkeeper.client.ITopologyAwareEnsemblePlacementPolicy.Ensemble-">selectFromNetworkLocation</a></span>(<a href="http://docs.oracle.c [...]
+<td class="colLast"><span class="typeNameLabel">RackawareEnsemblePlacementPolicyImpl.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.html#selectFromNetworkLocation-java.lang.String-java.util.Set-org.apache.bookkeeper.client.ITopologyAwareEnsemblePlacementPolicy.Predicate-org.apache.bookkeeper.client.ITopologyAwareEnsemblePlacementPolicy.Ensemble-">selectFromNetworkLocation</a></span>(<a href="http://docs. [...]
                          <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;org.apache.bookkeeper.net.Node&gt;&nbsp;excludeBookies,
                          <a href="../../../../../org/apache/bookkeeper/client/ITopologyAwareEnsemblePlacementPolicy.Predicate.html" title="interface in org.apache.bookkeeper.client">ITopologyAwareEnsemblePlacementPolicy.Predicate</a>&lt;<a href="../../../../../org/apache/bookkeeper/client/TopologyAwareEnsemblePlacementPolicy.BookieNode.html" title="class in org.apache.bookkeeper.client">TopologyAwareEnsemblePlacementPolicy.BookieNode</a>&gt;&nbsp;predicate,
                          <a href="../../../../../org/apache/bookkeeper/client/ITopologyAwareEnsemblePlacementPolicy.Ensemble.html" title="interface in org.apache.bookkeeper.client">ITopologyAwareEnsemblePlacementPolicy.Ensemble</a>&lt;<a href="../../../../../org/apache/bookkeeper/client/TopologyAwareEnsemblePlacementPolicy.BookieNode.html" title="class in org.apache.bookkeeper.client">TopologyAwareEnsemblePlacementPolicy.BookieNode</a>&gt;&nbsp;ensemble)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/bookkeeper/client/TopologyAwareEnsemblePlacementPolicy.BookieNode.html" title="class in org.apache.bookkeeper.client">TopologyAwareEnsemblePlacementPolicy.BookieNode</a></code></td>
-<td class="colLast"><span class="typeNameLabel">RackawareEnsemblePlacementPolicyImpl.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.html#selectFromNetworkLocation-java.lang.String-java.util.Set-org.apache.bookkeeper.client.ITopologyAwareEnsemblePlacementPolicy.Predicate-org.apache.bookkeeper.client.ITopologyAwareEnsemblePlacementPolicy.Ensemble-">selectFromNetworkLocation</a></span>(<a href="http://docs. [...]
+<td class="colLast"><span class="typeNameLabel">RackawareEnsemblePlacementPolicy.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicy.html#selectFromNetworkLocation-java.lang.String-java.util.Set-org.apache.bookkeeper.client.ITopologyAwareEnsemblePlacementPolicy.Predicate-org.apache.bookkeeper.client.ITopologyAwareEnsemblePlacementPolicy.Ensemble-">selectFromNetworkLocation</a></span>(<a href="http://docs.oracle.c [...]
                          <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;org.apache.bookkeeper.net.Node&gt;&nbsp;excludeBookies,
                          <a href="../../../../../org/apache/bookkeeper/client/ITopologyAwareEnsemblePlacementPolicy.Predicate.html" title="interface in org.apache.bookkeeper.client">ITopologyAwareEnsemblePlacementPolicy.Predicate</a>&lt;<a href="../../../../../org/apache/bookkeeper/client/TopologyAwareEnsemblePlacementPolicy.BookieNode.html" title="class in org.apache.bookkeeper.client">TopologyAwareEnsemblePlacementPolicy.BookieNode</a>&gt;&nbsp;predicate,
                          <a href="../../../../../org/apache/bookkeeper/client/ITopologyAwareEnsemblePlacementPolicy.Ensemble.html" title="interface in org.apache.bookkeeper.client">ITopologyAwareEnsemblePlacementPolicy.Ensemble</a>&lt;<a href="../../../../../org/apache/bookkeeper/client/TopologyAwareEnsemblePlacementPolicy.BookieNode.html" title="class in org.apache.bookkeeper.client">TopologyAwareEnsemblePlacementPolicy.BookieNode</a>&gt;&nbsp;ensemble)</code>&nbsp;</td>
diff --git a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/class-use/BKException.html b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/class-use/BKException.html
index 1193c65..f9567a6 100644
--- a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/class-use/BKException.html
+++ b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/class-use/BKException.html
@@ -258,21 +258,15 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>long</code></td>
-<td class="colLast"><span class="typeNameLabel">ReadOnlyLedgerHandle.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/ReadOnlyLedgerHandle.html#addEntry-byte:A-">addEntry</a></span>(byte[]&nbsp;data)</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>long</code></td>
 <td class="colLast"><span class="typeNameLabel">LedgerHandle.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/LedgerHandle.html#addEntry-byte:A-">addEntry</a></span>(byte[]&nbsp;data)</code>
 <div class="block">Add entry synchronously to an open ledger.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>long</code></td>
-<td class="colLast"><span class="typeNameLabel">ReadOnlyLedgerHandle.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/ReadOnlyLedgerHandle.html#addEntry-byte:A-int-int-">addEntry</a></span>(byte[]&nbsp;data,
-        int&nbsp;offset,
-        int&nbsp;length)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">ReadOnlyLedgerHandle.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/ReadOnlyLedgerHandle.html#addEntry-byte:A-">addEntry</a></span>(byte[]&nbsp;data)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><span class="typeNameLabel">LedgerHandle.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/LedgerHandle.html#addEntry-byte:A-int-int-">addEntry</a></span>(byte[]&nbsp;data,
         int&nbsp;offset,
@@ -280,6 +274,12 @@
 <div class="block">Add entry synchronously to an open ledger.</div>
 </td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code>long</code></td>
+<td class="colLast"><span class="typeNameLabel">ReadOnlyLedgerHandle.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/ReadOnlyLedgerHandle.html#addEntry-byte:A-int-int-">addEntry</a></span>(byte[]&nbsp;data,
+        int&nbsp;offset,
+        int&nbsp;length)</code>&nbsp;</td>
+</tr>
 <tr class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><span class="typeNameLabel">LedgerHandle.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/LedgerHandle.html#addEntry-long-byte:A-">addEntry</a></span>(long&nbsp;entryId,
@@ -325,7 +325,9 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">ReadOnlyLedgerHandle.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/ReadOnlyLedgerHandle.html#close--">close</a></span>()</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">BookKeeper.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/BookKeeper.html#close--">close</a></span>()</code>
+<div class="block">Shuts down client.</div>
+</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
@@ -341,9 +343,7 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">BookKeeper.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/BookKeeper.html#close--">close</a></span>()</code>
-<div class="block">Shuts down client.</div>
-</td>
+<td class="colLast"><span class="typeNameLabel">ReadOnlyLedgerHandle.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/ReadOnlyLedgerHandle.html#close--">close</a></span>()</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/bookkeeper/client/LedgerHandle.html" title="class in org.apache.bookkeeper.client">LedgerHandle</a></code></td>
@@ -436,15 +436,15 @@
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>(package private) <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;org.apache.bookkeeper.net.BookieSocketAddress,<a href="../../../../../org/apache/bookkeeper/client/BookieInfoReader.BookieInfo.html" title="class in org.apache.bookkeeper.client">BookieInfoReader.BookieInfo</a>&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">BookieInfoReader.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/BookieInfoReader.html#getBookieInfo--">getBookieInfo</a></span>()</code>&nbsp;</td>
-</tr>
-<tr class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;org.apache.bookkeeper.net.BookieSocketAddress,<a href="../../../../../org/apache/bookkeeper/client/BookieInfoReader.BookieInfo.html" title="class in org.apache.bookkeeper.client">BookieInfoReader.BookieInfo</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">BookKeeper.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/BookKeeper.html#getBookieInfo--">getBookieInfo</a></span>()</code>
 <div class="block">Retrieves BookieInfo from all the bookies in the cluster.</div>
 </td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><code>(package private) <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;org.apache.bookkeeper.net.BookieSocketAddress,<a href="../../../../../org/apache/bookkeeper/client/BookieInfoReader.BookieInfo.html" title="class in org.apache.bookkeeper.client">BookieInfoReader.BookieInfo</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">BookieInfoReader.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/BookieInfoReader.html#getBookieInfo--">getBookieInfo</a></span>()</code>&nbsp;</td>
+</tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;org.apache.bookkeeper.net.BookieSocketAddress&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">BookieWatcher.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/BookieWatcher.html#getBookies--">getBookies</a></span>()</code>&nbsp;</td>
@@ -457,25 +457,25 @@
 </td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><code>(package private) void</code></td>
+<td class="colLast"><span class="typeNameLabel">BookieWatcher.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/BookieWatcher.html#notifyBookiesChanged-org.apache.bookkeeper.client.BookiesListener-">notifyBookiesChanged</a></span>(<a href="../../../../../org/apache/bookkeeper/client/BookiesListener.html" title="interface in org.apache.bookkeeper.client">BookiesListener</a>&nbsp;listener)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">BookKeeperAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/BookKeeperAdmin.html#notifyBookiesChanged-org.apache.bookkeeper.client.BookiesListener-">notifyBookiesChanged</a></span>(<a href="../../../../../org/apache/bookkeeper/client/BookiesListener.html" title="interface in org.apache.bookkeeper.client">BookiesListener</a>&nbsp;listener)</code>
 <div class="block">Notify when the available list of bookies changes.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>(package private) void</code></td>
-<td class="colLast"><span class="typeNameLabel">BookieWatcher.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/BookieWatcher.html#notifyBookiesChanged-org.apache.bookkeeper.client.BookiesListener-">notifyBookiesChanged</a></span>(<a href="../../../../../org/apache/bookkeeper/client/BookiesListener.html" title="interface in org.apache.bookkeeper.client">BookiesListener</a>&nbsp;listener)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">BookieWatcher.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/BookieWatcher.html#notifyReadOnlyBookiesChanged-org.apache.bookkeeper.client.BookiesListener-">notifyReadOnlyBookiesChanged</a></span>(<a href="../../../../../org/apache/bookkeeper/client/BookiesListener.html" title="interface in org.apache.bookkeeper.client">BookiesListener</a>&nbsp;listener)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">BookKeeperAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/BookKeeperAdmin.html#notifyReadOnlyBookiesChanged-org.apache.bookkeeper.client.BookiesListener-">notifyReadOnlyBookiesChanged</a></span>(<a href="../../../../../org/apache/bookkeeper/client/BookiesListener.html" title="interface in org.apache.bookkeeper.client">BookiesListener</a>&nbsp;listener)</code>
 <div class="block">Notify when the available list of read only bookies changes.</div>
 </td>
 </tr>
-<tr class="altColor">
-<td class="colFirst"><code>(package private) void</code></td>
-<td class="colLast"><span class="typeNameLabel">BookieWatcher.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/BookieWatcher.html#notifyReadOnlyBookiesChanged-org.apache.bookkeeper.client.BookiesListener-">notifyReadOnlyBookiesChanged</a></span>(<a href="../../../../../org/apache/bookkeeper/client/BookiesListener.html" title="interface in org.apache.bookkeeper.client">BookiesListener</a>&nbsp;listener)</code>&nbsp;</td>
-</tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/bookkeeper/client/LedgerHandle.html" title="class in org.apache.bookkeeper.client">LedgerHandle</a></code></td>
 <td class="colLast"><span class="typeNameLabel">BookKeeperAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/BookKeeperAdmin.html#openLedger-long-">openLedger</a></span>(long&nbsp;lId)</code>
diff --git a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/class-use/BookKeeper.html b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/class-use/BookKeeper.html
index f1aecf4..2e80e5e 100644
--- a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/class-use/BookKeeper.html
+++ b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/class-use/BookKeeper.html
@@ -106,15 +106,15 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>(package private) <a href="../../../../../org/apache/bookkeeper/client/BookKeeper.html" title="class in org.apache.bookkeeper.client">BookKeeper</a></code></td>
-<td class="colLast"><span class="typeNameLabel">LedgerCreateOp.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/LedgerCreateOp.html#bk">bk</a></span></code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">BookieWatcher.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/BookieWatcher.html#bk">bk</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>(package private) <a href="../../../../../org/apache/bookkeeper/client/BookKeeper.html" title="class in org.apache.bookkeeper.client">BookKeeper</a></code></td>
-<td class="colLast"><span class="typeNameLabel">LedgerHandle.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/LedgerHandle.html#bk">bk</a></span></code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">LedgerCreateOp.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/LedgerCreateOp.html#bk">bk</a></span></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>(package private) <a href="../../../../../org/apache/bookkeeper/client/BookKeeper.html" title="class in org.apache.bookkeeper.client">BookKeeper</a></code></td>
-<td class="colLast"><span class="typeNameLabel">LedgerDeleteOp.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/LedgerDeleteOp.html#bk">bk</a></span></code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">LedgerHandle.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/LedgerHandle.html#bk">bk</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>(package private) <a href="../../../../../org/apache/bookkeeper/client/BookKeeper.html" title="class in org.apache.bookkeeper.client">BookKeeper</a></code></td>
@@ -122,7 +122,7 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>(package private) <a href="../../../../../org/apache/bookkeeper/client/BookKeeper.html" title="class in org.apache.bookkeeper.client">BookKeeper</a></code></td>
-<td class="colLast"><span class="typeNameLabel">BookieWatcher.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/BookieWatcher.html#bk">bk</a></span></code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">LedgerDeleteOp.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/LedgerDeleteOp.html#bk">bk</a></span></code>&nbsp;</td>
 </tr>
 </tbody>
 </table>
diff --git a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/class-use/BookieInfoReader.BookieInfo.html b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/class-use/BookieInfoReader.BookieInfo.html
index 4ea8720..fba85ef 100644
--- a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/class-use/BookieInfoReader.BookieInfo.html
+++ b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/class-use/BookieInfoReader.BookieInfo.html
@@ -105,15 +105,15 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code>(package private) <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;org.apache.bookkeeper.net.BookieSocketAddress,<a href="../../../../../org/apache/bookkeeper/client/BookieInfoReader.BookieInfo.html" title="class in org.apache.bookkeeper.client">BookieInfoReader.BookieInfo</a>&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">BookieInfoReader.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/BookieInfoReader.html#getBookieInfo--">getBookieInfo</a></span>()</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;org.apache.bookkeeper.net.BookieSocketAddress,<a href="../../../../../org/apache/bookkeeper/client/BookieInfoReader.BookieInfo.html" title="class in org.apache.bookkeeper.client">BookieInfoReader.BookieInfo</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">BookKeeper.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/BookKeeper.html#getBookieInfo--">getBookieInfo</a></span>()</code>
 <div class="block">Retrieves BookieInfo from all the bookies in the cluster.</div>
 </td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code>(package private) <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;org.apache.bookkeeper.net.BookieSocketAddress,<a href="../../../../../org/apache/bookkeeper/client/BookieInfoReader.BookieInfo.html" title="class in org.apache.bookkeeper.client">BookieInfoReader.BookieInfo</a>&gt;</code></td>
+<td class="colLast"><span class="typeNameLabel">BookieInfoReader.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/BookieInfoReader.html#getBookieInfo--">getBookieInfo</a></span>()</code>&nbsp;</td>
+</tr>
 </tbody>
 </table>
 <table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
@@ -125,11 +125,11 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">DefaultEnsemblePlacementPolicy.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/DefaultEnsemblePlacementPolicy.html#updateBookieInfo-java.util.Map-">updateBookieInfo</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;org.apache.bookkeeper.net.BookieSocketAddress,<a href="../../../../../org/apache/bo [...]
+<td class="colLast"><span class="typeNameLabel">RackawareEnsemblePlacementPolicyImpl.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.html#updateBookieInfo-java.util.Map-">updateBookieInfo</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;org.apache.bookkeeper.net.BookieSocketAddress,<a href="../../../../../o [...]
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">RackawareEnsemblePlacementPolicyImpl.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.html#updateBookieInfo-java.util.Map-">updateBookieInfo</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;org.apache.bookkeeper.net.BookieSocketAddress,<a href="../../../../../o [...]
+<td class="colLast"><span class="typeNameLabel">DefaultEnsemblePlacementPolicy.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/DefaultEnsemblePlacementPolicy.html#updateBookieInfo-java.util.Map-">updateBookieInfo</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;org.apache.bookkeeper.net.BookieSocketAddress,<a href="../../../../../org/apache/bo [...]
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>default void</code></td>
diff --git a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/class-use/BookiesListener.html b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/class-use/BookiesListener.html
index 7e60a9f..8b7030b 100644
--- a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/class-use/BookiesListener.html
+++ b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/class-use/BookiesListener.html
@@ -105,25 +105,25 @@
 </tr>
 <tbody>
 <tr class="altColor">
+<td class="colFirst"><code>(package private) void</code></td>
+<td class="colLast"><span class="typeNameLabel">BookieWatcher.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/BookieWatcher.html#notifyBookiesChanged-org.apache.bookkeeper.client.BookiesListener-">notifyBookiesChanged</a></span>(<a href="../../../../../org/apache/bookkeeper/client/BookiesListener.html" title="interface in org.apache.bookkeeper.client">BookiesListener</a>&nbsp;listener)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">BookKeeperAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/BookKeeperAdmin.html#notifyBookiesChanged-org.apache.bookkeeper.client.BookiesListener-">notifyBookiesChanged</a></span>(<a href="../../../../../org/apache/bookkeeper/client/BookiesListener.html" title="interface in org.apache.bookkeeper.client">BookiesListener</a>&nbsp;listener)</code>
 <div class="block">Notify when the available list of bookies changes.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>(package private) void</code></td>
-<td class="colLast"><span class="typeNameLabel">BookieWatcher.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/BookieWatcher.html#notifyBookiesChanged-org.apache.bookkeeper.client.BookiesListener-">notifyBookiesChanged</a></span>(<a href="../../../../../org/apache/bookkeeper/client/BookiesListener.html" title="interface in org.apache.bookkeeper.client">BookiesListener</a>&nbsp;listener)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">BookieWatcher.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/BookieWatcher.html#notifyReadOnlyBookiesChanged-org.apache.bookkeeper.client.BookiesListener-">notifyReadOnlyBookiesChanged</a></span>(<a href="../../../../../org/apache/bookkeeper/client/BookiesListener.html" title="interface in org.apache.bookkeeper.client">BookiesListener</a>&nbsp;listener)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">BookKeeperAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/BookKeeperAdmin.html#notifyReadOnlyBookiesChanged-org.apache.bookkeeper.client.BookiesListener-">notifyReadOnlyBookiesChanged</a></span>(<a href="../../../../../org/apache/bookkeeper/client/BookiesListener.html" title="interface in org.apache.bookkeeper.client">BookiesListener</a>&nbsp;listener)</code>
 <div class="block">Notify when the available list of read only bookies changes.</div>
 </td>
 </tr>
-<tr class="rowColor">
-<td class="colFirst"><code>(package private) void</code></td>
-<td class="colLast"><span class="typeNameLabel">BookieWatcher.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/BookieWatcher.html#notifyReadOnlyBookiesChanged-org.apache.bookkeeper.client.BookiesListener-">notifyReadOnlyBookiesChanged</a></span>(<a href="../../../../../org/apache/bookkeeper/client/BookiesListener.html" title="interface in org.apache.bookkeeper.client">BookiesListener</a>&nbsp;listener)</code>&nbsp;</td>
-</tr>
 </tbody>
 </table>
 </li>
diff --git a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/class-use/DigestManager.RecoveryData.html b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/class-use/DigestManager.RecoveryData.html
index 98433fc..beecd5a 100644
--- a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/class-use/DigestManager.RecoveryData.html
+++ b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/class-use/DigestManager.RecoveryData.html
@@ -106,11 +106,11 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>(package private) <a href="../../../../../org/apache/bookkeeper/client/DigestManager.RecoveryData.html" title="class in org.apache.bookkeeper.client">DigestManager.RecoveryData</a></code></td>
-<td class="colLast"><span class="typeNameLabel">ReadLastConfirmedOp.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/ReadLastConfirmedOp.html#maxRecoveredData">maxRecoveredData</a></span></code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">TryReadLastConfirmedOp.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/TryReadLastConfirmedOp.html#maxRecoveredData">maxRecoveredData</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>(package private) <a href="../../../../../org/apache/bookkeeper/client/DigestManager.RecoveryData.html" title="class in org.apache.bookkeeper.client">DigestManager.RecoveryData</a></code></td>
-<td class="colLast"><span class="typeNameLabel">TryReadLastConfirmedOp.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/TryReadLastConfirmedOp.html#maxRecoveredData">maxRecoveredData</a></span></code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">ReadLastConfirmedOp.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/ReadLastConfirmedOp.html#maxRecoveredData">maxRecoveredData</a></span></code>&nbsp;</td>
 </tr>
 </tbody>
 </table>
diff --git a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/class-use/DistributionSchedule.AckSet.html b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/class-use/DistributionSchedule.AckSet.html
index 8358957..f00afc5 100644
--- a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/class-use/DistributionSchedule.AckSet.html
+++ b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/class-use/DistributionSchedule.AckSet.html
@@ -106,11 +106,11 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>(package private) <a href="../../../../../org/apache/bookkeeper/client/DistributionSchedule.AckSet.html" title="interface in org.apache.bookkeeper.client">DistributionSchedule.AckSet</a></code></td>
-<td class="colLast"><span class="typeNameLabel">PendingAddOp.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/PendingAddOp.html#ackSet">ackSet</a></span></code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">PendingWriteLacOp.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/PendingWriteLacOp.html#ackSet">ackSet</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>(package private) <a href="../../../../../org/apache/bookkeeper/client/DistributionSchedule.AckSet.html" title="interface in org.apache.bookkeeper.client">DistributionSchedule.AckSet</a></code></td>
-<td class="colLast"><span class="typeNameLabel">PendingWriteLacOp.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/PendingWriteLacOp.html#ackSet">ackSet</a></span></code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">PendingAddOp.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/PendingAddOp.html#ackSet">ackSet</a></span></code>&nbsp;</td>
 </tr>
 </tbody>
 </table>
diff --git a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/class-use/DistributionSchedule.QuorumCoverageSet.html b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/class-use/DistributionSchedule.QuorumCoverageSet.html
index 8514d5a..fa6fc30 100644
--- a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/class-use/DistributionSchedule.QuorumCoverageSet.html
+++ b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/class-use/DistributionSchedule.QuorumCoverageSet.html
@@ -106,11 +106,11 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>(package private) <a href="../../../../../org/apache/bookkeeper/client/DistributionSchedule.QuorumCoverageSet.html" title="interface in org.apache.bookkeeper.client">DistributionSchedule.QuorumCoverageSet</a></code></td>
-<td class="colLast"><span class="typeNameLabel">PendingReadLacOp.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/PendingReadLacOp.html#coverageSet">coverageSet</a></span></code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">ReadLastConfirmedOp.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/ReadLastConfirmedOp.html#coverageSet">coverageSet</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>(package private) <a href="../../../../../org/apache/bookkeeper/client/DistributionSchedule.QuorumCoverageSet.html" title="interface in org.apache.bookkeeper.client">DistributionSchedule.QuorumCoverageSet</a></code></td>
-<td class="colLast"><span class="typeNameLabel">ReadLastConfirmedOp.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/ReadLastConfirmedOp.html#coverageSet">coverageSet</a></span></code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">PendingReadLacOp.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/PendingReadLacOp.html#coverageSet">coverageSet</a></span></code>&nbsp;</td>
 </tr>
 </tbody>
 </table>
diff --git a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/class-use/EnsemblePlacementPolicy.html b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/class-use/EnsemblePlacementPolicy.html
index 1845a8d..9a50212 100644
--- a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/class-use/EnsemblePlacementPolicy.html
+++ b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/class-use/EnsemblePlacementPolicy.html
@@ -162,11 +162,11 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>(package private) <a href="../../../../../org/apache/bookkeeper/client/EnsemblePlacementPolicy.html" title="interface in org.apache.bookkeeper.client">EnsemblePlacementPolicy</a></code></td>
-<td class="colLast"><span class="typeNameLabel">BookKeeper.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/BookKeeper.html#placementPolicy">placementPolicy</a></span></code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">BookieWatcher.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/BookieWatcher.html#placementPolicy">placementPolicy</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>(package private) <a href="../../../../../org/apache/bookkeeper/client/EnsemblePlacementPolicy.html" title="interface in org.apache.bookkeeper.client">EnsemblePlacementPolicy</a></code></td>
-<td class="colLast"><span class="typeNameLabel">BookieWatcher.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/BookieWatcher.html#placementPolicy">placementPolicy</a></span></code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">BookKeeper.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/BookKeeper.html#placementPolicy">placementPolicy</a></span></code>&nbsp;</td>
 </tr>
 </tbody>
 </table>
diff --git a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/class-use/ITopologyAwareEnsemblePlacementPolicy.Ensemble.html b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/class-use/ITopologyAwareEnsemblePlacementPolicy.Ensemble.html
index 661a4d2..fa9d4c4 100644
--- a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/class-use/ITopologyAwareEnsemblePlacementPolicy.Ensemble.html
+++ b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/class-use/ITopologyAwareEnsemblePlacementPolicy.Ensemble.html
@@ -165,7 +165,7 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;org.apache.bookkeeper.net.BookieSocketAddress&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">RackawareEnsemblePlacementPolicy.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicy.html#newEnsemble-int-int-int-java.util.Set-org.apache.bookkeeper.client.ITopologyAwareEnsemblePlacementPolicy.Ensemble-org.apache.bookkeeper.client.ITopologyAwareEnsemblePlacementPolicy.Predicate-">newEnsemble</a></span>(int&nbsp;ensembleSize,
+<td class="colLast"><span class="typeNameLabel">RackawareEnsemblePlacementPolicyImpl.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.html#newEnsemble-int-int-int-java.util.Set-org.apache.bookkeeper.client.ITopologyAwareEnsemblePlacementPolicy.Ensemble-org.apache.bookkeeper.client.ITopologyAwareEnsemblePlacementPolicy.Predicate-">newEnsemble</a></span>(int&nbsp;ensembleSize,
            int&nbsp;writeQuorumSize,
            int&nbsp;ackQuorumSize,
            <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;org.apache.bookkeeper.net.BookieSocketAddress&gt;&nbsp;excludeBookies,
@@ -174,7 +174,7 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;org.apache.bookkeeper.net.BookieSocketAddress&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">RackawareEnsemblePlacementPolicyImpl.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.html#newEnsemble-int-int-int-java.util.Set-org.apache.bookkeeper.client.ITopologyAwareEnsemblePlacementPolicy.Ensemble-org.apache.bookkeeper.client.ITopologyAwareEnsemblePlacementPolicy.Predicate-">newEnsemble</a></span>(int&nbsp;ensembleSize,
+<td class="colLast"><span class="typeNameLabel">RackawareEnsemblePlacementPolicy.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicy.html#newEnsemble-int-int-int-java.util.Set-org.apache.bookkeeper.client.ITopologyAwareEnsemblePlacementPolicy.Ensemble-org.apache.bookkeeper.client.ITopologyAwareEnsemblePlacementPolicy.Predicate-">newEnsemble</a></span>(int&nbsp;ensembleSize,
            int&nbsp;writeQuorumSize,
            int&nbsp;ackQuorumSize,
            <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;org.apache.bookkeeper.net.BookieSocketAddress&gt;&nbsp;excludeBookies,
@@ -217,14 +217,14 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/bookkeeper/client/TopologyAwareEnsemblePlacementPolicy.BookieNode.html" title="class in org.apache.bookkeeper.client">TopologyAwareEnsemblePlacementPolicy.BookieNode</a></code></td>
-<td class="colLast"><span class="typeNameLabel">RackawareEnsemblePlacementPolicy.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicy.html#selectFromNetworkLocation-java.lang.String-java.util.Set-org.apache.bookkeeper.client.ITopologyAwareEnsemblePlacementPolicy.Predicate-org.apache.bookkeeper.client.ITopologyAwareEnsemblePlacementPolicy.Ensemble-">selectFromNetworkLocation</a></span>(<a href="http://docs.oracle.c [...]
+<td class="colLast"><span class="typeNameLabel">RackawareEnsemblePlacementPolicyImpl.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.html#selectFromNetworkLocation-java.lang.String-java.util.Set-org.apache.bookkeeper.client.ITopologyAwareEnsemblePlacementPolicy.Predicate-org.apache.bookkeeper.client.ITopologyAwareEnsemblePlacementPolicy.Ensemble-">selectFromNetworkLocation</a></span>(<a href="http://docs. [...]
                          <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;org.apache.bookkeeper.net.Node&gt;&nbsp;excludeBookies,
                          <a href="../../../../../org/apache/bookkeeper/client/ITopologyAwareEnsemblePlacementPolicy.Predicate.html" title="interface in org.apache.bookkeeper.client">ITopologyAwareEnsemblePlacementPolicy.Predicate</a>&lt;<a href="../../../../../org/apache/bookkeeper/client/TopologyAwareEnsemblePlacementPolicy.BookieNode.html" title="class in org.apache.bookkeeper.client">TopologyAwareEnsemblePlacementPolicy.BookieNode</a>&gt;&nbsp;predicate,
                          <a href="../../../../../org/apache/bookkeeper/client/ITopologyAwareEnsemblePlacementPolicy.Ensemble.html" title="interface in org.apache.bookkeeper.client">ITopologyAwareEnsemblePlacementPolicy.Ensemble</a>&lt;<a href="../../../../../org/apache/bookkeeper/client/TopologyAwareEnsemblePlacementPolicy.BookieNode.html" title="class in org.apache.bookkeeper.client">TopologyAwareEnsemblePlacementPolicy.BookieNode</a>&gt;&nbsp;ensemble)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/bookkeeper/client/TopologyAwareEnsemblePlacementPolicy.BookieNode.html" title="class in org.apache.bookkeeper.client">TopologyAwareEnsemblePlacementPolicy.BookieNode</a></code></td>
-<td class="colLast"><span class="typeNameLabel">RackawareEnsemblePlacementPolicyImpl.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.html#selectFromNetworkLocation-java.lang.String-java.util.Set-org.apache.bookkeeper.client.ITopologyAwareEnsemblePlacementPolicy.Predicate-org.apache.bookkeeper.client.ITopologyAwareEnsemblePlacementPolicy.Ensemble-">selectFromNetworkLocation</a></span>(<a href="http://docs. [...]
+<td class="colLast"><span class="typeNameLabel">RackawareEnsemblePlacementPolicy.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicy.html#selectFromNetworkLocation-java.lang.String-java.util.Set-org.apache.bookkeeper.client.ITopologyAwareEnsemblePlacementPolicy.Predicate-org.apache.bookkeeper.client.ITopologyAwareEnsemblePlacementPolicy.Ensemble-">selectFromNetworkLocation</a></span>(<a href="http://docs.oracle.c [...]
                          <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;org.apache.bookkeeper.net.Node&gt;&nbsp;excludeBookies,
                          <a href="../../../../../org/apache/bookkeeper/client/ITopologyAwareEnsemblePlacementPolicy.Predicate.html" title="interface in org.apache.bookkeeper.client">ITopologyAwareEnsemblePlacementPolicy.Predicate</a>&lt;<a href="../../../../../org/apache/bookkeeper/client/TopologyAwareEnsemblePlacementPolicy.BookieNode.html" title="class in org.apache.bookkeeper.client">TopologyAwareEnsemblePlacementPolicy.BookieNode</a>&gt;&nbsp;predicate,
                          <a href="../../../../../org/apache/bookkeeper/client/ITopologyAwareEnsemblePlacementPolicy.Ensemble.html" title="interface in org.apache.bookkeeper.client">ITopologyAwareEnsemblePlacementPolicy.Ensemble</a>&lt;<a href="../../../../../org/apache/bookkeeper/client/TopologyAwareEnsemblePlacementPolicy.BookieNode.html" title="class in org.apache.bookkeeper.client">TopologyAwareEnsemblePlacementPolicy.BookieNode</a>&gt;&nbsp;ensemble)</code>&nbsp;</td>
diff --git a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/class-use/ITopologyAwareEnsemblePlacementPolicy.Predicate.html b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/class-use/ITopologyAwareEnsemblePlacementPolicy.Predicate.html
index 63a4bcc..d3c637d 100644
--- a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/class-use/ITopologyAwareEnsemblePlacementPolicy.Predicate.html
+++ b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/class-use/ITopologyAwareEnsemblePlacementPolicy.Predicate.html
@@ -150,7 +150,7 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;org.apache.bookkeeper.net.BookieSocketAddress&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">RackawareEnsemblePlacementPolicy.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicy.html#newEnsemble-int-int-int-java.util.Set-org.apache.bookkeeper.client.ITopologyAwareEnsemblePlacementPolicy.Ensemble-org.apache.bookkeeper.client.ITopologyAwareEnsemblePlacementPolicy.Predicate-">newEnsemble</a></span>(int&nbsp;ensembleSize,
+<td class="colLast"><span class="typeNameLabel">RackawareEnsemblePlacementPolicyImpl.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.html#newEnsemble-int-int-int-java.util.Set-org.apache.bookkeeper.client.ITopologyAwareEnsemblePlacementPolicy.Ensemble-org.apache.bookkeeper.client.ITopologyAwareEnsemblePlacementPolicy.Predicate-">newEnsemble</a></span>(int&nbsp;ensembleSize,
            int&nbsp;writeQuorumSize,
            int&nbsp;ackQuorumSize,
            <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;org.apache.bookkeeper.net.BookieSocketAddress&gt;&nbsp;excludeBookies,
@@ -159,7 +159,7 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;org.apache.bookkeeper.net.BookieSocketAddress&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">RackawareEnsemblePlacementPolicyImpl.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.html#newEnsemble-int-int-int-java.util.Set-org.apache.bookkeeper.client.ITopologyAwareEnsemblePlacementPolicy.Ensemble-org.apache.bookkeeper.client.ITopologyAwareEnsemblePlacementPolicy.Predicate-">newEnsemble</a></span>(int&nbsp;ensembleSize,
+<td class="colLast"><span class="typeNameLabel">RackawareEnsemblePlacementPolicy.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicy.html#newEnsemble-int-int-int-java.util.Set-org.apache.bookkeeper.client.ITopologyAwareEnsemblePlacementPolicy.Ensemble-org.apache.bookkeeper.client.ITopologyAwareEnsemblePlacementPolicy.Predicate-">newEnsemble</a></span>(int&nbsp;ensembleSize,
            int&nbsp;writeQuorumSize,
            int&nbsp;ackQuorumSize,
            <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;org.apache.bookkeeper.net.BookieSocketAddress&gt;&nbsp;excludeBookies,
@@ -202,14 +202,14 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/bookkeeper/client/TopologyAwareEnsemblePlacementPolicy.BookieNode.html" title="class in org.apache.bookkeeper.client">TopologyAwareEnsemblePlacementPolicy.BookieNode</a></code></td>
-<td class="colLast"><span class="typeNameLabel">RackawareEnsemblePlacementPolicy.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicy.html#selectFromNetworkLocation-java.lang.String-java.util.Set-org.apache.bookkeeper.client.ITopologyAwareEnsemblePlacementPolicy.Predicate-org.apache.bookkeeper.client.ITopologyAwareEnsemblePlacementPolicy.Ensemble-">selectFromNetworkLocation</a></span>(<a href="http://docs.oracle.c [...]
+<td class="colLast"><span class="typeNameLabel">RackawareEnsemblePlacementPolicyImpl.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.html#selectFromNetworkLocation-java.lang.String-java.util.Set-org.apache.bookkeeper.client.ITopologyAwareEnsemblePlacementPolicy.Predicate-org.apache.bookkeeper.client.ITopologyAwareEnsemblePlacementPolicy.Ensemble-">selectFromNetworkLocation</a></span>(<a href="http://docs. [...]
                          <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;org.apache.bookkeeper.net.Node&gt;&nbsp;excludeBookies,
                          <a href="../../../../../org/apache/bookkeeper/client/ITopologyAwareEnsemblePlacementPolicy.Predicate.html" title="interface in org.apache.bookkeeper.client">ITopologyAwareEnsemblePlacementPolicy.Predicate</a>&lt;<a href="../../../../../org/apache/bookkeeper/client/TopologyAwareEnsemblePlacementPolicy.BookieNode.html" title="class in org.apache.bookkeeper.client">TopologyAwareEnsemblePlacementPolicy.BookieNode</a>&gt;&nbsp;predicate,
                          <a href="../../../../../org/apache/bookkeeper/client/ITopologyAwareEnsemblePlacementPolicy.Ensemble.html" title="interface in org.apache.bookkeeper.client">ITopologyAwareEnsemblePlacementPolicy.Ensemble</a>&lt;<a href="../../../../../org/apache/bookkeeper/client/TopologyAwareEnsemblePlacementPolicy.BookieNode.html" title="class in org.apache.bookkeeper.client">TopologyAwareEnsemblePlacementPolicy.BookieNode</a>&gt;&nbsp;ensemble)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/bookkeeper/client/TopologyAwareEnsemblePlacementPolicy.BookieNode.html" title="class in org.apache.bookkeeper.client">TopologyAwareEnsemblePlacementPolicy.BookieNode</a></code></td>
-<td class="colLast"><span class="typeNameLabel">RackawareEnsemblePlacementPolicyImpl.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.html#selectFromNetworkLocation-java.lang.String-java.util.Set-org.apache.bookkeeper.client.ITopologyAwareEnsemblePlacementPolicy.Predicate-org.apache.bookkeeper.client.ITopologyAwareEnsemblePlacementPolicy.Ensemble-">selectFromNetworkLocation</a></span>(<a href="http://docs. [...]
+<td class="colLast"><span class="typeNameLabel">RackawareEnsemblePlacementPolicy.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicy.html#selectFromNetworkLocation-java.lang.String-java.util.Set-org.apache.bookkeeper.client.ITopologyAwareEnsemblePlacementPolicy.Predicate-org.apache.bookkeeper.client.ITopologyAwareEnsemblePlacementPolicy.Ensemble-">selectFromNetworkLocation</a></span>(<a href="http://docs.oracle.c [...]
                          <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;org.apache.bookkeeper.net.Node&gt;&nbsp;excludeBookies,
                          <a href="../../../../../org/apache/bookkeeper/client/ITopologyAwareEnsemblePlacementPolicy.Predicate.html" title="interface in org.apache.bookkeeper.client">ITopologyAwareEnsemblePlacementPolicy.Predicate</a>&lt;<a href="../../../../../org/apache/bookkeeper/client/TopologyAwareEnsemblePlacementPolicy.BookieNode.html" title="class in org.apache.bookkeeper.client">TopologyAwareEnsemblePlacementPolicy.BookieNode</a>&gt;&nbsp;predicate,
                          <a href="../../../../../org/apache/bookkeeper/client/ITopologyAwareEnsemblePlacementPolicy.Ensemble.html" title="interface in org.apache.bookkeeper.client">ITopologyAwareEnsemblePlacementPolicy.Ensemble</a>&lt;<a href="../../../../../org/apache/bookkeeper/client/TopologyAwareEnsemblePlacementPolicy.BookieNode.html" title="class in org.apache.bookkeeper.client">TopologyAwareEnsemblePlacementPolicy.BookieNode</a>&gt;&nbsp;ensemble)</code>&nbsp;</td>
diff --git a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/class-use/LedgerEntry.html b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/class-use/LedgerEntry.html
index 3e8b06b..44e0d79 100644
--- a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/class-use/LedgerEntry.html
+++ b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/class-use/LedgerEntry.html
@@ -169,11 +169,11 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/bookkeeper/client/LedgerEntry.html" title="class in org.apache.bookkeeper.client">LedgerEntry</a></code></td>
-<td class="colLast"><span class="typeNameLabel">PendingReadOp.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/PendingReadOp.html#nextElement--">nextElement</a></span>()</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">ListenerBasedPendingReadOp.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/ListenerBasedPendingReadOp.html#nextElement--">nextElement</a></span>()</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/bookkeeper/client/LedgerEntry.html" title="class in org.apache.bookkeeper.client">LedgerEntry</a></code></td>
-<td class="colLast"><span class="typeNameLabel">ListenerBasedPendingReadOp.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/ListenerBasedPendingReadOp.html#nextElement--">nextElement</a></span>()</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">PendingReadOp.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/PendingReadOp.html#nextElement--">nextElement</a></span>()</code>&nbsp;</td>
 </tr>
 </tbody>
 </table>
@@ -259,20 +259,20 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">LedgerHandle.SyncReadCallback.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/LedgerHandle.SyncReadCallback.html#readComplete-int-org.apache.bookkeeper.client.LedgerHandle-java.util.Enumeration-java.lang.Object-">readComplete</a></span>(int&nbsp;rc,
+<td class="colLast"><span class="typeNameLabel">AsyncCallback.ReadCallback.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/AsyncCallback.ReadCallback.html#readComplete-int-org.apache.bookkeeper.client.LedgerHandle-java.util.Enumeration-java.lang.Object-">readComplete</a></span>(int&nbsp;rc,
             <a href="../../../../../org/apache/bookkeeper/client/LedgerHandle.html" title="class in org.apache.bookkeeper.client">LedgerHandle</a>&nbsp;lh,
             <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Enumeration.html?is-external=true" title="class or interface in java.util">Enumeration</a>&lt;<a href="../../../../../org/apache/bookkeeper/client/LedgerEntry.html" title="class in org.apache.bookkeeper.client">LedgerEntry</a>&gt;&nbsp;seq,
             <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;ctx)</code>
-<div class="block">Implementation of callback interface for synchronous read method.</div>
+<div class="block">Callback declaration</div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">AsyncCallback.ReadCallback.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/AsyncCallback.ReadCallback.html#readComplete-int-org.apache.bookkeeper.client.LedgerHandle-java.util.Enumeration-java.lang.Object-">readComplete</a></span>(int&nbsp;rc,
+<td class="colLast"><span class="typeNameLabel">LedgerHandle.SyncReadCallback.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/LedgerHandle.SyncReadCallback.html#readComplete-int-org.apache.bookkeeper.client.LedgerHandle-java.util.Enumeration-java.lang.Object-">readComplete</a></span>(int&nbsp;rc,
             <a href="../../../../../org/apache/bookkeeper/client/LedgerHandle.html" title="class in org.apache.bookkeeper.client">LedgerHandle</a>&nbsp;lh,
             <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Enumeration.html?is-external=true" title="class or interface in java.util">Enumeration</a>&lt;<a href="../../../../../org/apache/bookkeeper/client/LedgerEntry.html" title="class in org.apache.bookkeeper.client">LedgerEntry</a>&gt;&nbsp;seq,
             <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;ctx)</code>
-<div class="block">Callback declaration</div>
+<div class="block">Implementation of callback interface for synchronous read method.</div>
 </td>
 </tr>
 <tr class="altColor">
diff --git a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/class-use/LedgerHandle.html b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/class-use/LedgerHandle.html
index 21bda71..87c44ab 100644
--- a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/class-use/LedgerHandle.html
+++ b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/class-use/LedgerHandle.html
@@ -132,51 +132,51 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>(package private) <a href="../../../../../org/apache/bookkeeper/client/LedgerHandle.html" title="class in org.apache.bookkeeper.client">LedgerHandle</a></code></td>
-<td class="colLast"><span class="typeNameLabel">SyncCounter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/SyncCounter.html#lh">lh</a></span></code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">PendingWriteLacOp.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/PendingWriteLacOp.html#lh">lh</a></span></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>(package private) <a href="../../../../../org/apache/bookkeeper/client/LedgerHandle.html" title="class in org.apache.bookkeeper.client">LedgerHandle</a></code></td>
-<td class="colLast"><span class="typeNameLabel">LedgerCreateOp.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/LedgerCreateOp.html#lh">lh</a></span></code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">TryReadLastConfirmedOp.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/TryReadLastConfirmedOp.html#lh">lh</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>(package private) <a href="../../../../../org/apache/bookkeeper/client/LedgerHandle.html" title="class in org.apache.bookkeeper.client">LedgerHandle</a></code></td>
-<td class="colLast"><span class="typeNameLabel">PendingReadOp.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/PendingReadOp.html#lh">lh</a></span></code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">PendingAddOp.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/PendingAddOp.html#lh">lh</a></span></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>(package private) <a href="../../../../../org/apache/bookkeeper/client/LedgerHandle.html" title="class in org.apache.bookkeeper.client">LedgerHandle</a></code></td>
-<td class="colLast"><span class="typeNameLabel">PendingReadLacOp.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/PendingReadLacOp.html#lh">lh</a></span></code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">ReadLastConfirmedOp.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/ReadLastConfirmedOp.html#lh">lh</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>(package private) <a href="../../../../../org/apache/bookkeeper/client/LedgerHandle.html" title="class in org.apache.bookkeeper.client">LedgerHandle</a></code></td>
-<td class="colLast"><span class="typeNameLabel">ReadLastConfirmedOp.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/ReadLastConfirmedOp.html#lh">lh</a></span></code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">ExplicitLacFlushPolicy.ExplicitLacFlushPolicyImpl.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/ExplicitLacFlushPolicy.ExplicitLacFlushPolicyImpl.html#lh">lh</a></span></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>(package private) <a href="../../../../../org/apache/bookkeeper/client/LedgerHandle.html" title="class in org.apache.bookkeeper.client">LedgerHandle</a></code></td>
-<td class="colLast"><span class="typeNameLabel">LedgerOpenOp.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/LedgerOpenOp.html#lh">lh</a></span></code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">LedgerFragmentReplicator.SingleFragmentCallback.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/LedgerFragmentReplicator.SingleFragmentCallback.html#lh">lh</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>(package private) <a href="../../../../../org/apache/bookkeeper/client/LedgerHandle.html" title="class in org.apache.bookkeeper.client">LedgerHandle</a></code></td>
-<td class="colLast"><span class="typeNameLabel">ExplicitLacFlushPolicy.ExplicitLacFlushPolicyImpl.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/ExplicitLacFlushPolicy.ExplicitLacFlushPolicyImpl.html#lh">lh</a></span></code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">LedgerCreateOp.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/LedgerCreateOp.html#lh">lh</a></span></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>(package private) <a href="../../../../../org/apache/bookkeeper/client/LedgerHandle.html" title="class in org.apache.bookkeeper.client">LedgerHandle</a></code></td>
-<td class="colLast"><span class="typeNameLabel">TryReadLastConfirmedOp.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/TryReadLastConfirmedOp.html#lh">lh</a></span></code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">SyncCounter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/SyncCounter.html#lh">lh</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>(package private) <a href="../../../../../org/apache/bookkeeper/client/LedgerHandle.html" title="class in org.apache.bookkeeper.client">LedgerHandle</a></code></td>
-<td class="colLast"><span class="typeNameLabel">PendingAddOp.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/PendingAddOp.html#lh">lh</a></span></code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">LedgerRecoveryOp.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/LedgerRecoveryOp.html#lh">lh</a></span></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>(package private) <a href="../../../../../org/apache/bookkeeper/client/LedgerHandle.html" title="class in org.apache.bookkeeper.client">LedgerHandle</a></code></td>
-<td class="colLast"><span class="typeNameLabel">LedgerRecoveryOp.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/LedgerRecoveryOp.html#lh">lh</a></span></code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">LedgerOpenOp.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/LedgerOpenOp.html#lh">lh</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>(package private) <a href="../../../../../org/apache/bookkeeper/client/LedgerHandle.html" title="class in org.apache.bookkeeper.client">LedgerHandle</a></code></td>
-<td class="colLast"><span class="typeNameLabel">PendingWriteLacOp.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/PendingWriteLacOp.html#lh">lh</a></span></code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">PendingReadOp.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/PendingReadOp.html#lh">lh</a></span></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>(package private) <a href="../../../../../org/apache/bookkeeper/client/LedgerHandle.html" title="class in org.apache.bookkeeper.client">LedgerHandle</a></code></td>
-<td class="colLast"><span class="typeNameLabel">LedgerFragmentReplicator.SingleFragmentCallback.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/LedgerFragmentReplicator.SingleFragmentCallback.html#lh">lh</a></span></code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">PendingReadLacOp.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/PendingReadLacOp.html#lh">lh</a></span></code>&nbsp;</td>
 </tr>
 </tbody>
 </table>
@@ -300,43 +300,43 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">LedgerHandle.SyncAddCallback.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/LedgerHandle.SyncAddCallback.html#addComplete-int-org.apache.bookkeeper.client.LedgerHandle-long-java.lang.Object-">addComplete</a></span>(int&nbsp;rc,
+<td class="colLast"><span class="typeNameLabel">AsyncCallback.AddCallback.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/AsyncCallback.AddCallback.html#addComplete-int-org.apache.bookkeeper.client.LedgerHandle-long-java.lang.Object-">addComplete</a></span>(int&nbsp;rc,
            <a href="../../../../../org/apache/bookkeeper/client/LedgerHandle.html" title="class in org.apache.bookkeeper.client">LedgerHandle</a>&nbsp;lh,
-           long&nbsp;entry,
+           long&nbsp;entryId,
            <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;ctx)</code>
-<div class="block">Implementation of callback interface for synchronous read method.</div>
+<div class="block">Callback declaration</div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">LedgerRecoveryOp.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/LedgerRecoveryOp.html#addComplete-int-org.apache.bookkeeper.client.LedgerHandle-long-java.lang.Object-">addComplete</a></span>(int&nbsp;rc,
+<td class="colLast"><span class="typeNameLabel">LedgerHandle.SyncAddCallback.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/LedgerHandle.SyncAddCallback.html#addComplete-int-org.apache.bookkeeper.client.LedgerHandle-long-java.lang.Object-">addComplete</a></span>(int&nbsp;rc,
            <a href="../../../../../org/apache/bookkeeper/client/LedgerHandle.html" title="class in org.apache.bookkeeper.client">LedgerHandle</a>&nbsp;lh,
-           long&nbsp;entryId,
-           <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;ctx)</code>&nbsp;</td>
+           long&nbsp;entry,
+           <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;ctx)</code>
+<div class="block">Implementation of callback interface for synchronous read method.</div>
+</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">AsyncCallback.AddCallback.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/AsyncCallback.AddCallback.html#addComplete-int-org.apache.bookkeeper.client.LedgerHandle-long-java.lang.Object-">addComplete</a></span>(int&nbsp;rc,
+<td class="colLast"><span class="typeNameLabel">LedgerRecoveryOp.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/LedgerRecoveryOp.html#addComplete-int-org.apache.bookkeeper.client.LedgerHandle-long-java.lang.Object-">addComplete</a></span>(int&nbsp;rc,
            <a href="../../../../../org/apache/bookkeeper/client/LedgerHandle.html" title="class in org.apache.bookkeeper.client">LedgerHandle</a>&nbsp;lh,
            long&nbsp;entryId,
-           <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;ctx)</code>
-<div class="block">Callback declaration</div>
-</td>
+           <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;ctx)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">LedgerHandle.LastAddConfirmedCallback.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/LedgerHandle.LastAddConfirmedCallback.html#addLacComplete-int-org.apache.bookkeeper.client.LedgerHandle-java.lang.Object-">addLacComplete</a></span>(int&nbsp;rc,
+<td class="colLast"><span class="typeNameLabel">AsyncCallback.AddLacCallback.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/AsyncCallback.AddLacCallback.html#addLacComplete-int-org.apache.bookkeeper.client.LedgerHandle-java.lang.Object-">addLacComplete</a></span>(int&nbsp;rc,
               <a href="../../../../../org/apache/bookkeeper/client/LedgerHandle.html" title="class in org.apache.bookkeeper.client">LedgerHandle</a>&nbsp;lh,
               <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;ctx)</code>
-<div class="block">Implementation of callback interface for synchronous read method.</div>
+<div class="block">Callback declaration</div>
 </td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">AsyncCallback.AddLacCallback.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/AsyncCallback.AddLacCallback.html#addLacComplete-int-org.apache.bookkeeper.client.LedgerHandle-java.lang.Object-">addLacComplete</a></span>(int&nbsp;rc,
+<td class="colLast"><span class="typeNameLabel">LedgerHandle.LastAddConfirmedCallback.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/LedgerHandle.LastAddConfirmedCallback.html#addLacComplete-int-org.apache.bookkeeper.client.LedgerHandle-java.lang.Object-">addLacComplete</a></span>(int&nbsp;rc,
               <a href="../../../../../org/apache/bookkeeper/client/LedgerHandle.html" title="class in org.apache.bookkeeper.client">LedgerHandle</a>&nbsp;lh,
               <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;ctx)</code>
-<div class="block">Callback declaration</div>
+<div class="block">Implementation of callback interface for synchronous read method.</div>
 </td>
 </tr>
 <tr class="rowColor">
@@ -349,24 +349,24 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">LedgerHandle.NoopCloseCallback.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/LedgerHandle.NoopCloseCallback.html#closeComplete-int-org.apache.bookkeeper.client.LedgerHandle-java.lang.Object-">closeComplete</a></span>(int&nbsp;rc,
+<td class="colLast"><span class="typeNameLabel">AsyncCallback.CloseCallback.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/AsyncCallback.CloseCallback.html#closeComplete-int-org.apache.bookkeeper.client.LedgerHandle-java.lang.Object-">closeComplete</a></span>(int&nbsp;rc,
              <a href="../../../../../org/apache/bookkeeper/client/LedgerHandle.html" title="class in org.apache.bookkeeper.client">LedgerHandle</a>&nbsp;lh,
-             <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;ctx)</code>&nbsp;</td>
+             <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;ctx)</code>
+<div class="block">Callback definition</div>
+</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">LedgerHandle.SyncCloseCallback.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/LedgerHandle.SyncCloseCallback.html#closeComplete-int-org.apache.bookkeeper.client.LedgerHandle-java.lang.Object-">closeComplete</a></span>(int&nbsp;rc,
+<td class="colLast"><span class="typeNameLabel">LedgerHandle.NoopCloseCallback.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/LedgerHandle.NoopCloseCallback.html#closeComplete-int-org.apache.bookkeeper.client.LedgerHandle-java.lang.Object-">closeComplete</a></span>(int&nbsp;rc,
              <a href="../../../../../org/apache/bookkeeper/client/LedgerHandle.html" title="class in org.apache.bookkeeper.client">LedgerHandle</a>&nbsp;lh,
-             <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;ctx)</code>
-<div class="block">Close callback method</div>
-</td>
+             <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;ctx)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">AsyncCallback.CloseCallback.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/AsyncCallback.CloseCallback.html#closeComplete-int-org.apache.bookkeeper.client.LedgerHandle-java.lang.Object-">closeComplete</a></span>(int&nbsp;rc,
+<td class="colLast"><span class="typeNameLabel">LedgerHandle.SyncCloseCallback.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/LedgerHandle.SyncCloseCallback.html#closeComplete-int-org.apache.bookkeeper.client.LedgerHandle-java.lang.Object-">closeComplete</a></span>(int&nbsp;rc,
              <a href="../../../../../org/apache/bookkeeper/client/LedgerHandle.html" title="class in org.apache.bookkeeper.client">LedgerHandle</a>&nbsp;lh,
              <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;ctx)</code>
-<div class="block">Callback definition</div>
+<div class="block">Close callback method</div>
 </td>
 </tr>
 <tr class="rowColor">
@@ -411,20 +411,20 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">LedgerHandle.SyncReadCallback.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/LedgerHandle.SyncReadCallback.html#readComplete-int-org.apache.bookkeeper.client.LedgerHandle-java.util.Enumeration-java.lang.Object-">readComplete</a></span>(int&nbsp;rc,
+<td class="colLast"><span class="typeNameLabel">AsyncCallback.ReadCallback.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/AsyncCallback.ReadCallback.html#readComplete-int-org.apache.bookkeeper.client.LedgerHandle-java.util.Enumeration-java.lang.Object-">readComplete</a></span>(int&nbsp;rc,
             <a href="../../../../../org/apache/bookkeeper/client/LedgerHandle.html" title="class in org.apache.bookkeeper.client">LedgerHandle</a>&nbsp;lh,
             <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Enumeration.html?is-external=true" title="class or interface in java.util">Enumeration</a>&lt;<a href="../../../../../org/apache/bookkeeper/client/LedgerEntry.html" title="class in org.apache.bookkeeper.client">LedgerEntry</a>&gt;&nbsp;seq,
             <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;ctx)</code>
-<div class="block">Implementation of callback interface for synchronous read method.</div>
+<div class="block">Callback declaration</div>
 </td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">AsyncCallback.ReadCallback.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/AsyncCallback.ReadCallback.html#readComplete-int-org.apache.bookkeeper.client.LedgerHandle-java.util.Enumeration-java.lang.Object-">readComplete</a></span>(int&nbsp;rc,
+<td class="colLast"><span class="typeNameLabel">LedgerHandle.SyncReadCallback.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/LedgerHandle.SyncReadCallback.html#readComplete-int-org.apache.bookkeeper.client.LedgerHandle-java.util.Enumeration-java.lang.Object-">readComplete</a></span>(int&nbsp;rc,
             <a href="../../../../../org/apache/bookkeeper/client/LedgerHandle.html" title="class in org.apache.bookkeeper.client">LedgerHandle</a>&nbsp;lh,
             <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Enumeration.html?is-external=true" title="class or interface in java.util">Enumeration</a>&lt;<a href="../../../../../org/apache/bookkeeper/client/LedgerEntry.html" title="class in org.apache.bookkeeper.client">LedgerEntry</a>&gt;&nbsp;seq,
             <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;ctx)</code>
-<div class="block">Callback declaration</div>
+<div class="block">Implementation of callback interface for synchronous read method.</div>
 </td>
 </tr>
 <tr class="rowColor">
diff --git a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/class-use/LedgerMetadata.html b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/class-use/LedgerMetadata.html
index 16ff9ee..266aed4 100644
--- a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/class-use/LedgerMetadata.html
+++ b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/class-use/LedgerMetadata.html
@@ -137,11 +137,11 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>protected <a href="../../../../../org/apache/bookkeeper/client/LedgerMetadata.html" title="class in org.apache.bookkeeper.client">LedgerMetadata</a></code></td>
-<td class="colLast"><span class="typeNameLabel">PendingReadOp.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/PendingReadOp.html#getLedgerMetadata--">getLedgerMetadata</a></span>()</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">LedgerRecoveryOp.RecoveryReadOp.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/LedgerRecoveryOp.RecoveryReadOp.html#getLedgerMetadata--">getLedgerMetadata</a></span>()</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>protected <a href="../../../../../org/apache/bookkeeper/client/LedgerMetadata.html" title="class in org.apache.bookkeeper.client">LedgerMetadata</a></code></td>
-<td class="colLast"><span class="typeNameLabel">LedgerRecoveryOp.RecoveryReadOp.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/LedgerRecoveryOp.RecoveryReadOp.html#getLedgerMetadata--">getLedgerMetadata</a></span>()</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">PendingReadOp.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/PendingReadOp.html#getLedgerMetadata--">getLedgerMetadata</a></span>()</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>protected <a href="../../../../../org/apache/bookkeeper/client/LedgerMetadata.html" title="class in org.apache.bookkeeper.client">LedgerMetadata</a></code></td>
@@ -192,16 +192,16 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">BookKeeperAdmin.ReadMetadataCallback.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/BookKeeperAdmin.ReadMetadataCallback.html#operationComplete-int-org.apache.bookkeeper.client.LedgerMetadata-">operationComplete</a></span>(int&nbsp;rc,
+                 <a href="../../../../../org/apache/bookkeeper/client/LedgerMetadata.html" title="class in org.apache.bookkeeper.client">LedgerMetadata</a>&nbsp;result)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">LedgerOpenOp.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/LedgerOpenOp.html#operationComplete-int-org.apache.bookkeeper.client.LedgerMetadata-">operationComplete</a></span>(int&nbsp;rc,
                  <a href="../../../../../org/apache/bookkeeper/client/LedgerMetadata.html" title="class in org.apache.bookkeeper.client">LedgerMetadata</a>&nbsp;metadata)</code>
 <div class="block">Implements Open Ledger Callback.</div>
 </td>
 </tr>
-<tr class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">BookKeeperAdmin.ReadMetadataCallback.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/BookKeeperAdmin.ReadMetadataCallback.html#operationComplete-int-org.apache.bookkeeper.client.LedgerMetadata-">operationComplete</a></span>(int&nbsp;rc,
-                 <a href="../../../../../org/apache/bookkeeper/client/LedgerMetadata.html" title="class in org.apache.bookkeeper.client">LedgerMetadata</a>&nbsp;result)</code>&nbsp;</td>
-</tr>
 <tr class="rowColor">
 <td class="colFirst"><code>(package private) static <a href="../../../../../org/apache/bookkeeper/client/LedgerMetadata.html" title="class in org.apache.bookkeeper.client">LedgerMetadata</a></code></td>
 <td class="colLast"><span class="typeNameLabel">LedgerMetadata.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/LedgerMetadata.html#parseVersion1Config-org.apache.bookkeeper.client.LedgerMetadata-java.io.BufferedReader-">parseVersion1Config</a></span>(<a href="../../../../../org/apache/bookkeeper/client/LedgerMetadata.html" title="class in org.apache.bookkeeper.client">LedgerMetadata</a>&nbsp;lc,
diff --git a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/class-use/ReadLastConfirmedOp.LastConfirmedDataCallback.html b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/class-use/ReadLastConfirmedOp.LastConfirmedDataCallback.html
index 42a8f8f..aaf314d 100644
--- a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/class-use/ReadLastConfirmedOp.LastConfirmedDataCallback.html
+++ b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/class-use/ReadLastConfirmedOp.LastConfirmedDataCallback.html
@@ -106,11 +106,11 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>(package private) <a href="../../../../../org/apache/bookkeeper/client/ReadLastConfirmedOp.LastConfirmedDataCallback.html" title="interface in org.apache.bookkeeper.client">ReadLastConfirmedOp.LastConfirmedDataCallback</a></code></td>
-<td class="colLast"><span class="typeNameLabel">ReadLastConfirmedOp.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/ReadLastConfirmedOp.html#cb">cb</a></span></code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">TryReadLastConfirmedOp.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/TryReadLastConfirmedOp.html#cb">cb</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>(package private) <a href="../../../../../org/apache/bookkeeper/client/ReadLastConfirmedOp.LastConfirmedDataCallback.html" title="interface in org.apache.bookkeeper.client">ReadLastConfirmedOp.LastConfirmedDataCallback</a></code></td>
-<td class="colLast"><span class="typeNameLabel">TryReadLastConfirmedOp.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/TryReadLastConfirmedOp.html#cb">cb</a></span></code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">ReadLastConfirmedOp.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/ReadLastConfirmedOp.html#cb">cb</a></span></code>&nbsp;</td>
 </tr>
 </tbody>
 </table>
diff --git a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/class-use/TopologyAwareEnsemblePlacementPolicy.BookieNode.html b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/class-use/TopologyAwareEnsemblePlacementPolicy.BookieNode.html
index cd1c726..9c5cc1c 100644
--- a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/class-use/TopologyAwareEnsemblePlacementPolicy.BookieNode.html
+++ b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/class-use/TopologyAwareEnsemblePlacementPolicy.BookieNode.html
@@ -156,14 +156,14 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/bookkeeper/client/TopologyAwareEnsemblePlacementPolicy.BookieNode.html" title="class in org.apache.bookkeeper.client">TopologyAwareEnsemblePlacementPolicy.BookieNode</a></code></td>
-<td class="colLast"><span class="typeNameLabel">RackawareEnsemblePlacementPolicy.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicy.html#selectFromNetworkLocation-java.lang.String-java.util.Set-org.apache.bookkeeper.client.ITopologyAwareEnsemblePlacementPolicy.Predicate-org.apache.bookkeeper.client.ITopologyAwareEnsemblePlacementPolicy.Ensemble-">selectFromNetworkLocation</a></span>(<a href="http://docs.oracle.c [...]
+<td class="colLast"><span class="typeNameLabel">RackawareEnsemblePlacementPolicyImpl.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.html#selectFromNetworkLocation-java.lang.String-java.util.Set-org.apache.bookkeeper.client.ITopologyAwareEnsemblePlacementPolicy.Predicate-org.apache.bookkeeper.client.ITopologyAwareEnsemblePlacementPolicy.Ensemble-">selectFromNetworkLocation</a></span>(<a href="http://docs. [...]
                          <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;org.apache.bookkeeper.net.Node&gt;&nbsp;excludeBookies,
                          <a href="../../../../../org/apache/bookkeeper/client/ITopologyAwareEnsemblePlacementPolicy.Predicate.html" title="interface in org.apache.bookkeeper.client">ITopologyAwareEnsemblePlacementPolicy.Predicate</a>&lt;<a href="../../../../../org/apache/bookkeeper/client/TopologyAwareEnsemblePlacementPolicy.BookieNode.html" title="class in org.apache.bookkeeper.client">TopologyAwareEnsemblePlacementPolicy.BookieNode</a>&gt;&nbsp;predicate,
                          <a href="../../../../../org/apache/bookkeeper/client/ITopologyAwareEnsemblePlacementPolicy.Ensemble.html" title="interface in org.apache.bookkeeper.client">ITopologyAwareEnsemblePlacementPolicy.Ensemble</a>&lt;<a href="../../../../../org/apache/bookkeeper/client/TopologyAwareEnsemblePlacementPolicy.BookieNode.html" title="class in org.apache.bookkeeper.client">TopologyAwareEnsemblePlacementPolicy.BookieNode</a>&gt;&nbsp;ensemble)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/bookkeeper/client/TopologyAwareEnsemblePlacementPolicy.BookieNode.html" title="class in org.apache.bookkeeper.client">TopologyAwareEnsemblePlacementPolicy.BookieNode</a></code></td>
-<td class="colLast"><span class="typeNameLabel">RackawareEnsemblePlacementPolicyImpl.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.html#selectFromNetworkLocation-java.lang.String-java.util.Set-org.apache.bookkeeper.client.ITopologyAwareEnsemblePlacementPolicy.Predicate-org.apache.bookkeeper.client.ITopologyAwareEnsemblePlacementPolicy.Ensemble-">selectFromNetworkLocation</a></span>(<a href="http://docs. [...]
+<td class="colLast"><span class="typeNameLabel">RackawareEnsemblePlacementPolicy.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicy.html#selectFromNetworkLocation-java.lang.String-java.util.Set-org.apache.bookkeeper.client.ITopologyAwareEnsemblePlacementPolicy.Predicate-org.apache.bookkeeper.client.ITopologyAwareEnsemblePlacementPolicy.Ensemble-">selectFromNetworkLocation</a></span>(<a href="http://docs.oracle.c [...]
                          <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;org.apache.bookkeeper.net.Node&gt;&nbsp;excludeBookies,
                          <a href="../../../../../org/apache/bookkeeper/client/ITopologyAwareEnsemblePlacementPolicy.Predicate.html" title="interface in org.apache.bookkeeper.client">ITopologyAwareEnsemblePlacementPolicy.Predicate</a>&lt;<a href="../../../../../org/apache/bookkeeper/client/TopologyAwareEnsemblePlacementPolicy.BookieNode.html" title="class in org.apache.bookkeeper.client">TopologyAwareEnsemblePlacementPolicy.BookieNode</a>&gt;&nbsp;predicate,
                          <a href="../../../../../org/apache/bookkeeper/client/ITopologyAwareEnsemblePlacementPolicy.Ensemble.html" title="interface in org.apache.bookkeeper.client">ITopologyAwareEnsemblePlacementPolicy.Ensemble</a>&lt;<a href="../../../../../org/apache/bookkeeper/client/TopologyAwareEnsemblePlacementPolicy.BookieNode.html" title="class in org.apache.bookkeeper.client">TopologyAwareEnsemblePlacementPolicy.BookieNode</a>&gt;&nbsp;ensemble)</code>&nbsp;</td>
@@ -294,7 +294,7 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;org.apache.bookkeeper.net.BookieSocketAddress&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">RackawareEnsemblePlacementPolicy.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicy.html#newEnsemble-int-int-int-java.util.Set-org.apache.bookkeeper.client.ITopologyAwareEnsemblePlacementPolicy.Ensemble-org.apache.bookkeeper.client.ITopologyAwareEnsemblePlacementPolicy.Predicate-">newEnsemble</a></span>(int&nbsp;ensembleSize,
+<td class="colLast"><span class="typeNameLabel">RackawareEnsemblePlacementPolicyImpl.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.html#newEnsemble-int-int-int-java.util.Set-org.apache.bookkeeper.client.ITopologyAwareEnsemblePlacementPolicy.Ensemble-org.apache.bookkeeper.client.ITopologyAwareEnsemblePlacementPolicy.Predicate-">newEnsemble</a></span>(int&nbsp;ensembleSize,
            int&nbsp;writeQuorumSize,
            int&nbsp;ackQuorumSize,
            <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;org.apache.bookkeeper.net.BookieSocketAddress&gt;&nbsp;excludeBookies,
@@ -303,7 +303,7 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;org.apache.bookkeeper.net.BookieSocketAddress&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">RackawareEnsemblePlacementPolicy.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicy.html#newEnsemble-int-int-int-java.util.Set-org.apache.bookkeeper.client.ITopologyAwareEnsemblePlacementPolicy.Ensemble-org.apache.bookkeeper.client.ITopologyAwareEnsemblePlacementPolicy.Predicate-">newEnsemble</a></span>(int&nbsp;ensembleSize,
+<td class="colLast"><span class="typeNameLabel">RackawareEnsemblePlacementPolicyImpl.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.html#newEnsemble-int-int-int-java.util.Set-org.apache.bookkeeper.client.ITopologyAwareEnsemblePlacementPolicy.Ensemble-org.apache.bookkeeper.client.ITopologyAwareEnsemblePlacementPolicy.Predicate-">newEnsemble</a></span>(int&nbsp;ensembleSize,
            int&nbsp;writeQuorumSize,
            int&nbsp;ackQuorumSize,
            <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;org.apache.bookkeeper.net.BookieSocketAddress&gt;&nbsp;excludeBookies,
@@ -312,7 +312,7 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;org.apache.bookkeeper.net.BookieSocketAddress&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">RackawareEnsemblePlacementPolicyImpl.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.html#newEnsemble-int-int-int-java.util.Set-org.apache.bookkeeper.client.ITopologyAwareEnsemblePlacementPolicy.Ensemble-org.apache.bookkeeper.client.ITopologyAwareEnsemblePlacementPolicy.Predicate-">newEnsemble</a></span>(int&nbsp;ensembleSize,
+<td class="colLast"><span class="typeNameLabel">RackawareEnsemblePlacementPolicy.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicy.html#newEnsemble-int-int-int-java.util.Set-org.apache.bookkeeper.client.ITopologyAwareEnsemblePlacementPolicy.Ensemble-org.apache.bookkeeper.client.ITopologyAwareEnsemblePlacementPolicy.Predicate-">newEnsemble</a></span>(int&nbsp;ensembleSize,
            int&nbsp;writeQuorumSize,
            int&nbsp;ackQuorumSize,
            <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;org.apache.bookkeeper.net.BookieSocketAddress&gt;&nbsp;excludeBookies,
@@ -321,7 +321,7 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;org.apache.bookkeeper.net.BookieSocketAddress&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">RackawareEnsemblePlacementPolicyImpl.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.html#newEnsemble-int-int-int-java.util.Set-org.apache.bookkeeper.client.ITopologyAwareEnsemblePlacementPolicy.Ensemble-org.apache.bookkeeper.client.ITopologyAwareEnsemblePlacementPolicy.Predicate-">newEnsemble</a></span>(int&nbsp;ensembleSize,
+<td class="colLast"><span class="typeNameLabel">RackawareEnsemblePlacementPolicy.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicy.html#newEnsemble-int-int-int-java.util.Set-org.apache.bookkeeper.client.ITopologyAwareEnsemblePlacementPolicy.Ensemble-org.apache.bookkeeper.client.ITopologyAwareEnsemblePlacementPolicy.Predicate-">newEnsemble</a></span>(int&nbsp;ensembleSize,
            int&nbsp;writeQuorumSize,
            int&nbsp;ackQuorumSize,
            <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;org.apache.bookkeeper.net.BookieSocketAddress&gt;&nbsp;excludeBookies,
@@ -380,28 +380,28 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/bookkeeper/client/TopologyAwareEnsemblePlacementPolicy.BookieNode.html" title="class in org.apache.bookkeeper.client">TopologyAwareEnsemblePlacementPolicy.BookieNode</a></code></td>
-<td class="colLast"><span class="typeNameLabel">RackawareEnsemblePlacementPolicy.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicy.html#selectFromNetworkLocation-java.lang.String-java.util.Set-org.apache.bookkeeper.client.ITopologyAwareEnsemblePlacementPolicy.Predicate-org.apache.bookkeeper.client.ITopologyAwareEnsemblePlacementPolicy.Ensemble-">selectFromNetworkLocation</a></span>(<a href="http://docs.oracle.c [...]
+<td class="colLast"><span class="typeNameLabel">RackawareEnsemblePlacementPolicyImpl.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.html#selectFromNetworkLocation-java.lang.String-java.util.Set-org.apache.bookkeeper.client.ITopologyAwareEnsemblePlacementPolicy.Predicate-org.apache.bookkeeper.client.ITopologyAwareEnsemblePlacementPolicy.Ensemble-">selectFromNetworkLocation</a></span>(<a href="http://docs. [...]
                          <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;org.apache.bookkeeper.net.Node&gt;&nbsp;excludeBookies,
                          <a href="../../../../../org/apache/bookkeeper/client/ITopologyAwareEnsemblePlacementPolicy.Predicate.html" title="interface in org.apache.bookkeeper.client">ITopologyAwareEnsemblePlacementPolicy.Predicate</a>&lt;<a href="../../../../../org/apache/bookkeeper/client/TopologyAwareEnsemblePlacementPolicy.BookieNode.html" title="class in org.apache.bookkeeper.client">TopologyAwareEnsemblePlacementPolicy.BookieNode</a>&gt;&nbsp;predicate,
                          <a href="../../../../../org/apache/bookkeeper/client/ITopologyAwareEnsemblePlacementPolicy.Ensemble.html" title="interface in org.apache.bookkeeper.client">ITopologyAwareEnsemblePlacementPolicy.Ensemble</a>&lt;<a href="../../../../../org/apache/bookkeeper/client/TopologyAwareEnsemblePlacementPolicy.BookieNode.html" title="class in org.apache.bookkeeper.client">TopologyAwareEnsemblePlacementPolicy.BookieNode</a>&gt;&nbsp;ensemble)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/bookkeeper/client/TopologyAwareEnsemblePlacementPolicy.BookieNode.html" title="class in org.apache.bookkeeper.client">TopologyAwareEnsemblePlacementPolicy.BookieNode</a></code></td>
-<td class="colLast"><span class="typeNameLabel">RackawareEnsemblePlacementPolicy.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicy.html#selectFromNetworkLocation-java.lang.String-java.util.Set-org.apache.bookkeeper.client.ITopologyAwareEnsemblePlacementPolicy.Predicate-org.apache.bookkeeper.client.ITopologyAwareEnsemblePlacementPolicy.Ensemble-">selectFromNetworkLocation</a></span>(<a href="http://docs.oracle.c [...]
+<td class="colLast"><span class="typeNameLabel">RackawareEnsemblePlacementPolicyImpl.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.html#selectFromNetworkLocation-java.lang.String-java.util.Set-org.apache.bookkeeper.client.ITopologyAwareEnsemblePlacementPolicy.Predicate-org.apache.bookkeeper.client.ITopologyAwareEnsemblePlacementPolicy.Ensemble-">selectFromNetworkLocation</a></span>(<a href="http://docs. [...]
                          <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;org.apache.bookkeeper.net.Node&gt;&nbsp;excludeBookies,
                          <a href="../../../../../org/apache/bookkeeper/client/ITopologyAwareEnsemblePlacementPolicy.Predicate.html" title="interface in org.apache.bookkeeper.client">ITopologyAwareEnsemblePlacementPolicy.Predicate</a>&lt;<a href="../../../../../org/apache/bookkeeper/client/TopologyAwareEnsemblePlacementPolicy.BookieNode.html" title="class in org.apache.bookkeeper.client">TopologyAwareEnsemblePlacementPolicy.BookieNode</a>&gt;&nbsp;predicate,
                          <a href="../../../../../org/apache/bookkeeper/client/ITopologyAwareEnsemblePlacementPolicy.Ensemble.html" title="interface in org.apache.bookkeeper.client">ITopologyAwareEnsemblePlacementPolicy.Ensemble</a>&lt;<a href="../../../../../org/apache/bookkeeper/client/TopologyAwareEnsemblePlacementPolicy.BookieNode.html" title="class in org.apache.bookkeeper.client">TopologyAwareEnsemblePlacementPolicy.BookieNode</a>&gt;&nbsp;ensemble)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/bookkeeper/client/TopologyAwareEnsemblePlacementPolicy.BookieNode.html" title="class in org.apache.bookkeeper.client">TopologyAwareEnsemblePlacementPolicy.BookieNode</a></code></td>
-<td class="colLast"><span class="typeNameLabel">RackawareEnsemblePlacementPolicyImpl.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.html#selectFromNetworkLocation-java.lang.String-java.util.Set-org.apache.bookkeeper.client.ITopologyAwareEnsemblePlacementPolicy.Predicate-org.apache.bookkeeper.client.ITopologyAwareEnsemblePlacementPolicy.Ensemble-">selectFromNetworkLocation</a></span>(<a href="http://docs. [...]
+<td class="colLast"><span class="typeNameLabel">RackawareEnsemblePlacementPolicy.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicy.html#selectFromNetworkLocation-java.lang.String-java.util.Set-org.apache.bookkeeper.client.ITopologyAwareEnsemblePlacementPolicy.Predicate-org.apache.bookkeeper.client.ITopologyAwareEnsemblePlacementPolicy.Ensemble-">selectFromNetworkLocation</a></span>(<a href="http://docs.oracle.c [...]
                          <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;org.apache.bookkeeper.net.Node&gt;&nbsp;excludeBookies,
                          <a href="../../../../../org/apache/bookkeeper/client/ITopologyAwareEnsemblePlacementPolicy.Predicate.html" title="interface in org.apache.bookkeeper.client">ITopologyAwareEnsemblePlacementPolicy.Predicate</a>&lt;<a href="../../../../../org/apache/bookkeeper/client/TopologyAwareEnsemblePlacementPolicy.BookieNode.html" title="class in org.apache.bookkeeper.client">TopologyAwareEnsemblePlacementPolicy.BookieNode</a>&gt;&nbsp;predicate,
                          <a href="../../../../../org/apache/bookkeeper/client/ITopologyAwareEnsemblePlacementPolicy.Ensemble.html" title="interface in org.apache.bookkeeper.client">ITopologyAwareEnsemblePlacementPolicy.Ensemble</a>&lt;<a href="../../../../../org/apache/bookkeeper/client/TopologyAwareEnsemblePlacementPolicy.BookieNode.html" title="class in org.apache.bookkeeper.client">TopologyAwareEnsemblePlacementPolicy.BookieNode</a>&gt;&nbsp;ensemble)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/bookkeeper/client/TopologyAwareEnsemblePlacementPolicy.BookieNode.html" title="class in org.apache.bookkeeper.client">TopologyAwareEnsemblePlacementPolicy.BookieNode</a></code></td>
-<td class="colLast"><span class="typeNameLabel">RackawareEnsemblePlacementPolicyImpl.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.html#selectFromNetworkLocation-java.lang.String-java.util.Set-org.apache.bookkeeper.client.ITopologyAwareEnsemblePlacementPolicy.Predicate-org.apache.bookkeeper.client.ITopologyAwareEnsemblePlacementPolicy.Ensemble-">selectFromNetworkLocation</a></span>(<a href="http://docs. [...]
+<td class="colLast"><span class="typeNameLabel">RackawareEnsemblePlacementPolicy.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicy.html#selectFromNetworkLocation-java.lang.String-java.util.Set-org.apache.bookkeeper.client.ITopologyAwareEnsemblePlacementPolicy.Predicate-org.apache.bookkeeper.client.ITopologyAwareEnsemblePlacementPolicy.Ensemble-">selectFromNetworkLocation</a></span>(<a href="http://docs.oracle.c [...]
                          <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;org.apache.bookkeeper.net.Node&gt;&nbsp;excludeBookies,
                          <a href="../../../../../org/apache/bookkeeper/client/ITopologyAwareEnsemblePlacementPolicy.Predicate.html" title="interface in org.apache.bookkeeper.client">ITopologyAwareEnsemblePlacementPolicy.Predicate</a>&lt;<a href="../../../../../org/apache/bookkeeper/client/TopologyAwareEnsemblePlacementPolicy.BookieNode.html" title="class in org.apache.bookkeeper.client">TopologyAwareEnsemblePlacementPolicy.BookieNode</a>&gt;&nbsp;predicate,
                          <a href="../../../../../org/apache/bookkeeper/client/ITopologyAwareEnsemblePlacementPolicy.Ensemble.html" title="interface in org.apache.bookkeeper.client">ITopologyAwareEnsemblePlacementPolicy.Ensemble</a>&lt;<a href="../../../../../org/apache/bookkeeper/client/TopologyAwareEnsemblePlacementPolicy.BookieNode.html" title="class in org.apache.bookkeeper.client">TopologyAwareEnsemblePlacementPolicy.BookieNode</a>&gt;&nbsp;ensemble)</code>&nbsp;</td>
diff --git a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/package-tree.html b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/package-tree.html
index bda289d..6a39bbd 100644
--- a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/package-tree.html
+++ b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/package-tree.html
@@ -290,8 +290,8 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" t [...]
 <ul>
-<li type="circle">org.apache.bookkeeper.client.<a href="../../../../org/apache/bookkeeper/client/BookieInfoReader.State.html" title="enum in org.apache.bookkeeper.client"><span class="typeNameLink">BookieInfoReader.State</span></a></li>
 <li type="circle">org.apache.bookkeeper.client.<a href="../../../../org/apache/bookkeeper/client/BookKeeper.DigestType.html" title="enum in org.apache.bookkeeper.client"><span class="typeNameLink">BookKeeper.DigestType</span></a></li>
+<li type="circle">org.apache.bookkeeper.client.<a href="../../../../org/apache/bookkeeper/client/BookieInfoReader.State.html" title="enum in org.apache.bookkeeper.client"><span class="typeNameLink">BookieInfoReader.State</span></a></li>
 </ul>
 </li>
 </ul>
diff --git a/content/docs/latest/api/javadoc/org/apache/bookkeeper/conf/class-use/ClientConfiguration.html b/content/docs/latest/api/javadoc/org/apache/bookkeeper/conf/class-use/ClientConfiguration.html
index 8318ff4..919b76a 100644
--- a/content/docs/latest/api/javadoc/org/apache/bookkeeper/conf/class-use/ClientConfiguration.html
+++ b/content/docs/latest/api/javadoc/org/apache/bookkeeper/conf/class-use/ClientConfiguration.html
@@ -151,24 +151,24 @@
 </td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/bookkeeper/client/EnsemblePlacementPolicy.html" title="interface in org.apache.bookkeeper.client">EnsemblePlacementPolicy</a></code></td>
-<td class="colLast"><span class="typeNameLabel">DefaultEnsemblePlacementPolicy.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/DefaultEnsemblePlacementPolicy.html#initialize-org.apache.bookkeeper.conf.ClientConfiguration-java.util.Optional-io.netty.util.HashedWheelTimer-org.apache.bookkeeper.feature.FeatureProvider-org.apache.bookkeeper.stats.StatsLogger-">initialize</a></span>(<a href="../../../../../org/apache/bookkeeper/conf/ClientConfigu [...]
+<td class="colFirst"><code><a href="../../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.html" title="class in org.apache.bookkeeper.client">RackawareEnsemblePlacementPolicyImpl</a></code></td>
+<td class="colLast"><span class="typeNameLabel">RackawareEnsemblePlacementPolicyImpl.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.html#initialize-org.apache.bookkeeper.conf.ClientConfiguration-java.util.Optional-io.netty.util.HashedWheelTimer-org.apache.bookkeeper.feature.FeatureProvider-org.apache.bookkeeper.stats.StatsLogger-">initialize</a></span>(<a href="../../../../../org/apache/bookkeeper/conf/C [...]
           <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;org.apache.bookkeeper.net.DNSToSwitchMapping&gt;&nbsp;optionalDnsResolver,
           io.netty.util.HashedWheelTimer&nbsp;timer,
           <a href="../../../../../org/apache/bookkeeper/feature/FeatureProvider.html" title="interface in org.apache.bookkeeper.feature">FeatureProvider</a>&nbsp;featureProvider,
           <a href="../../../../../org/apache/bookkeeper/stats/StatsLogger.html" title="interface in org.apache.bookkeeper.stats">StatsLogger</a>&nbsp;statsLogger)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.html" title="class in org.apache.bookkeeper.client">RackawareEnsemblePlacementPolicyImpl</a></code></td>
-<td class="colLast"><span class="typeNameLabel">RackawareEnsemblePlacementPolicyImpl.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.html#initialize-org.apache.bookkeeper.conf.ClientConfiguration-java.util.Optional-io.netty.util.HashedWheelTimer-org.apache.bookkeeper.feature.FeatureProvider-org.apache.bookkeeper.stats.StatsLogger-">initialize</a></span>(<a href="../../../../../org/apache/bookkeeper/conf/C [...]
+<td class="colFirst"><code><a href="../../../../../org/apache/bookkeeper/client/RegionAwareEnsemblePlacementPolicy.html" title="class in org.apache.bookkeeper.client">RegionAwareEnsemblePlacementPolicy</a></code></td>
+<td class="colLast"><span class="typeNameLabel">RegionAwareEnsemblePlacementPolicy.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/RegionAwareEnsemblePlacementPolicy.html#initialize-org.apache.bookkeeper.conf.ClientConfiguration-java.util.Optional-io.netty.util.HashedWheelTimer-org.apache.bookkeeper.feature.FeatureProvider-org.apache.bookkeeper.stats.StatsLogger-">initialize</a></span>(<a href="../../../../../org/apache/bookkeeper/conf/Clien [...]
           <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;org.apache.bookkeeper.net.DNSToSwitchMapping&gt;&nbsp;optionalDnsResolver,
           io.netty.util.HashedWheelTimer&nbsp;timer,
           <a href="../../../../../org/apache/bookkeeper/feature/FeatureProvider.html" title="interface in org.apache.bookkeeper.feature">FeatureProvider</a>&nbsp;featureProvider,
           <a href="../../../../../org/apache/bookkeeper/stats/StatsLogger.html" title="interface in org.apache.bookkeeper.stats">StatsLogger</a>&nbsp;statsLogger)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/bookkeeper/client/RegionAwareEnsemblePlacementPolicy.html" title="class in org.apache.bookkeeper.client">RegionAwareEnsemblePlacementPolicy</a></code></td>
-<td class="colLast"><span class="typeNameLabel">RegionAwareEnsemblePlacementPolicy.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/RegionAwareEnsemblePlacementPolicy.html#initialize-org.apache.bookkeeper.conf.ClientConfiguration-java.util.Optional-io.netty.util.HashedWheelTimer-org.apache.bookkeeper.feature.FeatureProvider-org.apache.bookkeeper.stats.StatsLogger-">initialize</a></span>(<a href="../../../../../org/apache/bookkeeper/conf/Clien [...]
+<td class="colFirst"><code><a href="../../../../../org/apache/bookkeeper/client/EnsemblePlacementPolicy.html" title="interface in org.apache.bookkeeper.client">EnsemblePlacementPolicy</a></code></td>
+<td class="colLast"><span class="typeNameLabel">DefaultEnsemblePlacementPolicy.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/DefaultEnsemblePlacementPolicy.html#initialize-org.apache.bookkeeper.conf.ClientConfiguration-java.util.Optional-io.netty.util.HashedWheelTimer-org.apache.bookkeeper.feature.FeatureProvider-org.apache.bookkeeper.stats.StatsLogger-">initialize</a></span>(<a href="../../../../../org/apache/bookkeeper/conf/ClientConfigu [...]
           <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;org.apache.bookkeeper.net.DNSToSwitchMapping&gt;&nbsp;optionalDnsResolver,
           io.netty.util.HashedWheelTimer&nbsp;timer,
           <a href="../../../../../org/apache/bookkeeper/feature/FeatureProvider.html" title="interface in org.apache.bookkeeper.feature">FeatureProvider</a>&nbsp;featureProvider,
diff --git a/content/docs/latest/api/javadoc/org/apache/bookkeeper/feature/class-use/FeatureProvider.html b/content/docs/latest/api/javadoc/org/apache/bookkeeper/feature/class-use/FeatureProvider.html
index 09eefd5..26482d4 100644
--- a/content/docs/latest/api/javadoc/org/apache/bookkeeper/feature/class-use/FeatureProvider.html
+++ b/content/docs/latest/api/javadoc/org/apache/bookkeeper/feature/class-use/FeatureProvider.html
@@ -109,17 +109,17 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code>protected <a href="../../../../../org/apache/bookkeeper/feature/FeatureProvider.html" title="interface in org.apache.bookkeeper.feature">FeatureProvider</a></code></td>
-<td class="colLast"><span class="typeNameLabel">RegionAwareEnsemblePlacementPolicy.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/RegionAwareEnsemblePlacementPolicy.html#featureProvider">featureProvider</a></span></code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
 <td class="colFirst"><code>(package private) <a href="../../../../../org/apache/bookkeeper/feature/FeatureProvider.html" title="interface in org.apache.bookkeeper.feature">FeatureProvider</a></code></td>
 <td class="colLast"><span class="typeNameLabel">BookKeeper.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/BookKeeper.html#featureProvider">featureProvider</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>(package private) <a href="../../../../../org/apache/bookkeeper/feature/FeatureProvider.html" title="interface in org.apache.bookkeeper.feature">FeatureProvider</a></code></td>
 <td class="colLast"><span class="typeNameLabel">BookKeeper.Builder.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/BookKeeper.Builder.html#featureProvider">featureProvider</a></span></code>&nbsp;</td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><code>protected <a href="../../../../../org/apache/bookkeeper/feature/FeatureProvider.html" title="interface in org.apache.bookkeeper.feature">FeatureProvider</a></code></td>
+<td class="colLast"><span class="typeNameLabel">RegionAwareEnsemblePlacementPolicy.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/RegionAwareEnsemblePlacementPolicy.html#featureProvider">featureProvider</a></span></code>&nbsp;</td>
+</tr>
 </tbody>
 </table>
 <table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
@@ -136,24 +136,24 @@
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/bookkeeper/client/EnsemblePlacementPolicy.html" title="interface in org.apache.bookkeeper.client">EnsemblePlacementPolicy</a></code></td>
-<td class="colLast"><span class="typeNameLabel">DefaultEnsemblePlacementPolicy.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/DefaultEnsemblePlacementPolicy.html#initialize-org.apache.bookkeeper.conf.ClientConfiguration-java.util.Optional-io.netty.util.HashedWheelTimer-org.apache.bookkeeper.feature.FeatureProvider-org.apache.bookkeeper.stats.StatsLogger-">initialize</a></span>(<a href="../../../../../org/apache/bookkeeper/conf/ClientConfigu [...]
+<td class="colFirst"><code><a href="../../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.html" title="class in org.apache.bookkeeper.client">RackawareEnsemblePlacementPolicyImpl</a></code></td>
+<td class="colLast"><span class="typeNameLabel">RackawareEnsemblePlacementPolicyImpl.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.html#initialize-org.apache.bookkeeper.conf.ClientConfiguration-java.util.Optional-io.netty.util.HashedWheelTimer-org.apache.bookkeeper.feature.FeatureProvider-org.apache.bookkeeper.stats.StatsLogger-">initialize</a></span>(<a href="../../../../../org/apache/bookkeeper/conf/C [...]
           <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;org.apache.bookkeeper.net.DNSToSwitchMapping&gt;&nbsp;optionalDnsResolver,
           io.netty.util.HashedWheelTimer&nbsp;timer,
           <a href="../../../../../org/apache/bookkeeper/feature/FeatureProvider.html" title="interface in org.apache.bookkeeper.feature">FeatureProvider</a>&nbsp;featureProvider,
           <a href="../../../../../org/apache/bookkeeper/stats/StatsLogger.html" title="interface in org.apache.bookkeeper.stats">StatsLogger</a>&nbsp;statsLogger)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.html" title="class in org.apache.bookkeeper.client">RackawareEnsemblePlacementPolicyImpl</a></code></td>
-<td class="colLast"><span class="typeNameLabel">RackawareEnsemblePlacementPolicyImpl.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.html#initialize-org.apache.bookkeeper.conf.ClientConfiguration-java.util.Optional-io.netty.util.HashedWheelTimer-org.apache.bookkeeper.feature.FeatureProvider-org.apache.bookkeeper.stats.StatsLogger-">initialize</a></span>(<a href="../../../../../org/apache/bookkeeper/conf/C [...]
+<td class="colFirst"><code><a href="../../../../../org/apache/bookkeeper/client/RegionAwareEnsemblePlacementPolicy.html" title="class in org.apache.bookkeeper.client">RegionAwareEnsemblePlacementPolicy</a></code></td>
+<td class="colLast"><span class="typeNameLabel">RegionAwareEnsemblePlacementPolicy.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/RegionAwareEnsemblePlacementPolicy.html#initialize-org.apache.bookkeeper.conf.ClientConfiguration-java.util.Optional-io.netty.util.HashedWheelTimer-org.apache.bookkeeper.feature.FeatureProvider-org.apache.bookkeeper.stats.StatsLogger-">initialize</a></span>(<a href="../../../../../org/apache/bookkeeper/conf/Clien [...]
           <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;org.apache.bookkeeper.net.DNSToSwitchMapping&gt;&nbsp;optionalDnsResolver,
           io.netty.util.HashedWheelTimer&nbsp;timer,
           <a href="../../../../../org/apache/bookkeeper/feature/FeatureProvider.html" title="interface in org.apache.bookkeeper.feature">FeatureProvider</a>&nbsp;featureProvider,
           <a href="../../../../../org/apache/bookkeeper/stats/StatsLogger.html" title="interface in org.apache.bookkeeper.stats">StatsLogger</a>&nbsp;statsLogger)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/bookkeeper/client/RegionAwareEnsemblePlacementPolicy.html" title="class in org.apache.bookkeeper.client">RegionAwareEnsemblePlacementPolicy</a></code></td>
-<td class="colLast"><span class="typeNameLabel">RegionAwareEnsemblePlacementPolicy.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/RegionAwareEnsemblePlacementPolicy.html#initialize-org.apache.bookkeeper.conf.ClientConfiguration-java.util.Optional-io.netty.util.HashedWheelTimer-org.apache.bookkeeper.feature.FeatureProvider-org.apache.bookkeeper.stats.StatsLogger-">initialize</a></span>(<a href="../../../../../org/apache/bookkeeper/conf/Clien [...]
+<td class="colFirst"><code><a href="../../../../../org/apache/bookkeeper/client/EnsemblePlacementPolicy.html" title="interface in org.apache.bookkeeper.client">EnsemblePlacementPolicy</a></code></td>
+<td class="colLast"><span class="typeNameLabel">DefaultEnsemblePlacementPolicy.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/DefaultEnsemblePlacementPolicy.html#initialize-org.apache.bookkeeper.conf.ClientConfiguration-java.util.Optional-io.netty.util.HashedWheelTimer-org.apache.bookkeeper.feature.FeatureProvider-org.apache.bookkeeper.stats.StatsLogger-">initialize</a></span>(<a href="../../../../../org/apache/bookkeeper/conf/ClientConfigu [...]
           <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;org.apache.bookkeeper.net.DNSToSwitchMapping&gt;&nbsp;optionalDnsResolver,
           io.netty.util.HashedWheelTimer&nbsp;timer,
           <a href="../../../../../org/apache/bookkeeper/feature/FeatureProvider.html" title="interface in org.apache.bookkeeper.feature">FeatureProvider</a>&nbsp;featureProvider,
diff --git a/content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/class-use/Counter.html b/content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/class-use/Counter.html
index 701b7df..20ab11f 100644
--- a/content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/class-use/Counter.html
+++ b/content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/class-use/Counter.html
@@ -198,15 +198,15 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/bookkeeper/stats/Counter.html" title="interface in org.apache.bookkeeper.stats">Counter</a></code></td>
-<td class="colLast"><span class="typeNameLabel">CachingStatsLogger.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/stats/CachingStatsLogger.html#getCounter-java.lang.String-">getCounter</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">NullStatsLogger.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/stats/NullStatsLogger.html#getCounter-java.lang.String-">getCounter</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/bookkeeper/stats/Counter.html" title="interface in org.apache.bookkeeper.stats">Counter</a></code></td>
-<td class="colLast"><span class="typeNameLabel">StatsLogger.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/stats/StatsLogger.html#getCounter-java.lang.String-">getCounter</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">CachingStatsLogger.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/stats/CachingStatsLogger.html#getCounter-java.lang.String-">getCounter</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/bookkeeper/stats/Counter.html" title="interface in org.apache.bookkeeper.stats">Counter</a></code></td>
-<td class="colLast"><span class="typeNameLabel">NullStatsLogger.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/stats/NullStatsLogger.html#getCounter-java.lang.String-">getCounter</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">StatsLogger.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/stats/StatsLogger.html#getCounter-java.lang.String-">getCounter</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>&nbsp;</td>
 </tr>
 </tbody>
 </table>
diff --git a/content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/class-use/Gauge.html b/content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/class-use/Gauge.html
index f4e1bf6..3b3e0c0 100644
--- a/content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/class-use/Gauge.html
+++ b/content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/class-use/Gauge.html
@@ -134,21 +134,21 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>&lt;T extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Number.html?is-external=true" title="class or interface in java.lang">Number</a>&gt;<br>void</code></td>
-<td class="colLast"><span class="typeNameLabel">CachingStatsLogger.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/stats/CachingStatsLogger.html#registerGauge-java.lang.String-org.apache.bookkeeper.stats.Gauge-">registerGauge</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+<td class="colLast"><span class="typeNameLabel">NullStatsLogger.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/stats/NullStatsLogger.html#registerGauge-java.lang.String-org.apache.bookkeeper.stats.Gauge-">registerGauge</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
              <a href="../../../../../org/apache/bookkeeper/stats/Gauge.html" title="interface in org.apache.bookkeeper.stats">Gauge</a>&lt;T&gt;&nbsp;gauge)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>&lt;T extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Number.html?is-external=true" title="class or interface in java.lang">Number</a>&gt;<br>void</code></td>
+<td class="colLast"><span class="typeNameLabel">CachingStatsLogger.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/stats/CachingStatsLogger.html#registerGauge-java.lang.String-org.apache.bookkeeper.stats.Gauge-">registerGauge</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+             <a href="../../../../../org/apache/bookkeeper/stats/Gauge.html" title="interface in org.apache.bookkeeper.stats">Gauge</a>&lt;T&gt;&nbsp;gauge)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>&lt;T extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Number.html?is-external=true" title="class or interface in java.lang">Number</a>&gt;<br>void</code></td>
 <td class="colLast"><span class="typeNameLabel">StatsLogger.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/stats/StatsLogger.html#registerGauge-java.lang.String-org.apache.bookkeeper.stats.Gauge-">registerGauge</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
              <a href="../../../../../org/apache/bookkeeper/stats/Gauge.html" title="interface in org.apache.bookkeeper.stats">Gauge</a>&lt;T&gt;&nbsp;gauge)</code>
 <div class="block">Register given <i>gauge</i> as name <i>name</i>.</div>
 </td>
 </tr>
-<tr class="altColor">
-<td class="colFirst"><code>&lt;T extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Number.html?is-external=true" title="class or interface in java.lang">Number</a>&gt;<br>void</code></td>
-<td class="colLast"><span class="typeNameLabel">NullStatsLogger.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/stats/NullStatsLogger.html#registerGauge-java.lang.String-org.apache.bookkeeper.stats.Gauge-">registerGauge</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
-             <a href="../../../../../org/apache/bookkeeper/stats/Gauge.html" title="interface in org.apache.bookkeeper.stats">Gauge</a>&lt;T&gt;&nbsp;gauge)</code>&nbsp;</td>
-</tr>
 <tr class="rowColor">
 <td class="colFirst"><code>&lt;T extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Number.html?is-external=true" title="class or interface in java.lang">Number</a>&gt;<br>void</code></td>
 <td class="colLast"><span class="typeNameLabel">PrometheusStatsLogger.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/stats/PrometheusStatsLogger.html#unregisterGauge-java.lang.String-org.apache.bookkeeper.stats.Gauge-">unregisterGauge</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
@@ -161,21 +161,21 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>&lt;T extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Number.html?is-external=true" title="class or interface in java.lang">Number</a>&gt;<br>void</code></td>
-<td class="colLast"><span class="typeNameLabel">CachingStatsLogger.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/stats/CachingStatsLogger.html#unregisterGauge-java.lang.String-org.apache.bookkeeper.stats.Gauge-">unregisterGauge</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+<td class="colLast"><span class="typeNameLabel">NullStatsLogger.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/stats/NullStatsLogger.html#unregisterGauge-java.lang.String-org.apache.bookkeeper.stats.Gauge-">unregisterGauge</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
                <a href="../../../../../org/apache/bookkeeper/stats/Gauge.html" title="interface in org.apache.bookkeeper.stats">Gauge</a>&lt;T&gt;&nbsp;gauge)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>&lt;T extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Number.html?is-external=true" title="class or interface in java.lang">Number</a>&gt;<br>void</code></td>
+<td class="colLast"><span class="typeNameLabel">CachingStatsLogger.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/stats/CachingStatsLogger.html#unregisterGauge-java.lang.String-org.apache.bookkeeper.stats.Gauge-">unregisterGauge</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+               <a href="../../../../../org/apache/bookkeeper/stats/Gauge.html" title="interface in org.apache.bookkeeper.stats">Gauge</a>&lt;T&gt;&nbsp;gauge)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>&lt;T extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Number.html?is-external=true" title="class or interface in java.lang">Number</a>&gt;<br>void</code></td>
 <td class="colLast"><span class="typeNameLabel">StatsLogger.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/stats/StatsLogger.html#unregisterGauge-java.lang.String-org.apache.bookkeeper.stats.Gauge-">unregisterGauge</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
                <a href="../../../../../org/apache/bookkeeper/stats/Gauge.html" title="interface in org.apache.bookkeeper.stats">Gauge</a>&lt;T&gt;&nbsp;gauge)</code>
 <div class="block">Unregister given <i>gauge</i> from name <i>name</i>.</div>
 </td>
 </tr>
-<tr class="rowColor">
-<td class="colFirst"><code>&lt;T extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Number.html?is-external=true" title="class or interface in java.lang">Number</a>&gt;<br>void</code></td>
-<td class="colLast"><span class="typeNameLabel">NullStatsLogger.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/stats/NullStatsLogger.html#unregisterGauge-java.lang.String-org.apache.bookkeeper.stats.Gauge-">unregisterGauge</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
-               <a href="../../../../../org/apache/bookkeeper/stats/Gauge.html" title="interface in org.apache.bookkeeper.stats">Gauge</a>&lt;T&gt;&nbsp;gauge)</code>&nbsp;</td>
-</tr>
 </tbody>
 </table>
 </li>
diff --git a/content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/class-use/OpStatsData.html b/content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/class-use/OpStatsData.html
index b1e352b..6250bed 100644
--- a/content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/class-use/OpStatsData.html
+++ b/content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/class-use/OpStatsData.html
@@ -147,11 +147,11 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/bookkeeper/stats/OpStatsData.html" title="class in org.apache.bookkeeper.stats">OpStatsData</a></code></td>
-<td class="colLast"><span class="typeNameLabel">OpStatsLogger.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/stats/OpStatsLogger.html#toOpStatsData--">toOpStatsData</a></span>()</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">NullStatsLogger.NullOpStatsLogger.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/stats/NullStatsLogger.NullOpStatsLogger.html#toOpStatsData--">toOpStatsData</a></span>()</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/bookkeeper/stats/OpStatsData.html" title="class in org.apache.bookkeeper.stats">OpStatsData</a></code></td>
-<td class="colLast"><span class="typeNameLabel">NullStatsLogger.NullOpStatsLogger.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/stats/NullStatsLogger.NullOpStatsLogger.html#toOpStatsData--">toOpStatsData</a></span>()</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">OpStatsLogger.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/stats/OpStatsLogger.html#toOpStatsData--">toOpStatsData</a></span>()</code>&nbsp;</td>
 </tr>
 </tbody>
 </table>
diff --git a/content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/class-use/OpStatsLogger.html b/content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/class-use/OpStatsLogger.html
index fbdd481..6859678 100644
--- a/content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/class-use/OpStatsLogger.html
+++ b/content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/class-use/OpStatsLogger.html
@@ -271,15 +271,15 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/bookkeeper/stats/OpStatsLogger.html" title="interface in org.apache.bookkeeper.stats">OpStatsLogger</a></code></td>
-<td class="colLast"><span class="typeNameLabel">CachingStatsLogger.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/stats/CachingStatsLogger.html#getOpStatsLogger-java.lang.String-">getOpStatsLogger</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">NullStatsLogger.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/stats/NullStatsLogger.html#getOpStatsLogger-java.lang.String-">getOpStatsLogger</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/bookkeeper/stats/OpStatsLogger.html" title="interface in org.apache.bookkeeper.stats">OpStatsLogger</a></code></td>
-<td class="colLast"><span class="typeNameLabel">StatsLogger.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/stats/StatsLogger.html#getOpStatsLogger-java.lang.String-">getOpStatsLogger</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">CachingStatsLogger.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/stats/CachingStatsLogger.html#getOpStatsLogger-java.lang.String-">getOpStatsLogger</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/bookkeeper/stats/OpStatsLogger.html" title="interface in org.apache.bookkeeper.stats">OpStatsLogger</a></code></td>
-<td class="colLast"><span class="typeNameLabel">NullStatsLogger.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/stats/NullStatsLogger.html#getOpStatsLogger-java.lang.String-">getOpStatsLogger</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">StatsLogger.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/stats/StatsLogger.html#getOpStatsLogger-java.lang.String-">getOpStatsLogger</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>&nbsp;</td>
 </tr>
 </tbody>
 </table>
diff --git a/content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/class-use/StatsLogger.html b/content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/class-use/StatsLogger.html
index 8efadad..7693ef3 100644
--- a/content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/class-use/StatsLogger.html
+++ b/content/docs/latest/api/javadoc/org/apache/bookkeeper/stats/class-use/StatsLogger.html
@@ -129,13 +129,13 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code>protected <a href="../../../../../org/apache/bookkeeper/stats/StatsLogger.html" title="interface in org.apache.bookkeeper.stats">StatsLogger</a></code></td>
-<td class="colLast"><span class="typeNameLabel">RackawareEnsemblePlacementPolicyImpl.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.html#statsLogger">statsLogger</a></span></code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
 <td class="colFirst"><code>(package private) <a href="../../../../../org/apache/bookkeeper/stats/StatsLogger.html" title="interface in org.apache.bookkeeper.stats">StatsLogger</a></code></td>
 <td class="colLast"><span class="typeNameLabel">BookKeeper.Builder.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/BookKeeper.Builder.html#statsLogger">statsLogger</a></span></code>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code>protected <a href="../../../../../org/apache/bookkeeper/stats/StatsLogger.html" title="interface in org.apache.bookkeeper.stats">StatsLogger</a></code></td>
+<td class="colLast"><span class="typeNameLabel">RackawareEnsemblePlacementPolicyImpl.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.html#statsLogger">statsLogger</a></span></code>&nbsp;</td>
+</tr>
 </tbody>
 </table>
 <table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
@@ -159,24 +159,24 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/bookkeeper/client/EnsemblePlacementPolicy.html" title="interface in org.apache.bookkeeper.client">EnsemblePlacementPolicy</a></code></td>
-<td class="colLast"><span class="typeNameLabel">DefaultEnsemblePlacementPolicy.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/DefaultEnsemblePlacementPolicy.html#initialize-org.apache.bookkeeper.conf.ClientConfiguration-java.util.Optional-io.netty.util.HashedWheelTimer-org.apache.bookkeeper.feature.FeatureProvider-org.apache.bookkeeper.stats.StatsLogger-">initialize</a></span>(<a href="../../../../../org/apache/bookkeeper/conf/ClientConfigu [...]
+<td class="colFirst"><code><a href="../../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.html" title="class in org.apache.bookkeeper.client">RackawareEnsemblePlacementPolicyImpl</a></code></td>
+<td class="colLast"><span class="typeNameLabel">RackawareEnsemblePlacementPolicyImpl.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.html#initialize-org.apache.bookkeeper.conf.ClientConfiguration-java.util.Optional-io.netty.util.HashedWheelTimer-org.apache.bookkeeper.feature.FeatureProvider-org.apache.bookkeeper.stats.StatsLogger-">initialize</a></span>(<a href="../../../../../org/apache/bookkeeper/conf/C [...]
           <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;org.apache.bookkeeper.net.DNSToSwitchMapping&gt;&nbsp;optionalDnsResolver,
           io.netty.util.HashedWheelTimer&nbsp;timer,
           <a href="../../../../../org/apache/bookkeeper/feature/FeatureProvider.html" title="interface in org.apache.bookkeeper.feature">FeatureProvider</a>&nbsp;featureProvider,
           <a href="../../../../../org/apache/bookkeeper/stats/StatsLogger.html" title="interface in org.apache.bookkeeper.stats">StatsLogger</a>&nbsp;statsLogger)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.html" title="class in org.apache.bookkeeper.client">RackawareEnsemblePlacementPolicyImpl</a></code></td>
-<td class="colLast"><span class="typeNameLabel">RackawareEnsemblePlacementPolicyImpl.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.html#initialize-org.apache.bookkeeper.conf.ClientConfiguration-java.util.Optional-io.netty.util.HashedWheelTimer-org.apache.bookkeeper.feature.FeatureProvider-org.apache.bookkeeper.stats.StatsLogger-">initialize</a></span>(<a href="../../../../../org/apache/bookkeeper/conf/C [...]
+<td class="colFirst"><code><a href="../../../../../org/apache/bookkeeper/client/RegionAwareEnsemblePlacementPolicy.html" title="class in org.apache.bookkeeper.client">RegionAwareEnsemblePlacementPolicy</a></code></td>
+<td class="colLast"><span class="typeNameLabel">RegionAwareEnsemblePlacementPolicy.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/RegionAwareEnsemblePlacementPolicy.html#initialize-org.apache.bookkeeper.conf.ClientConfiguration-java.util.Optional-io.netty.util.HashedWheelTimer-org.apache.bookkeeper.feature.FeatureProvider-org.apache.bookkeeper.stats.StatsLogger-">initialize</a></span>(<a href="../../../../../org/apache/bookkeeper/conf/Clien [...]
           <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;org.apache.bookkeeper.net.DNSToSwitchMapping&gt;&nbsp;optionalDnsResolver,
           io.netty.util.HashedWheelTimer&nbsp;timer,
           <a href="../../../../../org/apache/bookkeeper/feature/FeatureProvider.html" title="interface in org.apache.bookkeeper.feature">FeatureProvider</a>&nbsp;featureProvider,
           <a href="../../../../../org/apache/bookkeeper/stats/StatsLogger.html" title="interface in org.apache.bookkeeper.stats">StatsLogger</a>&nbsp;statsLogger)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/bookkeeper/client/RegionAwareEnsemblePlacementPolicy.html" title="class in org.apache.bookkeeper.client">RegionAwareEnsemblePlacementPolicy</a></code></td>
-<td class="colLast"><span class="typeNameLabel">RegionAwareEnsemblePlacementPolicy.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/RegionAwareEnsemblePlacementPolicy.html#initialize-org.apache.bookkeeper.conf.ClientConfiguration-java.util.Optional-io.netty.util.HashedWheelTimer-org.apache.bookkeeper.feature.FeatureProvider-org.apache.bookkeeper.stats.StatsLogger-">initialize</a></span>(<a href="../../../../../org/apache/bookkeeper/conf/Clien [...]
+<td class="colFirst"><code><a href="../../../../../org/apache/bookkeeper/client/EnsemblePlacementPolicy.html" title="interface in org.apache.bookkeeper.client">EnsemblePlacementPolicy</a></code></td>
+<td class="colLast"><span class="typeNameLabel">DefaultEnsemblePlacementPolicy.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/DefaultEnsemblePlacementPolicy.html#initialize-org.apache.bookkeeper.conf.ClientConfiguration-java.util.Optional-io.netty.util.HashedWheelTimer-org.apache.bookkeeper.feature.FeatureProvider-org.apache.bookkeeper.stats.StatsLogger-">initialize</a></span>(<a href="../../../../../org/apache/bookkeeper/conf/ClientConfigu [...]
           <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util">Optional</a>&lt;org.apache.bookkeeper.net.DNSToSwitchMapping&gt;&nbsp;optionalDnsResolver,
           io.netty.util.HashedWheelTimer&nbsp;timer,
           <a href="../../../../../org/apache/bookkeeper/feature/FeatureProvider.html" title="interface in org.apache.bookkeeper.feature">FeatureProvider</a>&nbsp;featureProvider,
@@ -193,26 +193,26 @@
 </td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>protected <a href="../../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicy.html" title="class in org.apache.bookkeeper.client">RackawareEnsemblePlacementPolicy</a></code></td>
-<td class="colLast"><span class="typeNameLabel">RackawareEnsemblePlacementPolicy.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicy.html#initialize-org.apache.bookkeeper.net.DNSToSwitchMapping-io.netty.util.HashedWheelTimer-boolean-int-boolean-int-org.apache.bookkeeper.stats.StatsLogger-">initialize</a></span>(org.apache.bookkeeper.net.DNSToSwitchMapping&nbsp;dnsResolver,
+<td class="colFirst"><code>protected <a href="../../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.html" title="class in org.apache.bookkeeper.client">RackawareEnsemblePlacementPolicyImpl</a></code></td>
+<td class="colLast"><span class="typeNameLabel">RackawareEnsemblePlacementPolicyImpl.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.html#initialize-org.apache.bookkeeper.net.DNSToSwitchMapping-io.netty.util.HashedWheelTimer-boolean-int-boolean-int-org.apache.bookkeeper.stats.StatsLogger-">initialize</a></span>(org.apache.bookkeeper.net.DNSToSwitchMapping&nbsp;dnsResolver,
           io.netty.util.HashedWheelTimer&nbsp;timer,
           boolean&nbsp;reorderReadsRandom,
           int&nbsp;stabilizePeriodSeconds,
           boolean&nbsp;isWeighted,
           int&nbsp;maxWeightMultiple,
-          <a href="../../../../../org/apache/bookkeeper/stats/StatsLogger.html" title="interface in org.apache.bookkeeper.stats">StatsLogger</a>&nbsp;statsLogger)</code>&nbsp;</td>
+          <a href="../../../../../org/apache/bookkeeper/stats/StatsLogger.html" title="interface in org.apache.bookkeeper.stats">StatsLogger</a>&nbsp;statsLogger)</code>
+<div class="block">Initialize the policy.</div>
+</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>protected <a href="../../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.html" title="class in org.apache.bookkeeper.client">RackawareEnsemblePlacementPolicyImpl</a></code></td>
-<td class="colLast"><span class="typeNameLabel">RackawareEnsemblePlacementPolicyImpl.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.html#initialize-org.apache.bookkeeper.net.DNSToSwitchMapping-io.netty.util.HashedWheelTimer-boolean-int-boolean-int-org.apache.bookkeeper.stats.StatsLogger-">initialize</a></span>(org.apache.bookkeeper.net.DNSToSwitchMapping&nbsp;dnsResolver,
+<td class="colFirst"><code>protected <a href="../../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicy.html" title="class in org.apache.bookkeeper.client">RackawareEnsemblePlacementPolicy</a></code></td>
+<td class="colLast"><span class="typeNameLabel">RackawareEnsemblePlacementPolicy.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicy.html#initialize-org.apache.bookkeeper.net.DNSToSwitchMapping-io.netty.util.HashedWheelTimer-boolean-int-boolean-int-org.apache.bookkeeper.stats.StatsLogger-">initialize</a></span>(org.apache.bookkeeper.net.DNSToSwitchMapping&nbsp;dnsResolver,
           io.netty.util.HashedWheelTimer&nbsp;timer,
           boolean&nbsp;reorderReadsRandom,
           int&nbsp;stabilizePeriodSeconds,
           boolean&nbsp;isWeighted,
           int&nbsp;maxWeightMultiple,
-          <a href="../../../../../org/apache/bookkeeper/stats/StatsLogger.html" title="interface in org.apache.bookkeeper.stats">StatsLogger</a>&nbsp;statsLogger)</code>
-<div class="block">Initialize the policy.</div>
-</td>
+          <a href="../../../../../org/apache/bookkeeper/stats/StatsLogger.html" title="interface in org.apache.bookkeeper.stats">StatsLogger</a>&nbsp;statsLogger)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/bookkeeper/client/BookKeeper.Builder.html" title="class in org.apache.bookkeeper.client">BookKeeper.Builder</a></code></td>
@@ -341,14 +341,14 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/bookkeeper/stats/StatsLogger.html" title="interface in org.apache.bookkeeper.stats">StatsLogger</a></code></td>
-<td class="colLast"><span class="typeNameLabel">NullStatsProvider.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/stats/NullStatsProvider.html#getStatsLogger-java.lang.String-">getStatsLogger</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;scope)</code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/bookkeeper/stats/StatsLogger.html" title="interface in org.apache.bookkeeper.stats">StatsLogger</a></code></td>
 <td class="colLast"><span class="typeNameLabel">StatsProvider.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/stats/StatsProvider.html#getStatsLogger-java.lang.String-">getStatsLogger</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;scope)</code>
 <div class="block">Return the stats logger to a given <i>scope</i>.</div>
 </td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/bookkeeper/stats/StatsLogger.html" title="interface in org.apache.bookkeeper.stats">StatsLogger</a></code></td>
+<td class="colLast"><span class="typeNameLabel">NullStatsProvider.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/stats/NullStatsProvider.html#getStatsLogger-java.lang.String-">getStatsLogger</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;scope)</code>&nbsp;</td>
+</tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/bookkeeper/stats/StatsLogger.html" title="interface in org.apache.bookkeeper.stats">StatsLogger</a></code></td>
 <td class="colLast"><span class="typeNameLabel">PrometheusStatsLogger.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/stats/PrometheusStatsLogger.html#scope-java.lang.String-">scope</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>&nbsp;</td>
@@ -359,17 +359,17 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/bookkeeper/stats/StatsLogger.html" title="interface in org.apache.bookkeeper.stats">StatsLogger</a></code></td>
-<td class="colLast"><span class="typeNameLabel">CachingStatsLogger.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/stats/CachingStatsLogger.html#scope-java.lang.String-">scope</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">NullStatsLogger.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/stats/NullStatsLogger.html#scope-java.lang.String-">scope</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/bookkeeper/stats/StatsLogger.html" title="interface in org.apache.bookkeeper.stats">StatsLogger</a></code></td>
-<td class="colLast"><span class="typeNameLabel">StatsLogger.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/stats/StatsLogger.html#scope-java.lang.String-">scope</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
-<div class="block">Provide the stats logger under scope <i>name</i>.</div>
-</td>
+<td class="colLast"><span class="typeNameLabel">CachingStatsLogger.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/stats/CachingStatsLogger.html#scope-java.lang.String-">scope</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/bookkeeper/stats/StatsLogger.html" title="interface in org.apache.bookkeeper.stats">StatsLogger</a></code></td>
-<td class="colLast"><span class="typeNameLabel">NullStatsLogger.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/stats/NullStatsLogger.html#scope-java.lang.String-">scope</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">StatsLogger.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/stats/StatsLogger.html#scope-java.lang.String-">scope</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
+<div class="block">Provide the stats logger under scope <i>name</i>.</div>
+</td>
 </tr>
 </tbody>
 </table>
@@ -392,21 +392,21 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">CachingStatsLogger.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/stats/CachingStatsLogger.html#removeScope-java.lang.String-org.apache.bookkeeper.stats.StatsLogger-">removeScope</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+<td class="colLast"><span class="typeNameLabel">NullStatsLogger.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/stats/NullStatsLogger.html#removeScope-java.lang.String-org.apache.bookkeeper.stats.StatsLogger-">removeScope</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
            <a href="../../../../../org/apache/bookkeeper/stats/StatsLogger.html" title="interface in org.apache.bookkeeper.stats">StatsLogger</a>&nbsp;statsLogger)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
+<td class="colLast"><span class="typeNameLabel">CachingStatsLogger.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/stats/CachingStatsLogger.html#removeScope-java.lang.String-org.apache.bookkeeper.stats.StatsLogger-">removeScope</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
+           <a href="../../../../../org/apache/bookkeeper/stats/StatsLogger.html" title="interface in org.apache.bookkeeper.stats">StatsLogger</a>&nbsp;statsLogger)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">StatsLogger.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/stats/StatsLogger.html#removeScope-java.lang.String-org.apache.bookkeeper.stats.StatsLogger-">removeScope</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
            <a href="../../../../../org/apache/bookkeeper/stats/StatsLogger.html" title="interface in org.apache.bookkeeper.stats">StatsLogger</a>&nbsp;statsLogger)</code>
 <div class="block">Remove the given <i>statsLogger</i> for scope <i>name</i>.</div>
 </td>
 </tr>
-<tr class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">NullStatsLogger.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/stats/NullStatsLogger.html#removeScope-java.lang.String-org.apache.bookkeeper.stats.StatsLogger-">removeScope</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
-           <a href="../../../../../org/apache/bookkeeper/stats/StatsLogger.html" title="interface in org.apache.bookkeeper.stats">StatsLogger</a>&nbsp;statsLogger)</code>&nbsp;</td>
-</tr>
 </tbody>
 </table>
 <table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
diff --git a/content/docs/latest/api/javadoc/overview-tree.html b/content/docs/latest/api/javadoc/overview-tree.html
index 794c87c..a3ef299 100644
--- a/content/docs/latest/api/javadoc/overview-tree.html
+++ b/content/docs/latest/api/javadoc/overview-tree.html
@@ -374,8 +374,8 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" t [...]
 <ul>
-<li type="circle">org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/BookieInfoReader.State.html" title="enum in org.apache.bookkeeper.client"><span class="typeNameLink">BookieInfoReader.State</span></a></li>
 <li type="circle">org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/BookKeeper.DigestType.html" title="enum in org.apache.bookkeeper.client"><span class="typeNameLink">BookKeeper.DigestType</span></a></li>
+<li type="circle">org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/BookieInfoReader.State.html" title="enum in org.apache.bookkeeper.client"><span class="typeNameLink">BookieInfoReader.State</span></a></li>
 </ul>
 </li>
 </ul>
diff --git a/content/releases/index.html b/content/releases/index.html
index 4ae2404..9df9345 100644
--- a/content/releases/index.html
+++ b/content/releases/index.html
@@ -249,9 +249,15 @@ in <a href="/docs/latest/getting-started/run-locally">Run BookKeeper locally</a>
 
 <h2 id="news">News</h2>
 
-<h3 id="date-release-450-available">[date] Release 4.5.0 available</h3>
+<h3 id="10-august-2017-release-450-available">10 August, 2017: Release 4.5.0 available</h3>
 
-<p>[INSERT SUMMARY]</p>
+<p>This is the fifth release of BookKeeper as an Apache Top Level Project!</p>
+
+<p>The 4.5.0 release incorporates hundreds of new fixes, improvements, and features since previous major release, 4.4.0,
+which was released over a year ago. It is a big milestone in Apache BookKeeper community, converging from three
+main branches (Salesforce, Twitter and Yahoo).</p>
+
+<p>See <a href="../docs/4.5.0/overview/releaseNotes">BookKeeper 4.5.0 Release Notes</a> for details.</p>
 
 <h3 id="16-may-2016-release-440-available">16 May, 2016: release 4.4.0 available</h3>
 

-- 
To stop receiving notification emails like this one, please contact
['"commits@bookkeeper.apache.org" <co...@bookkeeper.apache.org>'].