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 2018/06/18 07:23:59 UTC

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

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 2546dc1  Updated site at revision f7dce11
2546dc1 is described below

commit 2546dc19be7094107df6921da540c0ea905401c6
Author: jenkins <bu...@apache.org>
AuthorDate: Mon Jun 18 07:23:56 2018 +0000

    Updated site at revision f7dce11
---
 .../docs/latest/api/javadoc/allclasses-frame.html  |   2 +
 .../latest/api/javadoc/allclasses-noframe.html     |   2 +
 .../docs/latest/api/javadoc/constant-values.html   |  69 +++---
 content/docs/latest/api/javadoc/index-all.html     |  71 ++++++-
 .../bookkeeper/client/BookKeeper.DigestType.html   |  25 ++-
 .../org/apache/bookkeeper/client/BookKeeper.html   |  79 ++++---
 .../bookkeeper/client/BookKeeperClientStats.html   |  99 ++++++---
 .../bookkeeper/client/DistributionSchedule.html    |  42 ++--
 ...tLacFlushPolicy.ExplicitLacFlushPolicyImpl.html |   4 +-
 ...tLacFlushPolicyImpl.html => ForceLedgerOp.html} | 231 ++++++++++++---------
 .../ITopologyAwareEnsemblePlacementPolicy.html     |   4 +-
 .../org/apache/bookkeeper/client/LedgerHandle.html | 116 +++++++----
 .../apache/bookkeeper/client/LedgerHandleAdv.html  |  11 +-
 .../bookkeeper/client/ReadOnlyLedgerHandle.html    |   4 +-
 .../client/RoundRobinDistributionSchedule.html     |  53 +++--
 .../apache/bookkeeper/client/api/DigestType.html   |   4 +-
 .../api/{Handle.html => ForceableHandle.html}      | 133 +++---------
 .../org/apache/bookkeeper/client/api/Handle.html   |   4 +-
 .../bookkeeper/client/api/WriteAdvHandle.html      |  11 +-
 .../apache/bookkeeper/client/api/WriteFlag.html    |   4 +
 .../apache/bookkeeper/client/api/WriteHandle.html  |  11 +-
 .../client/api/class-use/DigestType.html           |   4 +
 .../client/api/class-use/ForceableHandle.html      | 215 +++++++++++++++++++
 .../bookkeeper/client/api/package-frame.html       |   1 +
 .../bookkeeper/client/api/package-summary.html     |  24 ++-
 .../apache/bookkeeper/client/api/package-tree.html |  10 +-
 .../apache/bookkeeper/client/api/package-use.html  |  44 ++--
 .../class-use/DistributionSchedule.AckSet.html     |  15 ++
 .../class-use/DistributionSchedule.WriteSet.html   |  12 +-
 .../bookkeeper/client/class-use/ForceLedgerOp.html | 125 +++++++++++
 .../bookkeeper/client/class-use/LedgerHandle.html  |  36 ++--
 .../apache/bookkeeper/client/package-frame.html    |   1 +
 .../apache/bookkeeper/client/package-summary.html  | 116 ++++++-----
 .../org/apache/bookkeeper/client/package-tree.html |   1 +
 .../class-use/InterfaceAudience.Public.html        |  18 +-
 .../class-use/InterfaceStability.Unstable.html     |  20 +-
 .../bookkeeper/stats/class-use/OpStatsLogger.html  |  20 +-
 content/docs/latest/api/javadoc/overview-tree.html |  23 +-
 38 files changed, 1157 insertions(+), 507 deletions(-)

diff --git a/content/docs/latest/api/javadoc/allclasses-frame.html b/content/docs/latest/api/javadoc/allclasses-frame.html
index c2ad6ef..5caabb7 100644
--- a/content/docs/latest/api/javadoc/allclasses-frame.html
+++ b/content/docs/latest/api/javadoc/allclasses-frame.html
@@ -121,6 +121,8 @@
 <li><a href="org/apache/bookkeeper/stats/twitter/finagle/FinagleStatsLoggerImpl.html" title="class in org.apache.bookkeeper.stats.twitter.finagle" target="classFrame">FinagleStatsLoggerImpl</a></li>
 <li><a href="org/apache/bookkeeper/stats/twitter/finagle/FinagleStatsProvider.html" title="class in org.apache.bookkeeper.stats.twitter.finagle" target="classFrame">FinagleStatsProvider</a></li>
 <li><a href="org/apache/bookkeeper/feature/FixedValueFeature.html" title="class in org.apache.bookkeeper.feature" target="classFrame">FixedValueFeature</a></li>
+<li><a href="org/apache/bookkeeper/client/api/ForceableHandle.html" title="interface in org.apache.bookkeeper.client.api" target="classFrame"><span class="interfaceName">ForceableHandle</span></a></li>
+<li><a href="org/apache/bookkeeper/client/ForceLedgerOp.html" title="class in org.apache.bookkeeper.client" target="classFrame">ForceLedgerOp</a></li>
 <li><a href="org/apache/bookkeeper/stats/Gauge.html" title="interface in org.apache.bookkeeper.stats" target="classFrame"><span class="interfaceName">Gauge</span></a></li>
 <li><a href="org/apache/bookkeeper/client/api/Handle.html" title="interface in org.apache.bookkeeper.client.api" target="classFrame"><span class="interfaceName">Handle</span></a></li>
 <li><a href="org/apache/bookkeeper/stats/twitter/science/HTTPStatsExporter.html" title="class in org.apache.bookkeeper.stats.twitter.science" target="classFrame">HTTPStatsExporter</a></li>
diff --git a/content/docs/latest/api/javadoc/allclasses-noframe.html b/content/docs/latest/api/javadoc/allclasses-noframe.html
index bcd72e0..3b8d240 100644
--- a/content/docs/latest/api/javadoc/allclasses-noframe.html
+++ b/content/docs/latest/api/javadoc/allclasses-noframe.html
@@ -121,6 +121,8 @@
 <li><a href="org/apache/bookkeeper/stats/twitter/finagle/FinagleStatsLoggerImpl.html" title="class in org.apache.bookkeeper.stats.twitter.finagle">FinagleStatsLoggerImpl</a></li>
 <li><a href="org/apache/bookkeeper/stats/twitter/finagle/FinagleStatsProvider.html" title="class in org.apache.bookkeeper.stats.twitter.finagle">FinagleStatsProvider</a></li>
 <li><a href="org/apache/bookkeeper/feature/FixedValueFeature.html" title="class in org.apache.bookkeeper.feature">FixedValueFeature</a></li>
+<li><a href="org/apache/bookkeeper/client/api/ForceableHandle.html" title="interface in org.apache.bookkeeper.client.api"><span class="interfaceName">ForceableHandle</span></a></li>
+<li><a href="org/apache/bookkeeper/client/ForceLedgerOp.html" title="class in org.apache.bookkeeper.client">ForceLedgerOp</a></li>
 <li><a href="org/apache/bookkeeper/stats/Gauge.html" title="interface in org.apache.bookkeeper.stats"><span class="interfaceName">Gauge</span></a></li>
 <li><a href="org/apache/bookkeeper/client/api/Handle.html" title="interface in org.apache.bookkeeper.client.api"><span class="interfaceName">Handle</span></a></li>
 <li><a href="org/apache/bookkeeper/stats/twitter/science/HTTPStatsExporter.html" title="class in org.apache.bookkeeper.stats.twitter.science">HTTPStatsExporter</a></li>
diff --git a/content/docs/latest/api/javadoc/constant-values.html b/content/docs/latest/api/javadoc/constant-values.html
index 71cde0e..b2a2dd3 100644
--- a/content/docs/latest/api/javadoc/constant-values.html
+++ b/content/docs/latest/api/javadoc/constant-values.html
@@ -133,40 +133,54 @@
 <td class="colLast"><code>"ADD_ENTRY"</code></td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.client.BookKeeperClientStats.CHANNEL_FORCE_OP">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/bookkeeper/client/BookKeeperClientStats.html#CHANNEL_FORCE_OP">CHANNEL_FORCE_OP</a></code></td>
+<td class="colLast"><code>"FORCE"</code></td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.bookkeeper.client.BookKeeperClientStats.CHANNEL_READ_LAC_OP">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/bookkeeper/client/BookKeeperClientStats.html#CHANNEL_READ_LAC_OP">CHANNEL_READ_LAC_OP</a></code></td>
 <td class="colLast"><code>"READ_LAC"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.bookkeeper.client.BookKeeperClientStats.CHANNEL_READ_OP">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/bookkeeper/client/BookKeeperClientStats.html#CHANNEL_READ_OP">CHANNEL_READ_OP</a></code></td>
 <td class="colLast"><code>"READ_ENTRY"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.bookkeeper.client.BookKeeperClientStats.CHANNEL_SCOPE">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/bookkeeper/client/BookKeeperClientStats.html#CHANNEL_SCOPE">CHANNEL_SCOPE</a></code></td>
 <td class="colLast"><code>"per_channel_bookie_client"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.bookkeeper.client.BookKeeperClientStats.CHANNEL_START_TLS_OP">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/bookkeeper/client/BookKeeperClientStats.html#CHANNEL_START_TLS_OP">CHANNEL_START_TLS_OP</a></code></td>
 <td class="colLast"><code>"START_TLS"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.bookkeeper.client.BookKeeperClientStats.CHANNEL_TIMEOUT_ADD">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/bookkeeper/client/BookKeeperClientStats.html#CHANNEL_TIMEOUT_ADD">CHANNEL_TIMEOUT_ADD</a></code></td>
 <td class="colLast"><code>"TIMEOUT_ADD_ENTRY"</code></td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.client.BookKeeperClientStats.CHANNEL_TIMEOUT_FORCE">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/bookkeeper/client/BookKeeperClientStats.html#CHANNEL_TIMEOUT_FORCE">CHANNEL_TIMEOUT_FORCE</a></code></td>
+<td class="colLast"><code>"TIMEOUT_FORCE"</code></td>
+</tr>
 <tr class="rowColor">
 <td class="colFirst"><a name="org.apache.bookkeeper.client.BookKeeperClientStats.CHANNEL_TIMEOUT_READ">
 <!--   -->
@@ -259,146 +273,153 @@
 <td class="colLast"><code>"FAILED_TLS_HANDSHAKE_COUNTER"</code></td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.client.BookKeeperClientStats.FORCE_OP">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/bookkeeper/client/BookKeeperClientStats.html#FORCE_OP">FORCE_OP</a></code></td>
+<td class="colLast"><code>"FORCE"</code></td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.bookkeeper.client.BookKeeperClientStats.GET_BOOKIE_INFO_OP">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/bookkeeper/client/BookKeeperClientStats.html#GET_BOOKIE_INFO_OP">GET_BOOKIE_INFO_OP</a></code></td>
 <td class="colLast"><code>"GET_BOOKIE_INFO"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.bookkeeper.client.BookKeeperClientStats.LAC_UPDATE_HITS">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/bookkeeper/client/BookKeeperClientStats.html#LAC_UPDATE_HITS">LAC_UPDATE_HITS</a></code></td>
 <td class="colLast"><code>"LAC_UPDATE_HITS"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.bookkeeper.client.BookKeeperClientStats.LAC_UPDATE_MISSES">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/bookkeeper/client/BookKeeperClientStats.html#LAC_UPDATE_MISSES">LAC_UPDATE_MISSES</a></code></td>
 <td class="colLast"><code>"LAC_UPDATE_MISSES"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.bookkeeper.client.BookKeeperClientStats.LEDGER_ENSEMBLE_BOOKIE_DISTRIBUTION">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/bookkeeper/client/BookKeeperClientStats.html#LEDGER_ENSEMBLE_BOOKIE_DISTRIBUTION">LEDGER_ENSEMBLE_BOOKIE_DISTRIBUTION</a></code></td>
 <td class="colLast"><code>"LEDGER_ENSEMBLE_BOOKIE_DISTRIBUTION"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.bookkeeper.client.BookKeeperClientStats.LEDGER_RECOVER_ADD_ENTRIES">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/bookkeeper/client/BookKeeperClientStats.html#LEDGER_RECOVER_ADD_ENTRIES">LEDGER_RECOVER_ADD_ENTRIES</a></code></td>
 <td class="colLast"><code>"LEDGER_RECOVER_ADD_ENTRIES"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.bookkeeper.client.BookKeeperClientStats.LEDGER_RECOVER_READ_ENTRIES">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/bookkeeper/client/BookKeeperClientStats.html#LEDGER_RECOVER_READ_ENTRIES">LEDGER_RECOVER_READ_ENTRIES</a></code></td>
 <td class="colLast"><code>"LEDGER_RECOVER_READ_ENTRIES"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.bookkeeper.client.BookKeeperClientStats.NETTY_EXCEPTION_CNT">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/bookkeeper/client/BookKeeperClientStats.html#NETTY_EXCEPTION_CNT">NETTY_EXCEPTION_CNT</a></code></td>
 <td class="colLast"><code>"NETTY_EXCEPTION_CNT"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.bookkeeper.client.BookKeeperClientStats.NETTY_OPS">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/bookkeeper/client/BookKeeperClientStats.html#NETTY_OPS">NETTY_OPS</a></code></td>
 <td class="colLast"><code>"NETTY_OPS"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.bookkeeper.client.BookKeeperClientStats.OPEN_OP">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/bookkeeper/client/BookKeeperClientStats.html#OPEN_OP">OPEN_OP</a></code></td>
 <td class="colLast"><code>"LEDGER_OPEN"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.bookkeeper.client.BookKeeperClientStats.PENDING_ADDS">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/bookkeeper/client/BookKeeperClientStats.html#PENDING_ADDS">PENDING_ADDS</a></code></td>
 <td class="colLast"><code>"NUM_PENDING_ADD"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.bookkeeper.client.BookKeeperClientStats.READ_LAC_OP">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/bookkeeper/client/BookKeeperClientStats.html#READ_LAC_OP">READ_LAC_OP</a></code></td>
 <td class="colLast"><code>"READ_LAC"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.bookkeeper.client.BookKeeperClientStats.READ_LAST_CONFIRMED_AND_ENTRY">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/bookkeeper/client/BookKeeperClientStats.html#READ_LAST_CONFIRMED_AND_ENTRY">READ_LAST_CONFIRMED_AND_ENTRY</a></code></td>
 <td class="colLast"><code>"READ_LAST_CONFIRMED_AND_ENTRY"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.bookkeeper.client.BookKeeperClientStats.READ_LAST_CONFIRMED_AND_ENTRY_RESPONSE">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/bookkeeper/client/BookKeeperClientStats.html#READ_LAST_CONFIRMED_AND_ENTRY_RESPONSE">READ_LAST_CONFIRMED_AND_ENTRY_RESPONSE</a></code></td>
 <td class="colLast"><code>"READ_LAST_CONFIRMED_AND_ENTRY_RESPONSE"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.bookkeeper.client.BookKeeperClientStats.READ_OP">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/bookkeeper/client/BookKeeperClientStats.html#READ_OP">READ_OP</a></code></td>
 <td class="colLast"><code>"READ_ENTRY"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.bookkeeper.client.BookKeeperClientStats.READ_OP_DM">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/bookkeeper/client/BookKeeperClientStats.html#READ_OP_DM">READ_OP_DM</a></code></td>
 <td class="colLast"><code>"READ_ENTRY_DM"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.bookkeeper.client.BookKeeperClientStats.READ_OP_OUTSTANDING">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/bookkeeper/client/BookKeeperClientStats.html#READ_OP_OUTSTANDING">READ_OP_OUTSTANDING</a></code></td>
 <td class="colLast"><code>"READ_OP_OUTSTANDING"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.bookkeeper.client.BookKeeperClientStats.READ_REQUESTS_REORDERED">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/bookkeeper/client/BookKeeperClientStats.html#READ_REQUESTS_REORDERED">READ_REQUESTS_REORDERED</a></code></td>
 <td class="colLast"><code>"READ_REQUESTS_REORDERED"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.bookkeeper.client.BookKeeperClientStats.RECOVER_OP">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/bookkeeper/client/BookKeeperClientStats.html#RECOVER_OP">RECOVER_OP</a></code></td>
 <td class="colLast"><code>"LEDGER_RECOVER"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.bookkeeper.client.BookKeeperClientStats.SPECULATIVE_READ_COUNT">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/bookkeeper/client/BookKeeperClientStats.html#SPECULATIVE_READ_COUNT">SPECULATIVE_READ_COUNT</a></code></td>
 <td class="colLast"><code>"SPECULATIVE_READ_COUNT"</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.bookkeeper.client.BookKeeperClientStats.TIMEOUT_GET_BOOKIE_INFO">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/bookkeeper/client/BookKeeperClientStats.html#TIMEOUT_GET_BOOKIE_INFO">TIMEOUT_GET_BOOKIE_INFO</a></code></td>
 <td class="colLast"><code>"TIMEOUT_GET_BOOKIE_INFO"</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.bookkeeper.client.BookKeeperClientStats.WRITE_LAC_OP">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
diff --git a/content/docs/latest/api/javadoc/index-all.html b/content/docs/latest/api/javadoc/index-all.html
index 0ca9f01..c0e3e4a 100644
--- a/content/docs/latest/api/javadoc/index-all.html
+++ b/content/docs/latest/api/javadoc/index-all.html
@@ -82,6 +82,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/TopologyAwareEnsemblePlacementPolicy.RRTopologyAwareCoverageEnsemble.html#ackQuorumSize">ackQuorumSize</a></span> - Variable in class org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/TopologyAwareEnsemblePlacementPolicy.RRTopologyAwareCoverageEnsemble.html" title="class in org.apache.bookkeeper.client">TopologyAwareEnsemblePlacementPolicy.RRTopologyAwareCoverageEnsemble</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/ForceLedgerOp.html#ackSet">ackSet</a></span> - Variable in class org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/ForceLedgerOp.html" title="class in org.apache.bookkeeper.client">ForceLedgerOp</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/PendingAddOp.html#ackSet">ackSet</a></span> - Variable in class org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/PendingAddOp.html" title="class in org.apache.bookkeeper.client">PendingAddOp</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/PendingWriteLacOp.html#ackSet">ackSet</a></span> - Variable in class org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/PendingWriteLacOp.html" title="class in org.apache.bookkeeper.client">PendingWriteLacOp</a></dt>
@@ -1014,6 +1016,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/PendingReadOp.html#cancelSpeculativeTask-boolean-">cancelSpeculativeTask(boolean)</a></span> - Method in class org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/PendingReadOp.html" title="class in org.apache.bookkeeper.client">PendingReadOp</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/ForceLedgerOp.html#cb">cb</a></span> - Variable in class org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/ForceLedgerOp.html" title="class in org.apache.bookkeeper.client">ForceLedgerOp</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/LedgerCreateOp.html#cb">cb</a></span> - Variable in class org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/LedgerCreateOp.html" title="class in org.apache.bookkeeper.client">LedgerCreateOp</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/LedgerDeleteOp.html#cb">cb</a></span> - Variable in class org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/LedgerDeleteOp.html" title="class in org.apache.bookkeeper.client">LedgerDeleteOp</a></dt>
@@ -1034,6 +1038,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/BookKeeperClientStats.html#CHANNEL_ADD_OP">CHANNEL_ADD_OP</a></span> - Static variable in interface org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/BookKeeperClientStats.html" title="interface in org.apache.bookkeeper.client">BookKeeperClientStats</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/BookKeeperClientStats.html#CHANNEL_FORCE_OP">CHANNEL_FORCE_OP</a></span> - Static variable in interface org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/BookKeeperClientStats.html" title="interface in org.apache.bookkeeper.client">BookKeeperClientStats</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/BookKeeperClientStats.html#CHANNEL_READ_LAC_OP">CHANNEL_READ_LAC_OP</a></span> - Static variable in interface org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/BookKeeperClientStats.html" title="interface in org.apache.bookkeeper.client">BookKeeperClientStats</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/BookKeeperClientStats.html#CHANNEL_READ_OP">CHANNEL_READ_OP</a></span> - Static variable in interface org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/BookKeeperClientStats.html" title="interface in org.apache.bookkeeper.client">BookKeeperClientStats</a></dt>
@@ -1044,6 +1050,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/BookKeeperClientStats.html#CHANNEL_TIMEOUT_ADD">CHANNEL_TIMEOUT_ADD</a></span> - Static variable in interface org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/BookKeeperClientStats.html" title="interface in org.apache.bookkeeper.client">BookKeeperClientStats</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/BookKeeperClientStats.html#CHANNEL_TIMEOUT_FORCE">CHANNEL_TIMEOUT_FORCE</a></span> - Static variable in interface org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/BookKeeperClientStats.html" title="interface in org.apache.bookkeeper.client">BookKeeperClientStats</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/BookKeeperClientStats.html#CHANNEL_TIMEOUT_READ">CHANNEL_TIMEOUT_READ</a></span> - Static variable in interface org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/BookKeeperClientStats.html" title="interface in org.apache.bookkeeper.client">BookKeeperClientStats</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/BookKeeperClientStats.html#CHANNEL_TIMEOUT_READ_LAC">CHANNEL_TIMEOUT_READ_LAC</a></span> - Static variable in interface org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/BookKeeperClientStats.html" title="interface in org.apache.bookkeeper.client">BookKeeperClientStats</a></dt>
@@ -1335,6 +1343,8 @@
 <dd>
 <div class="block">Add a bookie response and check if quorum has been met.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/ForceLedgerOp.html#completed">completed</a></span> - Variable in class org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/ForceLedgerOp.html" title="class in org.apache.bookkeeper.client">ForceLedgerOp</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/PendingAddOp.html#completed">completed</a></span> - Variable in class org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/PendingAddOp.html" title="class in org.apache.bookkeeper.client">PendingAddOp</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/PendingReadLacOp.html#completed">completed</a></span> - Variable in class org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/PendingReadLacOp.html" title="class in org.apache.bookkeeper.client">PendingReadLacOp</a></dt>
@@ -1498,12 +1508,16 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/LedgerMetadata.html#CURRENT_METADATA_FORMAT_VERSION">CURRENT_METADATA_FORMAT_VERSION</a></span> - Static variable in class org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/LedgerMetadata.html" title="class in org.apache.bookkeeper.client">LedgerMetadata</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/ForceLedgerOp.html#currentEnsemble">currentEnsemble</a></span> - Variable in class org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/ForceLedgerOp.html" title="class in org.apache.bookkeeper.client">ForceLedgerOp</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/LedgerMetadata.html#currentEnsemble">currentEnsemble</a></span> - Variable in class org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/LedgerMetadata.html" title="class in org.apache.bookkeeper.client">LedgerMetadata</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/BookKeeperAdmin.LedgerEntriesIterator.html#currentEntry">currentEntry</a></span> - Variable in class org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/BookKeeperAdmin.LedgerEntriesIterator.html" title="class in org.apache.bookkeeper.client">BookKeeperAdmin.LedgerEntriesIterator</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/PendingAddOp.html#currentLedgerLength">currentLedgerLength</a></span> - Variable in class org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/PendingAddOp.html" title="class in org.apache.bookkeeper.client">PendingAddOp</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/ForceLedgerOp.html#currentNonDurableLastAddConfirmed">currentNonDurableLastAddConfirmed</a></span> - Variable in class org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/ForceLedgerOp.html" title="class in org.apache.bookkeeper.client">ForceLedgerOp</a></dt>
+<dd>&nbsp;</dd>
 </dl>
 <a name="I:D">
 <!--   -->
@@ -1835,6 +1849,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/stats/CachingStatsLogger.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class org.apache.bookkeeper.stats.<a href="org/apache/bookkeeper/stats/CachingStatsLogger.html" title="class in org.apache.bookkeeper.stats">CachingStatsLogger</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/ForceLedgerOp.html#errored">errored</a></span> - Variable in class org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/ForceLedgerOp.html" title="class in org.apache.bookkeeper.client">ForceLedgerOp</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/PendingReadOp.SequenceReadRequest.html#erroredReplicas">erroredReplicas</a></span> - Variable in class org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/PendingReadOp.SequenceReadRequest.html" title="class in org.apache.bookkeeper.client">PendingReadOp.SequenceReadRequest</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/ReadLastConfirmedAndEntryOp.SequenceReadRequest.html#erroredReplicas">erroredReplicas</a></span> - Variable in class org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/ReadLastConfirmedAndEntryOp.SequenceReadRequest.html" title="class in org.apache.bookkeeper.client">ReadLastConfirmedAndEntryOp.SequenceReadRequest</a></dt>
@@ -2037,8 +2053,30 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/conf/ServerConfiguration.html#FLUSH_INTERVAL">FLUSH_INTERVAL</a></span> - Static variable in class org.apache.bookkeeper.conf.<a href="org/apache/bookkeeper/conf/ServerConfiguration.html" title="class in org.apache.bookkeeper.conf">ServerConfiguration</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/api/ForceableHandle.html#force--">force()</a></span> - Method in interface org.apache.bookkeeper.client.api.<a href="org/apache/bookkeeper/client/api/ForceableHandle.html" title="interface in org.apache.bookkeeper.client.api">ForceableHandle</a></dt>
+<dd>
+<div class="block">Enforce durability to the entries written by this handle.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/LedgerHandle.html#force--">force()</a></span> - Method in class org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/LedgerHandle.html" title="class in org.apache.bookkeeper.client">LedgerHandle</a></dt>
+<dd>
+<div class="block">Enforce durability to the entries written by this handle.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/BookKeeperClientStats.html#FORCE_OP">FORCE_OP</a></span> - Static variable in interface org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/BookKeeperClientStats.html" title="interface in org.apache.bookkeeper.client">BookKeeperClientStats</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/conf/ServerConfiguration.html#FORCE_READ_ONLY_BOOKIE">FORCE_READ_ONLY_BOOKIE</a></span> - Static variable in class org.apache.bookkeeper.conf.<a href="org/apache/bookkeeper/conf/ServerConfiguration.html" title="class in org.apache.bookkeeper.conf">ServerConfiguration</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/bookkeeper/client/api/ForceableHandle.html" title="interface in org.apache.bookkeeper.client.api"><span class="typeNameLink">ForceableHandle</span></a> - Interface in <a href="org/apache/bookkeeper/client/api/package-summary.html">org.apache.bookkeeper.client.api</a></dt>
+<dd>
+<div class="block">Provide the ability to enforce durability guarantees to the writer.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/ForceLedgerOp.html#forceLedgerComplete-int-long-org.apache.bookkeeper.net.BookieSocketAddress-java.lang.Object-">forceLedgerComplete(int, long, BookieSocketAddress, Object)</a></span> - Method in class org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/ForceLedgerOp.html" title="class in org.apache.bookkeeper.client">ForceLedgerOp</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="org/apache/bookkeeper/client/ForceLedgerOp.html" title="class in org.apache.bookkeeper.client"><span class="typeNameLink">ForceLedgerOp</span></a> - Class in <a href="org/apache/bookkeeper/client/package-summary.html">org.apache.bookkeeper.client</a></dt>
+<dd>
+<div class="block">This represents a request to sync the ledger on every bookie.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/ForceLedgerOp.html#ForceLedgerOp-org.apache.bookkeeper.client.LedgerHandle-java.util.concurrent.CompletableFuture-">ForceLedgerOp(LedgerHandle, CompletableFuture&lt;Void&gt;)</a></span> - Constructor for class org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/ForceLedgerOp.html" title="class in org.apache.bookkeeper.client">ForceLedgerOp</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/BookKeeperAccessor.html#forceRecoverLedger-org.apache.bookkeeper.client.LedgerHandle-org.apache.bookkeeper.proto.BookkeeperInternalCallbacks.GenericCallback-">forceRecoverLedger(LedgerHandle, BookkeeperInternalCallbacks.GenericCallback&lt;Void&gt;)</a></span> - Static method in class org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/BookKeeperAccessor.html" title="class in org.apache.bookkeeper.client [...]
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/BookKeeper.html#forConfig-org.apache.bookkeeper.conf.ClientConfiguration-">forConfig(ClientConfiguration)</a></span> - Static method in class org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/BookKeeper.html" title="class in org.apache.bookkeeper.client">BookKeeper</a></dt>
@@ -2488,6 +2526,13 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/LedgerMetadata.html#getEnsemble-long-">getEnsemble(long)</a></span> - Method in class org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/LedgerMetadata.html" title="class in org.apache.bookkeeper.client">LedgerMetadata</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/DistributionSchedule.html#getEnsembleAckSet--">getEnsembleAckSet()</a></span> - Method in interface org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/DistributionSchedule.html" title="interface in org.apache.bookkeeper.client">DistributionSchedule</a></dt>
+<dd>
+<div class="block">Returns an ackset object useful to wait for all bookies in the ensemble,
+ responses should be checked against this.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/RoundRobinDistributionSchedule.html#getEnsembleAckSet--">getEnsembleAckSet()</a></span> - Method in class org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/RoundRobinDistributionSchedule.html" title="class in org.apache.bookkeeper.client">RoundRobinDistributionSchedule</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/api/LedgerMetadata.html#getEnsembleAt-long-">getEnsembleAt(long)</a></span> - Method in interface org.apache.bookkeeper.client.api.<a href="org/apache/bookkeeper/client/api/LedgerMetadata.html" title="interface in org.apache.bookkeeper.client.api">LedgerMetadata</a></dt>
 <dd>
 <div class="block">Returns the ensemble at the given <code>entryId</code>.</div>
@@ -2507,6 +2552,12 @@
 <div class="block">Get the Map of bookie ensembles for the various ledger fragments
  that make up the ledger.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/DistributionSchedule.html#getEnsembleSet-long-">getEnsembleSet(long)</a></span> - Method in interface org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/DistributionSchedule.html" title="interface in org.apache.bookkeeper.client">DistributionSchedule</a></dt>
+<dd>
+<div class="block">Return the set of bookies indices to send the messages to the whole ensemble.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/RoundRobinDistributionSchedule.html#getEnsembleSet-long-">getEnsembleSet(long)</a></span> - Method in class org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/RoundRobinDistributionSchedule.html" title="class in org.apache.bookkeeper.client">RoundRobinDistributionSchedule</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/api/LedgerMetadata.html#getEnsembleSize--">getEnsembleSize()</a></span> - Method in interface org.apache.bookkeeper.client.api.<a href="org/apache/bookkeeper/client/api/LedgerMetadata.html" title="interface in org.apache.bookkeeper.client.api">LedgerMetadata</a></dt>
 <dd>
 <div class="block">Returns the ensemble size of this ledger.</div>
@@ -2654,6 +2705,8 @@
 <dd>
 <div class="block">Set entry log flush interval in bytes.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/BookKeeper.html#getForceOpLogger--">getForceOpLogger()</a></span> - Method in class org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/BookKeeper.html" title="class in org.apache.bookkeeper.client">BookKeeper</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/BookieInfoReader.BookieInfo.html#getFreeDiskSpace--">getFreeDiskSpace()</a></span> - Method in class org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/BookieInfoReader.BookieInfo.html" title="class in org.apache.bookkeeper.client">BookieInfoReader.BookieInfo</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/BookieInfoReader.html#getFreeDiskSpace-org.apache.bookkeeper.net.BookieSocketAddress-">getFreeDiskSpace(BookieSocketAddress)</a></span> - Method in class org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/BookieInfoReader.html" title="class in org.apache.bookkeeper.client">BookieInfoReader</a></dt>
@@ -3615,12 +3668,6 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/RoundRobinDistributionSchedule.html#getWriteSet-long-">getWriteSet(long)</a></span> - Method in class org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/RoundRobinDistributionSchedule.html" title="class in org.apache.bookkeeper.client">RoundRobinDistributionSchedule</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/DistributionSchedule.html#getWriteSetForLongPoll-long-">getWriteSetForLongPoll(long)</a></span> - Method in interface org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/DistributionSchedule.html" title="interface in org.apache.bookkeeper.client">DistributionSchedule</a></dt>
-<dd>
-<div class="block">Return the set of bookies indices to send the messages to for longpoll reads.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/RoundRobinDistributionSchedule.html#getWriteSetForLongPoll-long-">getWriteSetForLongPoll(long)</a></span> - Method in class org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/RoundRobinDistributionSchedule.html" title="class in org.apache.bookkeeper.client">RoundRobinDistributionSchedule</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/conf/AbstractConfiguration.html#getZkAvailableBookiesPath--">getZkAvailableBookiesPath()</a></span> - Method in class org.apache.bookkeeper.conf.<a href="org/apache/bookkeeper/conf/AbstractConfiguration.html" title="class in org.apache.bookkeeper.conf">AbstractConfiguration</a></dt>
 <dd>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
@@ -3807,6 +3854,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/ReadOnlyLedgerHandle.html#initializeExplicitLacFlushPolicy--">initializeExplicitLacFlushPolicy()</a></span> - Method in class org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/ReadOnlyLedgerHandle.html" title="class in org.apache.bookkeeper.client">ReadOnlyLedgerHandle</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/ForceLedgerOp.html#initiate--">initiate()</a></span> - Method in class org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/ForceLedgerOp.html" title="class in org.apache.bookkeeper.client">ForceLedgerOp</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/LedgerCreateOp.html#initiate--">initiate()</a></span> - Method in class org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/LedgerCreateOp.html" title="class in org.apache.bookkeeper.client">LedgerCreateOp</a></dt>
 <dd>
 <div class="block">Initiates the operation.</div>
@@ -4189,6 +4238,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/BookKeeperAdmin.LedgerEntriesIterator.html#lastEntryId">lastEntryId</a></span> - Variable in class org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/BookKeeperAdmin.LedgerEntriesIterator.html" title="class in org.apache.bookkeeper.client">BookKeeperAdmin.LedgerEntriesIterator</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/ForceLedgerOp.html#lastSeenError">lastSeenError</a></span> - Variable in class org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/ForceLedgerOp.html" title="class in org.apache.bookkeeper.client">ForceLedgerOp</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/PendingReadLacOp.html#lastSeenError">lastSeenError</a></span> - Variable in class org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/PendingReadLacOp.html" title="class in org.apache.bookkeeper.client">PendingReadLacOp</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/PendingWriteLacOp.html#lastSeenError">lastSeenError</a></span> - Variable in class org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/PendingWriteLacOp.html" title="class in org.apache.bookkeeper.client">PendingWriteLacOp</a></dt>
@@ -4420,6 +4471,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/ExplicitLacFlushPolicy.ExplicitLacFlushPolicyImpl.html#lh">lh</a></span> - Variable in class org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/ExplicitLacFlushPolicy.ExplicitLacFlushPolicyImpl.html" title="class in org.apache.bookkeeper.client">ExplicitLacFlushPolicy.ExplicitLacFlushPolicyImpl</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/ForceLedgerOp.html#lh">lh</a></span> - Variable in class org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/ForceLedgerOp.html" title="class in org.apache.bookkeeper.client">ForceLedgerOp</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/LedgerCreateOp.html#lh">lh</a></span> - Variable in class org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/LedgerCreateOp.html" title="class in org.apache.bookkeeper.client">LedgerCreateOp</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/LedgerFragmentReplicator.SingleFragmentCallback.html#lh">lh</a></span> - Variable in class org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/LedgerFragmentReplicator.SingleFragmentCallback.html" title="class in org.apache.bookkeeper.client">LedgerFragmentReplicator.SingleFragmentCallback</a></dt>
@@ -12129,6 +12182,8 @@
 <dd>
 <div class="block">Implements Delete Callback.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/ForceLedgerOp.html#safeRun--">safeRun()</a></span> - Method in class org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/ForceLedgerOp.html" title="class in org.apache.bookkeeper.client">ForceLedgerOp</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/PendingAddOp.html#safeRun--">safeRun()</a></span> - Method in class org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/PendingAddOp.html" title="class in org.apache.bookkeeper.client">PendingAddOp</a></dt>
 <dd>
 <div class="block">Initiate the add operation.</div>
@@ -12216,6 +12271,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/PendingAddOp.html#sendAddSuccessCallbacks--">sendAddSuccessCallbacks()</a></span> - Method in class org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/PendingAddOp.html" title="class in org.apache.bookkeeper.client">PendingAddOp</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/ForceLedgerOp.html#sendForceLedgerRequest-int-">sendForceLedgerRequest(int)</a></span> - Method in class org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/ForceLedgerOp.html" title="class in org.apache.bookkeeper.client">ForceLedgerOp</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/PendingReadOp.SequenceReadRequest.html#sendNextRead--">sendNextRead()</a></span> - Method in class org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/PendingReadOp.SequenceReadRequest.html" title="class in org.apache.bookkeeper.client">PendingReadOp.SequenceReadRequest</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/ReadLastConfirmedAndEntryOp.SequenceReadRequest.html#sendNextRead--">sendNextRead()</a></span> - Method in class org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/ReadLastConfirmedAndEntryOp.SequenceReadRequest.html" title="class in org.apache.bookkeeper.client">ReadLastConfirmedAndEntryOp.SequenceReadRequest</a></dt>
@@ -13814,6 +13871,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/conf/AbstractConfiguration.html#TLS_TRUSTSTORE_TYPE">TLS_TRUSTSTORE_TYPE</a></span> - Static variable in class org.apache.bookkeeper.conf.<a href="org/apache/bookkeeper/conf/AbstractConfiguration.html" title="class in org.apache.bookkeeper.conf">AbstractConfiguration</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/BookKeeper.DigestType.html#toApiDigestType--">toApiDigestType()</a></span> - Method in enum org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/BookKeeper.DigestType.html" title="enum in org.apache.bookkeeper.client">BookKeeper.DigestType</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/ITopologyAwareEnsemblePlacementPolicy.Ensemble.html#toList--">toList()</a></span> - Method in interface org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/ITopologyAwareEnsemblePlacementPolicy.Ensemble.html" title="interface in org.apache.bookkeeper.client">ITopologyAwareEnsemblePlacementPolicy.Ensemble</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/bookkeeper/client/TopologyAwareEnsemblePlacementPolicy.EnsembleForReplacementWithNoConstraints.html#toList--">toList()</a></span> - Method in class org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/TopologyAwareEnsemblePlacementPolicy.EnsembleForReplacementWithNoConstraints.html" title="class in org.apache.bookkeeper.client">TopologyAwareEnsemblePlacementPolicy.EnsembleForReplacementWithNoConstraints</a></dt>
diff --git a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/BookKeeper.DigestType.html b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/BookKeeper.DigestType.html
index 511485b..5fd23a1 100644
--- a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/BookKeeper.DigestType.html
+++ b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/BookKeeper.DigestType.html
@@ -18,8 +18,8 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":9,"i1":9,"i2":9,"i3":9};
-var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
+var methods = {"i0":9,"i1":10,"i2":9,"i3":9,"i4":9};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
 var tableTab = "tableTab";
@@ -174,7 +174,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?i
 </a>
 <h3>Method Summary</h3>
 <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd [...]
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
 <th class="colLast" scope="col">Method and Description</th>
@@ -184,16 +184,20 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?i
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeper.DigestType.html#fromApiDigestType-org.apache.bookkeeper.client.api.DigestType-">fromApiDigestType</a></span>(<a href="../../../../org/apache/bookkeeper/client/api/DigestType.html" title="enum in org.apache.bookkeeper.client.api">DigestType</a>&nbsp;digestType)</code>&nbsp;</td>
 </tr>
 <tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="../../../../org/apache/bookkeeper/client/api/DigestType.html" title="enum in org.apache.bookkeeper.client.api">DigestType</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeper.DigestType.html#toApiDigestType--">toApiDigestType</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
 <td class="colFirst"><code>static org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.DigestType</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeper.DigestType.html#toProtoDigestType-org.apache.bookkeeper.client.BookKeeper.DigestType-">toProtoDigestType</a></span>(<a href="../../../../org/apache/bookkeeper/client/BookKeeper.DigestType.html" title="enum in org.apache.bookkeeper.client">BookKeeper.DigestType</a>&nbsp;digestType)</code>&nbsp;</td>
 </tr>
-<tr id="i2" class="altColor">
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../org/apache/bookkeeper/client/BookKeeper.DigestType.html" title="enum in org.apache.bookkeeper.client">BookKeeper.DigestType</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeper.DigestType.html#valueOf-java.lang.String-">valueOf</a></span>(<a href="https://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">Returns the enum constant of this type with the specified name.</div>
 </td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../org/apache/bookkeeper/client/BookKeeper.DigestType.html" title="enum in org.apache.bookkeeper.client">BookKeeper.DigestType</a>[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeper.DigestType.html#values--">values</a></span>()</code>
 <div class="block">Returns an array containing the constants of this enum type, in
@@ -327,12 +331,21 @@ not permitted.)</div>
 <a name="toProtoDigestType-org.apache.bookkeeper.client.BookKeeper.DigestType-">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>toProtoDigestType</h4>
 <pre>public static&nbsp;org.apache.bookkeeper.proto.DataFormats.LedgerMetadataFormat.DigestType&nbsp;toProtoDigestType(<a href="../../../../org/apache/bookkeeper/client/BookKeeper.DigestType.html" title="enum in org.apache.bookkeeper.client">BookKeeper.DigestType</a>&nbsp;digestType)</pre>
 </li>
 </ul>
+<a name="toApiDigestType--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>toApiDigestType</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/bookkeeper/client/api/DigestType.html" title="enum in org.apache.bookkeeper.client.api">DigestType</a>&nbsp;toApiDigestType()</pre>
+</li>
+</ul>
 </li>
 </ul>
 </li>
diff --git a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/BookKeeper.html b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/BookKeeper.html
index 1c3c52c..527790f 100644
--- a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/BookKeeper.html
+++ b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/BookKeeper.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":9,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":9,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10,"i35":10,"i36":10,"i37":10,"i38":10,"i39":10,"i40":10,"i41":10,"i42":10,"i43":10,"i44":10,"i45":10,"i46":10,"i47":10,"i48":10,"i49":10,"i50":10,"i51":10,"i52":10,"i53":10,"i5 [...]
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":9,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":9,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10,"i35":10,"i36":10,"i37":10,"i38":10,"i39":10,"i40":10,"i41":10,"i42":10,"i43":10,"i44":10,"i45":10,"i46":10,"i47":10,"i48":10,"i49":10,"i50":10,"i51":10,"i52":10,"i53":10,"i5 [...]
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -587,133 +587,137 @@ implements <a href="../../../../org/apache/bookkeeper/client/api/BookKeeper.html
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeper.html#getExplicitLacInterval--">getExplicitLacInterval</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i32" class="altColor">
+<td class="colFirst"><code>(package private) <a href="../../../../org/apache/bookkeeper/stats/OpStatsLogger.html" title="interface in org.apache.bookkeeper.stats">OpStatsLogger</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeper.html#getForceOpLogger--">getForceOpLogger</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i33" class="rowColor">
 <td class="colFirst"><code>(package private) org.apache.bookkeeper.meta.LedgerIdGenerator</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeper.html#getLedgerIdGenerator--">getLedgerIdGenerator</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i33" class="rowColor">
+<tr id="i34" class="altColor">
 <td class="colFirst"><code>org.apache.bookkeeper.meta.LedgerManager</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeper.html#getLedgerManager--">getLedgerManager</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i34" class="altColor">
+<tr id="i35" class="rowColor">
 <td class="colFirst"><code>(package private) org.apache.bookkeeper.common.util.OrderedExecutor</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeper.html#getMainWorkerPool--">getMainWorkerPool</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i35" class="rowColor">
+<tr id="i36" class="altColor">
 <td class="colFirst"><code>org.apache.bookkeeper.meta.MetadataClientDriver</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeper.html#getMetadataClientDriver--">getMetadataClientDriver</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i36" class="altColor">
+<tr id="i37" class="rowColor">
 <td class="colFirst"><code>(package private) <a href="../../../../org/apache/bookkeeper/stats/OpStatsLogger.html" title="interface in org.apache.bookkeeper.stats">OpStatsLogger</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeper.html#getOpenOpLogger--">getOpenOpLogger</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i37" class="rowColor">
+<tr id="i38" 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"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeper.html#getPlacementPolicy--">getPlacementPolicy</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i38" class="altColor">
+<tr id="i39" class="rowColor">
 <td class="colFirst"><code>(package private) <a href="../../../../org/apache/bookkeeper/stats/OpStatsLogger.html" title="interface in org.apache.bookkeeper.stats">OpStatsLogger</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeper.html#getReadLacAndEntryOpLogger--">getReadLacAndEntryOpLogger</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i39" class="rowColor">
+<tr id="i40" class="altColor">
 <td class="colFirst"><code>(package private) <a href="../../../../org/apache/bookkeeper/stats/OpStatsLogger.html" title="interface in org.apache.bookkeeper.stats">OpStatsLogger</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeper.html#getReadLacAndEntryRespLogger--">getReadLacAndEntryRespLogger</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i40" class="altColor">
+<tr id="i41" class="rowColor">
 <td class="colFirst"><code>(package private) <a href="../../../../org/apache/bookkeeper/stats/OpStatsLogger.html" title="interface in org.apache.bookkeeper.stats">OpStatsLogger</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeper.html#getReadLacOpLogger--">getReadLacOpLogger</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i41" class="rowColor">
+<tr id="i42" class="altColor">
 <td class="colFirst"><code>com.google.common.base.Optional&lt;<a href="../../../../org/apache/bookkeeper/client/SpeculativeRequestExecutionPolicy.html" title="interface in org.apache.bookkeeper.client">SpeculativeRequestExecutionPolicy</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeper.html#getReadLACSpeculativeRequestPolicy--">getReadLACSpeculativeRequestPolicy</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i42" class="altColor">
+<tr id="i43" class="rowColor">
 <td class="colFirst"><code>(package private) <a href="../../../../org/apache/bookkeeper/stats/Counter.html" title="interface in org.apache.bookkeeper.stats">Counter</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeper.html#getReadOpDmCounter--">getReadOpDmCounter</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i43" class="rowColor">
+<tr id="i44" class="altColor">
 <td class="colFirst"><code>(package private) <a href="../../../../org/apache/bookkeeper/stats/OpStatsLogger.html" title="interface in org.apache.bookkeeper.stats">OpStatsLogger</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeper.html#getReadOpLogger--">getReadOpLogger</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i44" class="altColor">
+<tr id="i45" class="rowColor">
 <td class="colFirst"><code>com.google.common.base.Optional&lt;<a href="../../../../org/apache/bookkeeper/client/SpeculativeRequestExecutionPolicy.html" title="interface in org.apache.bookkeeper.client">SpeculativeRequestExecutionPolicy</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeper.html#getReadSpeculativeRequestPolicy--">getReadSpeculativeRequestPolicy</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i45" class="rowColor">
+<tr id="i46" class="altColor">
 <td class="colFirst"><code>(package private) <a href="../../../../org/apache/bookkeeper/stats/OpStatsLogger.html" title="interface in org.apache.bookkeeper.stats">OpStatsLogger</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeper.html#getRecoverAddCountLogger--">getRecoverAddCountLogger</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i46" class="altColor">
+<tr id="i47" class="rowColor">
 <td class="colFirst"><code>(package private) <a href="../../../../org/apache/bookkeeper/stats/OpStatsLogger.html" title="interface in org.apache.bookkeeper.stats">OpStatsLogger</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeper.html#getRecoverOpLogger--">getRecoverOpLogger</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i47" class="rowColor">
+<tr id="i48" class="altColor">
 <td class="colFirst"><code>(package private) <a href="../../../../org/apache/bookkeeper/stats/OpStatsLogger.html" title="interface in org.apache.bookkeeper.stats">OpStatsLogger</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeper.html#getRecoverReadCountLogger--">getRecoverReadCountLogger</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i48" class="altColor">
+<tr id="i49" class="rowColor">
 <td class="colFirst"><code>(package private) int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeper.html#getReturnRc-int-">getReturnRc</a></span>(int&nbsp;rc)</code>&nbsp;</td>
 </tr>
-<tr id="i49" class="rowColor">
+<tr id="i50" class="altColor">
 <td class="colFirst"><code>(package private) org.apache.bookkeeper.common.util.OrderedScheduler</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeper.html#getScheduler--">getScheduler</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i50" class="altColor">
+<tr id="i51" class="rowColor">
 <td class="colFirst"><code>(package private) <a href="../../../../org/apache/bookkeeper/stats/Counter.html" title="interface in org.apache.bookkeeper.stats">Counter</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeper.html#getSpeculativeReadCounter--">getSpeculativeReadCounter</a></span>()</code>
 <div class="block">Returns ref to speculative read counter, needed in PendingReadOp.</div>
 </td>
 </tr>
-<tr id="i51" class="rowColor">
+<tr id="i52" class="altColor">
 <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"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeper.html#getStatsLogger--">getStatsLogger</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i52" class="altColor">
+<tr id="i53" class="rowColor">
 <td class="colFirst"><code>(package private) org.apache.bookkeeper.meta.LedgerManager</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeper.html#getUnderlyingLedgerManager--">getUnderlyingLedgerManager</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i53" class="rowColor">
+<tr id="i54" class="altColor">
 <td class="colFirst"><code>(package private) <a href="../../../../org/apache/bookkeeper/stats/OpStatsLogger.html" title="interface in org.apache.bookkeeper.stats">OpStatsLogger</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeper.html#getWriteLacOpLogger--">getWriteLacOpLogger</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i54" class="altColor">
+<tr id="i55" class="rowColor">
 <td class="colFirst"><code>(package private) org.apache.zookeeper.ZooKeeper</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeper.html#getZkHandle--">getZkHandle</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i55" class="rowColor">
+<tr id="i56" class="altColor">
 <td class="colFirst"><code>(package private) boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeper.html#isClosed--">isClosed</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i56" class="altColor">
+<tr id="i57" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeper.html#isClosed-long-">isClosed</a></span>(long&nbsp;lId)</code>
 <div class="block">Check whether the ledger with identifier <i>lId</i>
  has been closed.</div>
 </td>
 </tr>
-<tr id="i57" class="rowColor">
+<tr id="i58" class="altColor">
 <td class="colFirst"><code>(package private) boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeper.html#isReorderReadSequence--">isReorderReadSequence</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i58" class="altColor">
+<tr id="i59" class="rowColor">
 <td class="colFirst"><code><a href="../../../../org/apache/bookkeeper/client/api/CreateBuilder.html" title="interface in org.apache.bookkeeper.client.api">CreateBuilder</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeper.html#newCreateLedgerOp--">newCreateLedgerOp</a></span>()</code>
 <div class="block">Start the creation of a new ledger.</div>
 </td>
 </tr>
-<tr id="i59" class="rowColor">
+<tr id="i60" class="altColor">
 <td class="colFirst"><code><a href="../../../../org/apache/bookkeeper/client/api/DeleteBuilder.html" title="interface in org.apache.bookkeeper.client.api">DeleteBuilder</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeper.html#newDeleteLedgerOp--">newDeleteLedgerOp</a></span>()</code>
 <div class="block">Delete an existing ledger.</div>
 </td>
 </tr>
-<tr id="i60" class="altColor">
+<tr id="i61" class="rowColor">
 <td class="colFirst"><code><a href="../../../../org/apache/bookkeeper/client/api/OpenBuilder.html" title="interface in org.apache.bookkeeper.client.api">OpenBuilder</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeper.html#newOpenLedgerOp--">newOpenLedgerOp</a></span>()</code>
 <div class="block">Open an existing ledger.</div>
 </td>
 </tr>
-<tr id="i61" class="rowColor">
+<tr id="i62" class="altColor">
 <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"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeper.html#openLedger-long-org.apache.bookkeeper.client.BookKeeper.DigestType-byte:A-">openLedger</a></span>(long&nbsp;lId,
           <a href="../../../../org/apache/bookkeeper/client/BookKeeper.DigestType.html" title="enum in org.apache.bookkeeper.client">BookKeeper.DigestType</a>&nbsp;digestType,
@@ -721,7 +725,7 @@ implements <a href="../../../../org/apache/bookkeeper/client/api/BookKeeper.html
 <div class="block">Synchronous open ledger call.</div>
 </td>
 </tr>
-<tr id="i62" class="altColor">
+<tr id="i63" 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"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeper.html#openLedgerNoRecovery-long-org.apache.bookkeeper.client.BookKeeper.DigestType-byte:A-">openLedgerNoRecovery</a></span>(long&nbsp;lId,
                     <a href="../../../../org/apache/bookkeeper/client/BookKeeper.DigestType.html" title="enum in org.apache.bookkeeper.client">BookKeeper.DigestType</a>&nbsp;digestType,
@@ -729,11 +733,11 @@ implements <a href="../../../../org/apache/bookkeeper/client/api/BookKeeper.html
 <div class="block">Synchronous, unsafe open ledger call.</div>
 </td>
 </tr>
-<tr id="i63" class="rowColor">
+<tr id="i64" class="altColor">
 <td class="colFirst"><code>(package private) void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeper.html#scheduleBookieHealthCheckIfEnabled--">scheduleBookieHealthCheckIfEnabled</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i64" class="altColor">
+<tr id="i65" class="rowColor">
 <td class="colFirst"><code>(package private) boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeper.html#shouldReorderReadSequence--">shouldReorderReadSequence</a></span>()</code>&nbsp;</td>
 </tr>
@@ -2096,6 +2100,15 @@ implements <a href="../../../../org/apache/bookkeeper/client/api/BookKeeper.html
 <pre><a href="../../../../org/apache/bookkeeper/stats/OpStatsLogger.html" title="interface in org.apache.bookkeeper.stats">OpStatsLogger</a>&nbsp;getAddOpLogger()</pre>
 </li>
 </ul>
+<a name="getForceOpLogger--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getForceOpLogger</h4>
+<pre><a href="../../../../org/apache/bookkeeper/stats/OpStatsLogger.html" title="interface in org.apache.bookkeeper.stats">OpStatsLogger</a>&nbsp;getForceOpLogger()</pre>
+</li>
+</ul>
 <a name="getWriteLacOpLogger--">
 <!--   -->
 </a>
diff --git a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/BookKeeperClientStats.html b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/BookKeeperClientStats.html
index 1fede8b..bd4baa7 100644
--- a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/BookKeeperClientStats.html
+++ b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/BookKeeperClientStats.html
@@ -141,24 +141,32 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeperClientStats.html#CHANNEL_READ_LAC_OP">CHANNEL_READ_LAC_OP</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeperClientStats.html#CHANNEL_FORCE_OP">CHANNEL_FORCE_OP</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeperClientStats.html#CHANNEL_READ_OP">CHANNEL_READ_OP</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeperClientStats.html#CHANNEL_READ_LAC_OP">CHANNEL_READ_LAC_OP</a></span></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeperClientStats.html#CHANNEL_SCOPE">CHANNEL_SCOPE</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeperClientStats.html#CHANNEL_READ_OP">CHANNEL_READ_OP</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeperClientStats.html#CHANNEL_START_TLS_OP">CHANNEL_START_TLS_OP</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeperClientStats.html#CHANNEL_SCOPE">CHANNEL_SCOPE</a></span></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeperClientStats.html#CHANNEL_START_TLS_OP">CHANNEL_START_TLS_OP</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeperClientStats.html#CHANNEL_TIMEOUT_ADD">CHANNEL_TIMEOUT_ADD</a></span></code>&nbsp;</td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeperClientStats.html#CHANNEL_TIMEOUT_FORCE">CHANNEL_TIMEOUT_FORCE</a></span></code>&nbsp;</td>
+</tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeperClientStats.html#CHANNEL_TIMEOUT_READ">CHANNEL_TIMEOUT_READ</a></span></code>&nbsp;</td>
@@ -213,86 +221,90 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeperClientStats.html#GET_BOOKIE_INFO_OP">GET_BOOKIE_INFO_OP</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeperClientStats.html#FORCE_OP">FORCE_OP</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeperClientStats.html#LAC_UPDATE_HITS">LAC_UPDATE_HITS</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeperClientStats.html#GET_BOOKIE_INFO_OP">GET_BOOKIE_INFO_OP</a></span></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeperClientStats.html#LAC_UPDATE_MISSES">LAC_UPDATE_MISSES</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeperClientStats.html#LAC_UPDATE_HITS">LAC_UPDATE_HITS</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeperClientStats.html#LEDGER_ENSEMBLE_BOOKIE_DISTRIBUTION">LEDGER_ENSEMBLE_BOOKIE_DISTRIBUTION</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeperClientStats.html#LAC_UPDATE_MISSES">LAC_UPDATE_MISSES</a></span></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeperClientStats.html#LEDGER_RECOVER_ADD_ENTRIES">LEDGER_RECOVER_ADD_ENTRIES</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeperClientStats.html#LEDGER_ENSEMBLE_BOOKIE_DISTRIBUTION">LEDGER_ENSEMBLE_BOOKIE_DISTRIBUTION</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeperClientStats.html#LEDGER_RECOVER_READ_ENTRIES">LEDGER_RECOVER_READ_ENTRIES</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeperClientStats.html#LEDGER_RECOVER_ADD_ENTRIES">LEDGER_RECOVER_ADD_ENTRIES</a></span></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeperClientStats.html#NETTY_EXCEPTION_CNT">NETTY_EXCEPTION_CNT</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeperClientStats.html#LEDGER_RECOVER_READ_ENTRIES">LEDGER_RECOVER_READ_ENTRIES</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeperClientStats.html#NETTY_OPS">NETTY_OPS</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeperClientStats.html#NETTY_EXCEPTION_CNT">NETTY_EXCEPTION_CNT</a></span></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeperClientStats.html#OPEN_OP">OPEN_OP</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeperClientStats.html#NETTY_OPS">NETTY_OPS</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeperClientStats.html#PENDING_ADDS">PENDING_ADDS</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeperClientStats.html#OPEN_OP">OPEN_OP</a></span></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeperClientStats.html#READ_LAC_OP">READ_LAC_OP</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeperClientStats.html#PENDING_ADDS">PENDING_ADDS</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeperClientStats.html#READ_LAST_CONFIRMED_AND_ENTRY">READ_LAST_CONFIRMED_AND_ENTRY</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeperClientStats.html#READ_LAC_OP">READ_LAC_OP</a></span></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeperClientStats.html#READ_LAST_CONFIRMED_AND_ENTRY_RESPONSE">READ_LAST_CONFIRMED_AND_ENTRY_RESPONSE</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeperClientStats.html#READ_LAST_CONFIRMED_AND_ENTRY">READ_LAST_CONFIRMED_AND_ENTRY</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeperClientStats.html#READ_OP">READ_OP</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeperClientStats.html#READ_LAST_CONFIRMED_AND_ENTRY_RESPONSE">READ_LAST_CONFIRMED_AND_ENTRY_RESPONSE</a></span></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeperClientStats.html#READ_OP_DM">READ_OP_DM</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeperClientStats.html#READ_OP">READ_OP</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeperClientStats.html#READ_OP_OUTSTANDING">READ_OP_OUTSTANDING</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeperClientStats.html#READ_OP_DM">READ_OP_DM</a></span></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeperClientStats.html#READ_REQUESTS_REORDERED">READ_REQUESTS_REORDERED</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeperClientStats.html#READ_OP_OUTSTANDING">READ_OP_OUTSTANDING</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeperClientStats.html#RECOVER_OP">RECOVER_OP</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeperClientStats.html#READ_REQUESTS_REORDERED">READ_REQUESTS_REORDERED</a></span></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeperClientStats.html#SPECULATIVE_READ_COUNT">SPECULATIVE_READ_COUNT</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeperClientStats.html#RECOVER_OP">RECOVER_OP</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeperClientStats.html#TIMEOUT_GET_BOOKIE_INFO">TIMEOUT_GET_BOOKIE_INFO</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeperClientStats.html#SPECULATIVE_READ_COUNT">SPECULATIVE_READ_COUNT</a></span></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeperClientStats.html#TIMEOUT_GET_BOOKIE_INFO">TIMEOUT_GET_BOOKIE_INFO</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/BookKeeperClientStats.html#WRITE_LAC_OP">WRITE_LAC_OP</a></span></code>&nbsp;</td>
 </tr>
 </table>
@@ -440,6 +452,19 @@
 </dl>
 </li>
 </ul>
+<a name="FORCE_OP">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>FORCE_OP</h4>
+<pre>static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> FORCE_OP</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../constant-values.html#org.apache.bookkeeper.client.BookKeeperClientStats.FORCE_OP">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
 <a name="READ_OP">
 <!--   -->
 </a>
@@ -687,6 +712,19 @@
 </dl>
 </li>
 </ul>
+<a name="CHANNEL_FORCE_OP">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>CHANNEL_FORCE_OP</h4>
+<pre>static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> CHANNEL_FORCE_OP</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../constant-values.html#org.apache.bookkeeper.client.BookKeeperClientStats.CHANNEL_FORCE_OP">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
 <a name="CHANNEL_TIMEOUT_WRITE_LAC">
 <!--   -->
 </a>
@@ -700,6 +738,19 @@
 </dl>
 </li>
 </ul>
+<a name="CHANNEL_TIMEOUT_FORCE">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>CHANNEL_TIMEOUT_FORCE</h4>
+<pre>static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> CHANNEL_TIMEOUT_FORCE</pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../constant-values.html#org.apache.bookkeeper.client.BookKeeperClientStats.CHANNEL_TIMEOUT_FORCE">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
 <a name="CHANNEL_READ_LAC_OP">
 <!--   -->
 </a>
diff --git a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/DistributionSchedule.html b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/DistributionSchedule.html
index e7b7ec5..59ff300 100644
--- a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/DistributionSchedule.html
+++ b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/DistributionSchedule.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6};
+var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -198,18 +198,25 @@ var activeTableTab = "activeTableTab";
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/DistributionSchedule.html#getCoverageSet--">getCoverageSet</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i2" class="altColor">
-<td class="colFirst"><code><a href="../../../../org/apache/bookkeeper/client/DistributionSchedule.WriteSet.html" title="interface in org.apache.bookkeeper.client">DistributionSchedule.WriteSet</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/DistributionSchedule.html#getWriteSet-long-">getWriteSet</a></span>(long&nbsp;entryId)</code>
-<div class="block">Return the set of bookie indices to send the message to.</div>
+<td class="colFirst"><code><a href="../../../../org/apache/bookkeeper/client/DistributionSchedule.AckSet.html" title="interface in org.apache.bookkeeper.client">DistributionSchedule.AckSet</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/DistributionSchedule.html#getEnsembleAckSet--">getEnsembleAckSet</a></span>()</code>
+<div class="block">Returns an ackset object useful to wait for all bookies in the ensemble,
+ responses should be checked against this.</div>
 </td>
 </tr>
 <tr id="i3" class="rowColor">
 <td class="colFirst"><code><a href="../../../../org/apache/bookkeeper/client/DistributionSchedule.WriteSet.html" title="interface in org.apache.bookkeeper.client">DistributionSchedule.WriteSet</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/DistributionSchedule.html#getWriteSetForLongPoll-long-">getWriteSetForLongPoll</a></span>(long&nbsp;entryId)</code>
-<div class="block">Return the set of bookies indices to send the messages to for longpoll reads.</div>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/DistributionSchedule.html#getEnsembleSet-long-">getEnsembleSet</a></span>(long&nbsp;entryId)</code>
+<div class="block">Return the set of bookies indices to send the messages to the whole ensemble.</div>
 </td>
 </tr>
 <tr id="i4" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/bookkeeper/client/DistributionSchedule.WriteSet.html" title="interface in org.apache.bookkeeper.client">DistributionSchedule.WriteSet</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/DistributionSchedule.html#getWriteSet-long-">getWriteSet</a></span>(long&nbsp;entryId)</code>
+<div class="block">Return the set of bookie indices to send the message to.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/DistributionSchedule.html#hasEntry-long-int-">hasEntry</a></span>(long&nbsp;entryId,
         int&nbsp;bookieIndex)</code>
@@ -258,19 +265,19 @@ var activeTableTab = "activeTableTab";
 <div class="block">Return the set of bookie indices to send the message to.</div>
 </li>
 </ul>
-<a name="getWriteSetForLongPoll-long-">
+<a name="getEnsembleSet-long-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getWriteSetForLongPoll</h4>
-<pre><a href="../../../../org/apache/bookkeeper/client/DistributionSchedule.WriteSet.html" title="interface in org.apache.bookkeeper.client">DistributionSchedule.WriteSet</a>&nbsp;getWriteSetForLongPoll(long&nbsp;entryId)</pre>
-<div class="block">Return the set of bookies indices to send the messages to for longpoll reads.</div>
+<h4>getEnsembleSet</h4>
+<pre><a href="../../../../org/apache/bookkeeper/client/DistributionSchedule.WriteSet.html" title="interface in org.apache.bookkeeper.client">DistributionSchedule.WriteSet</a>&nbsp;getEnsembleSet(long&nbsp;entryId)</pre>
+<div class="block">Return the set of bookies indices to send the messages to the whole ensemble.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>entryId</code> - expected next entry id to read.</dd>
+<dd><code>entryId</code> - entry id used to calculate the ensemble.</dd>
 <dt><span class="returnLabel">Returns:</span></dt>
-<dd>the set of bookies indices to read from.</dd>
+<dd>the set of bookies indices to send the request.</dd>
 </dl>
 </li>
 </ul>
@@ -284,6 +291,17 @@ var activeTableTab = "activeTableTab";
 <div class="block">Returns an ackset object, responses should be checked against this.</div>
 </li>
 </ul>
+<a name="getEnsembleAckSet--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getEnsembleAckSet</h4>
+<pre><a href="../../../../org/apache/bookkeeper/client/DistributionSchedule.AckSet.html" title="interface in org.apache.bookkeeper.client">DistributionSchedule.AckSet</a>&nbsp;getEnsembleAckSet()</pre>
+<div class="block">Returns an ackset object useful to wait for all bookies in the ensemble,
+ responses should be checked against this.</div>
+</li>
+</ul>
 <a name="getCoverageSet--">
 <!--   -->
 </a>
diff --git a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/ExplicitLacFlushPolicy.ExplicitLacFlushPolicyImpl.html b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/ExplicitLacFlushPolicy.ExplicitLacFlushPolicyImpl.html
index 3b253e1..ef0cf0a 100644
--- a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/ExplicitLacFlushPolicy.ExplicitLacFlushPolicyImpl.html
+++ b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/ExplicitLacFlushPolicy.ExplicitLacFlushPolicyImpl.html
@@ -50,7 +50,7 @@ var activeTableTab = "activeTableTab";
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../org/apache/bookkeeper/client/ExplicitLacFlushPolicy.html" title="interface in org.apache.bookkeeper.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../org/apache/bookkeeper/client/ITopologyAwareEnsemblePlacementPolicy.html" title="interface in org.apache.bookkeeper.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/bookkeeper/client/ForceLedgerOp.html" title="class in org.apache.bookkeeper.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../index.html?org/apache/bookkeeper/client/ExplicitLacFlushPolicy.ExplicitLacFlushPolicyImpl.html" target="_top">Frames</a></li>
@@ -396,7 +396,7 @@ implements <a href="../../../../org/apache/bookkeeper/client/ExplicitLacFlushPol
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../org/apache/bookkeeper/client/ExplicitLacFlushPolicy.html" title="interface in org.apache.bookkeeper.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../org/apache/bookkeeper/client/ITopologyAwareEnsemblePlacementPolicy.html" title="interface in org.apache.bookkeeper.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/bookkeeper/client/ForceLedgerOp.html" title="class in org.apache.bookkeeper.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../index.html?org/apache/bookkeeper/client/ExplicitLacFlushPolicy.ExplicitLacFlushPolicyImpl.html" target="_top">Frames</a></li>
diff --git a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/ExplicitLacFlushPolicy.ExplicitLacFlushPolicyImpl.html b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/ForceLedgerOp.html
similarity index 59%
copy from content/docs/latest/api/javadoc/org/apache/bookkeeper/client/ExplicitLacFlushPolicy.ExplicitLacFlushPolicyImpl.html
copy to content/docs/latest/api/javadoc/org/apache/bookkeeper/client/ForceLedgerOp.html
index 3b253e1..6a3b14a 100644
--- a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/ExplicitLacFlushPolicy.ExplicitLacFlushPolicyImpl.html
+++ b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/ForceLedgerOp.html
@@ -4,7 +4,7 @@
 <head>
 <!-- Generated by javadoc -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>ExplicitLacFlushPolicy.ExplicitLacFlushPolicyImpl (Apache BookKeeper :: Parent 4.8.0-SNAPSHOT API)</title>
+<title>ForceLedgerOp (Apache BookKeeper :: Parent 4.8.0-SNAPSHOT API)</title>
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
 </head>
@@ -12,7 +12,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="ExplicitLacFlushPolicy.ExplicitLacFlushPolicyImpl (Apache BookKeeper :: Parent 4.8.0-SNAPSHOT API)";
+            parent.document.title="ForceLedgerOp (Apache BookKeeper :: Parent 4.8.0-SNAPSHOT API)";
         }
     }
     catch(err) {
@@ -40,7 +40,7 @@ var activeTableTab = "activeTableTab";
 <li><a href="../../../../overview-summary.html">Overview</a></li>
 <li><a href="package-summary.html">Package</a></li>
 <li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/ExplicitLacFlushPolicy.ExplicitLacFlushPolicyImpl.html">Use</a></li>
+<li><a href="class-use/ForceLedgerOp.html">Use</a></li>
 <li><a href="package-tree.html">Tree</a></li>
 <li><a href="../../../../deprecated-list.html">Deprecated</a></li>
 <li><a href="../../../../index-all.html">Index</a></li>
@@ -49,12 +49,12 @@ var activeTableTab = "activeTableTab";
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../org/apache/bookkeeper/client/ExplicitLacFlushPolicy.html" title="interface in org.apache.bookkeeper.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/bookkeeper/client/ExplicitLacFlushPolicy.ExplicitLacFlushPolicyImpl.html" title="class in org.apache.bookkeeper.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../org/apache/bookkeeper/client/ITopologyAwareEnsemblePlacementPolicy.html" title="interface in org.apache.bookkeeper.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../index.html?org/apache/bookkeeper/client/ExplicitLacFlushPolicy.ExplicitLacFlushPolicyImpl.html" target="_top">Frames</a></li>
-<li><a href="ExplicitLacFlushPolicy.ExplicitLacFlushPolicyImpl.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../index.html?org/apache/bookkeeper/client/ForceLedgerOp.html" target="_top">Frames</a></li>
+<li><a href="ForceLedgerOp.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_top">
 <li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -93,14 +93,19 @@ var activeTableTab = "activeTableTab";
 <!-- ======== START OF CLASS DATA ======== -->
 <div class="header">
 <div class="subTitle">org.apache.bookkeeper.client</div>
-<h2 title="Class ExplicitLacFlushPolicy.ExplicitLacFlushPolicyImpl" class="title">Class ExplicitLacFlushPolicy.ExplicitLacFlushPolicyImpl</h2>
+<h2 title="Class ForceLedgerOp" class="title">Class ForceLedgerOp</h2>
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
 <li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
-<li>org.apache.bookkeeper.client.ExplicitLacFlushPolicy.ExplicitLacFlushPolicyImpl</li>
+<li>org.apache.bookkeeper.util.SafeRunnable</li>
+<li>
+<ul class="inheritance">
+<li>org.apache.bookkeeper.client.ForceLedgerOp</li>
+</ul>
+</li>
 </ul>
 </li>
 </ul>
@@ -109,38 +114,20 @@ var activeTableTab = "activeTableTab";
 <li class="blockList">
 <dl>
 <dt>All Implemented Interfaces:</dt>
-<dd><a href="../../../../org/apache/bookkeeper/client/ExplicitLacFlushPolicy.html" title="interface in org.apache.bookkeeper.client">ExplicitLacFlushPolicy</a></dd>
-</dl>
-<dl>
-<dt>Enclosing interface:</dt>
-<dd><a href="../../../../org/apache/bookkeeper/client/ExplicitLacFlushPolicy.html" title="interface in org.apache.bookkeeper.client">ExplicitLacFlushPolicy</a></dd>
+<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a>, org.apache.bookkeeper.common.util.SafeRunnable, org.apache.bookkeeper.proto.BookkeeperInternalCallbacks.ForceLedgerCallback</dd>
 </dl>
 <hr>
 <br>
-<pre>public static class <span class="typeNameLabel">ExplicitLacFlushPolicy.ExplicitLacFlushPolicyImpl</span>
-extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
-implements <a href="../../../../org/apache/bookkeeper/client/ExplicitLacFlushPolicy.html" title="interface in org.apache.bookkeeper.client">ExplicitLacFlushPolicy</a></pre>
+<pre>class <span class="typeNameLabel">ForceLedgerOp</span>
+extends org.apache.bookkeeper.util.SafeRunnable
+implements org.apache.bookkeeper.proto.BookkeeperInternalCallbacks.ForceLedgerCallback</pre>
+<div class="block">This represents a request to sync the ledger on every bookie.</div>
 </li>
 </ul>
 </div>
 <div class="summary">
 <ul class="blockList">
 <li class="blockList">
-<!-- ======== NESTED CLASS SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="nested.class.summary">
-<!--   -->
-</a>
-<h3>Nested Class Summary</h3>
-<ul class="blockList">
-<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.bookkeeper.client.ExplicitLacFlushPolicy">
-<!--   -->
-</a>
-<h3>Nested classes/interfaces inherited from interface&nbsp;org.apache.bookkeeper.client.<a href="../../../../org/apache/bookkeeper/client/ExplicitLacFlushPolicy.html" title="interface in org.apache.bookkeeper.client">ExplicitLacFlushPolicy</a></h3>
-<code><a href="../../../../org/apache/bookkeeper/client/ExplicitLacFlushPolicy.ExplicitLacFlushPolicyImpl.html" title="class in org.apache.bookkeeper.client">ExplicitLacFlushPolicy.ExplicitLacFlushPolicyImpl</a></code></li>
-</ul>
-</li>
-</ul>
 <!-- =========== FIELD SUMMARY =========== -->
 <ul class="blockList">
 <li class="blockList"><a name="field.summary">
@@ -154,32 +141,44 @@ implements <a href="../../../../org/apache/bookkeeper/client/ExplicitLacFlushPol
 <th class="colLast" scope="col">Field and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>(package private) long</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/ExplicitLacFlushPolicy.ExplicitLacFlushPolicyImpl.html#explicitLac">explicitLac</a></span></code>&nbsp;</td>
+<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"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/ForceLedgerOp.html#ackSet">ackSet</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"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/ExplicitLacFlushPolicy.ExplicitLacFlushPolicyImpl.html#lh">lh</a></span></code>&nbsp;</td>
+<td class="colFirst"><code>(package private) <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/ForceLedgerOp.html#cb">cb</a></span></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>(package private) static org.slf4j.Logger</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/ExplicitLacFlushPolicy.ExplicitLacFlushPolicyImpl.html#LOG">LOG</a></span></code>&nbsp;</td>
+<td class="colFirst"><code>(package private) boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/ForceLedgerOp.html#completed">completed</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><code>(package private) <a href="https://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"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/ForceLedgerOp.html#currentEnsemble">currentEnsemble</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><code>(package private) long</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/ExplicitLacFlushPolicy.ExplicitLacFlushPolicyImpl.html#piggyBackedLac">piggyBackedLac</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/ForceLedgerOp.html#currentNonDurableLastAddConfirmed">currentNonDurableLastAddConfirmed</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>(package private) boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/ForceLedgerOp.html#errored">errored</a></span></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>(package private) <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ScheduledFuture.html?is-external=true" title="class or interface in java.util.concurrent">ScheduledFuture</a>&lt;?&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/ExplicitLacFlushPolicy.ExplicitLacFlushPolicyImpl.html#scheduledFuture">scheduledFuture</a></span></code>&nbsp;</td>
+<td class="colFirst"><code>(package private) int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/ForceLedgerOp.html#lastSeenError">lastSeenError</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"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/ForceLedgerOp.html#lh">lh</a></span></code>&nbsp;</td>
 </tr>
 </table>
 <ul class="blockList">
-<li class="blockList"><a name="fields.inherited.from.class.org.apache.bookkeeper.client.ExplicitLacFlushPolicy">
+<li class="blockList"><a name="fields.inherited.from.class.org.apache.bookkeeper.common.util.SafeRunnable">
 <!--   -->
 </a>
-<h3>Fields inherited from interface&nbsp;org.apache.bookkeeper.client.<a href="../../../../org/apache/bookkeeper/client/ExplicitLacFlushPolicy.html" title="interface in org.apache.bookkeeper.client">ExplicitLacFlushPolicy</a></h3>
-<code><a href="../../../../org/apache/bookkeeper/client/ExplicitLacFlushPolicy.html#VOID_EXPLICITLAC_FLUSH_POLICY">VOID_EXPLICITLAC_FLUSH_POLICY</a></code></li>
+<h3>Fields inherited from interface&nbsp;org.apache.bookkeeper.common.util.SafeRunnable</h3>
+<code>LOGGER</code></li>
 </ul>
 </li>
 </ul>
@@ -195,7 +194,8 @@ implements <a href="../../../../org/apache/bookkeeper/client/ExplicitLacFlushPol
 <th class="colOne" scope="col">Constructor and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/ExplicitLacFlushPolicy.ExplicitLacFlushPolicyImpl.html#ExplicitLacFlushPolicyImpl-org.apache.bookkeeper.client.LedgerHandle-">ExplicitLacFlushPolicyImpl</a></span>(<a href="../../../../org/apache/bookkeeper/client/LedgerHandle.html" title="class in org.apache.bookkeeper.client">LedgerHandle</a>&nbsp;lh)</code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/ForceLedgerOp.html#ForceLedgerOp-org.apache.bookkeeper.client.LedgerHandle-java.util.concurrent.CompletableFuture-">ForceLedgerOp</a></span>(<a href="../../../../org/apache/bookkeeper/client/LedgerHandle.html" title="class in org.apache.bookkeeper.client">LedgerHandle</a>&nbsp;lh,
+             <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;cb)</code>&nbsp;</td>
 </tr>
 </table>
 </li>
@@ -213,31 +213,46 @@ implements <a href="../../../../org/apache/bookkeeper/client/ExplicitLacFlushPol
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
-<td class="colFirst"><code>(package private) void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/ExplicitLacFlushPolicy.ExplicitLacFlushPolicyImpl.html#asyncExplicitLacFlush-long-">asyncExplicitLacFlush</a></span>(long&nbsp;explicitLac)</code>
-<div class="block">Make a LastAddUpdate request.</div>
-</td>
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/ForceLedgerOp.html#forceLedgerComplete-int-long-org.apache.bookkeeper.net.BookieSocketAddress-java.lang.Object-">forceLedgerComplete</a></span>(int&nbsp;rc,
+                   long&nbsp;ledgerId,
+                   org.apache.bookkeeper.net.BookieSocketAddress&nbsp;addr,
+                   <a href="https://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 id="i1" class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/ExplicitLacFlushPolicy.ExplicitLacFlushPolicyImpl.html#setPiggyBackedLac-long-">setPiggyBackedLac</a></span>(long&nbsp;piggyBackedLac)</code>&nbsp;</td>
+<td class="colFirst"><code>(package private) void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/ForceLedgerOp.html#initiate--">initiate</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i2" class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/ExplicitLacFlushPolicy.ExplicitLacFlushPolicyImpl.html#stopExplicitLacFlush--">stopExplicitLacFlush</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/ForceLedgerOp.html#safeRun--">safeRun</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i3" class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/ExplicitLacFlushPolicy.ExplicitLacFlushPolicyImpl.html#updatePiggyBackedLac-long-">updatePiggyBackedLac</a></span>(long&nbsp;piggyBackedLac)</code>&nbsp;</td>
+<td class="colFirst"><code>(package private) void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/ForceLedgerOp.html#sendForceLedgerRequest-int-">sendForceLedgerRequest</a></span>(int&nbsp;bookieIndex)</code>&nbsp;</td>
 </tr>
 </table>
 <ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.bookkeeper.util.SafeRunnable">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.bookkeeper.util.SafeRunnable</h3>
+<code>safeRun, safeRun</code></li>
+</ul>
+<ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
 <code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="htt [...]
 </ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.bookkeeper.common.util.SafeRunnable">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.bookkeeper.common.util.SafeRunnable</h3>
+<code>run</code></li>
+</ul>
 </li>
 </ul>
 </li>
@@ -252,49 +267,76 @@ implements <a href="../../../../org/apache/bookkeeper/client/ExplicitLacFlushPol
 <!--   -->
 </a>
 <h3>Field Detail</h3>
-<a name="LOG">
+<a name="cb">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>LOG</h4>
-<pre>static final&nbsp;org.slf4j.Logger LOG</pre>
+<h4>cb</h4>
+<pre>final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt; cb</pre>
 </li>
 </ul>
-<a name="piggyBackedLac">
+<a name="ackSet">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>piggyBackedLac</h4>
-<pre>volatile&nbsp;long piggyBackedLac</pre>
+<h4>ackSet</h4>
+<pre><a href="../../../../org/apache/bookkeeper/client/DistributionSchedule.AckSet.html" title="interface in org.apache.bookkeeper.client">DistributionSchedule.AckSet</a> ackSet</pre>
 </li>
 </ul>
-<a name="explicitLac">
+<a name="completed">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>explicitLac</h4>
-<pre>volatile&nbsp;long explicitLac</pre>
+<h4>completed</h4>
+<pre>boolean completed</pre>
 </li>
 </ul>
-<a name="lh">
+<a name="errored">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>lh</h4>
-<pre>final&nbsp;<a href="../../../../org/apache/bookkeeper/client/LedgerHandle.html" title="class in org.apache.bookkeeper.client">LedgerHandle</a> lh</pre>
+<h4>errored</h4>
+<pre>boolean errored</pre>
+</li>
+</ul>
+<a name="lastSeenError">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>lastSeenError</h4>
+<pre>int lastSeenError</pre>
+</li>
+</ul>
+<a name="currentEnsemble">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>currentEnsemble</h4>
+<pre><a href="https://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; currentEnsemble</pre>
 </li>
 </ul>
-<a name="scheduledFuture">
+<a name="currentNonDurableLastAddConfirmed">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>currentNonDurableLastAddConfirmed</h4>
+<pre>long currentNonDurableLastAddConfirmed</pre>
+</li>
+</ul>
+<a name="lh">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>scheduledFuture</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ScheduledFuture.html?is-external=true" title="class or interface in java.util.concurrent">ScheduledFuture</a>&lt;?&gt; scheduledFuture</pre>
+<h4>lh</h4>
+<pre>final&nbsp;<a href="../../../../org/apache/bookkeeper/client/LedgerHandle.html" title="class in org.apache.bookkeeper.client">LedgerHandle</a> lh</pre>
 </li>
 </ul>
 </li>
@@ -305,13 +347,14 @@ implements <a href="../../../../org/apache/bookkeeper/client/ExplicitLacFlushPol
 <!--   -->
 </a>
 <h3>Constructor Detail</h3>
-<a name="ExplicitLacFlushPolicyImpl-org.apache.bookkeeper.client.LedgerHandle-">
+<a name="ForceLedgerOp-org.apache.bookkeeper.client.LedgerHandle-java.util.concurrent.CompletableFuture-">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>ExplicitLacFlushPolicyImpl</h4>
-<pre>ExplicitLacFlushPolicyImpl(<a href="../../../../org/apache/bookkeeper/client/LedgerHandle.html" title="class in org.apache.bookkeeper.client">LedgerHandle</a>&nbsp;lh)</pre>
+<h4>ForceLedgerOp</h4>
+<pre>ForceLedgerOp(<a href="../../../../org/apache/bookkeeper/client/LedgerHandle.html" title="class in org.apache.bookkeeper.client">LedgerHandle</a>&nbsp;lh,
+              <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;cb)</pre>
 </li>
 </ul>
 </li>
@@ -322,48 +365,50 @@ implements <a href="../../../../org/apache/bookkeeper/client/ExplicitLacFlushPol
 <!--   -->
 </a>
 <h3>Method Detail</h3>
-<a name="setPiggyBackedLac-long-">
+<a name="sendForceLedgerRequest-int-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setPiggyBackedLac</h4>
-<pre>public&nbsp;void&nbsp;setPiggyBackedLac(long&nbsp;piggyBackedLac)</pre>
+<h4>sendForceLedgerRequest</h4>
+<pre>void&nbsp;sendForceLedgerRequest(int&nbsp;bookieIndex)</pre>
 </li>
 </ul>
-<a name="asyncExplicitLacFlush-long-">
+<a name="safeRun--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>asyncExplicitLacFlush</h4>
-<pre>void&nbsp;asyncExplicitLacFlush(long&nbsp;explicitLac)</pre>
-<div class="block">Make a LastAddUpdate request.</div>
+<h4>safeRun</h4>
+<pre>public&nbsp;void&nbsp;safeRun()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code>safeRun</code>&nbsp;in interface&nbsp;<code>org.apache.bookkeeper.common.util.SafeRunnable</code></dd>
+</dl>
 </li>
 </ul>
-<a name="stopExplicitLacFlush--">
+<a name="initiate--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>stopExplicitLacFlush</h4>
-<pre>public&nbsp;void&nbsp;stopExplicitLacFlush()</pre>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../org/apache/bookkeeper/client/ExplicitLacFlushPolicy.html#stopExplicitLacFlush--">stopExplicitLacFlush</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/bookkeeper/client/ExplicitLacFlushPolicy.html" title="interface in org.apache.bookkeeper.client">ExplicitLacFlushPolicy</a></code></dd>
-</dl>
+<h4>initiate</h4>
+<pre>void&nbsp;initiate()</pre>
 </li>
 </ul>
-<a name="updatePiggyBackedLac-long-">
+<a name="forceLedgerComplete-int-long-org.apache.bookkeeper.net.BookieSocketAddress-java.lang.Object-">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>updatePiggyBackedLac</h4>
-<pre>public&nbsp;void&nbsp;updatePiggyBackedLac(long&nbsp;piggyBackedLac)</pre>
+<h4>forceLedgerComplete</h4>
+<pre>public&nbsp;void&nbsp;forceLedgerComplete(int&nbsp;rc,
+                                long&nbsp;ledgerId,
+                                org.apache.bookkeeper.net.BookieSocketAddress&nbsp;addr,
+                                <a href="https://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)</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../org/apache/bookkeeper/client/ExplicitLacFlushPolicy.html#updatePiggyBackedLac-long-">updatePiggyBackedLac</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/bookkeeper/client/ExplicitLacFlushPolicy.html" title="interface in org.apache.bookkeeper.client">ExplicitLacFlushPolicy</a></code></dd>
+<dd><code>forceLedgerComplete</code>&nbsp;in interface&nbsp;<code>org.apache.bookkeeper.proto.BookkeeperInternalCallbacks.ForceLedgerCallback</code></dd>
 </dl>
 </li>
 </ul>
@@ -386,7 +431,7 @@ implements <a href="../../../../org/apache/bookkeeper/client/ExplicitLacFlushPol
 <li><a href="../../../../overview-summary.html">Overview</a></li>
 <li><a href="package-summary.html">Package</a></li>
 <li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/ExplicitLacFlushPolicy.ExplicitLacFlushPolicyImpl.html">Use</a></li>
+<li><a href="class-use/ForceLedgerOp.html">Use</a></li>
 <li><a href="package-tree.html">Tree</a></li>
 <li><a href="../../../../deprecated-list.html">Deprecated</a></li>
 <li><a href="../../../../index-all.html">Index</a></li>
@@ -395,12 +440,12 @@ implements <a href="../../../../org/apache/bookkeeper/client/ExplicitLacFlushPol
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../org/apache/bookkeeper/client/ExplicitLacFlushPolicy.html" title="interface in org.apache.bookkeeper.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/bookkeeper/client/ExplicitLacFlushPolicy.ExplicitLacFlushPolicyImpl.html" title="class in org.apache.bookkeeper.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../org/apache/bookkeeper/client/ITopologyAwareEnsemblePlacementPolicy.html" title="interface in org.apache.bookkeeper.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../index.html?org/apache/bookkeeper/client/ExplicitLacFlushPolicy.ExplicitLacFlushPolicyImpl.html" target="_top">Frames</a></li>
-<li><a href="ExplicitLacFlushPolicy.ExplicitLacFlushPolicyImpl.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../index.html?org/apache/bookkeeper/client/ForceLedgerOp.html" target="_top">Frames</a></li>
+<li><a href="ForceLedgerOp.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_bottom">
 <li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
diff --git a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/ITopologyAwareEnsemblePlacementPolicy.html b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/ITopologyAwareEnsemblePlacementPolicy.html
index 6f75629..693dc14 100644
--- a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/ITopologyAwareEnsemblePlacementPolicy.html
+++ b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/ITopologyAwareEnsemblePlacementPolicy.html
@@ -49,7 +49,7 @@ var activeTableTab = "activeTableTab";
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../org/apache/bookkeeper/client/ExplicitLacFlushPolicy.ExplicitLacFlushPolicyImpl.html" title="class in org.apache.bookkeeper.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/bookkeeper/client/ForceLedgerOp.html" title="class in org.apache.bookkeeper.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../org/apache/bookkeeper/client/ITopologyAwareEnsemblePlacementPolicy.Ensemble.html" title="interface in org.apache.bookkeeper.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -329,7 +329,7 @@ extends <a href="../../../../org/apache/bookkeeper/client/EnsemblePlacementPolic
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../org/apache/bookkeeper/client/ExplicitLacFlushPolicy.ExplicitLacFlushPolicyImpl.html" title="class in org.apache.bookkeeper.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../org/apache/bookkeeper/client/ForceLedgerOp.html" title="class in org.apache.bookkeeper.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../org/apache/bookkeeper/client/ITopologyAwareEnsemblePlacementPolicy.Ensemble.html" title="interface in org.apache.bookkeeper.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
diff --git a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/LedgerHandle.html b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/LedgerHandle.html
index 9572d44..74baa5b 100644
--- a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/LedgerHandle.html
+++ b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/LedgerHandle.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10,"i35":10,"i36":10,"i37":10,"i38":10,"i39":10,"i40":10,"i41":10,"i42":10,"i43":10,"i44":10,"i45":10,"i46":10,"i47":10,"i48":10,"i49":10,"i50":10,"i51":10,"i52":10,"i53":10," [...]
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10,"i35":10,"i36":10,"i37":10,"i38":10,"i39":10,"i40":10,"i41":10,"i42":10,"i43":10,"i44":10,"i45":10,"i46":10,"i47":10,"i48":10,"i49":10,"i50":10,"i51":10,"i52":10,"i53":10," [...]
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -109,7 +109,7 @@ var activeTableTab = "activeTableTab";
 <li class="blockList">
 <dl>
 <dt>All Implemented Interfaces:</dt>
-<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a>, <a href="../../../../org/apache/bookkeeper/client/api/Handle.html" title="interface in org.apache.bookkeeper.client.api">Handle</a>, <a href="../../../../org/apache/bookkeeper/client/api/ReadHandle.html" title="interface in org.apache.bookkeeper.client.api">ReadHandle</a>, <a href="../../../../org/apache/bookkeeper/client/api/Wri [...]
+<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a>, <a href="../../../../org/apache/bookkeeper/client/api/ForceableHandle.html" title="interface in org.apache.bookkeeper.client.api">ForceableHandle</a>, <a href="../../../../org/apache/bookkeeper/client/api/Handle.html" title="interface in org.apache.bookkeeper.client.api">Handle</a>, <a href="../../../../org/apache/bookkeeper/clie [...]
 </dl>
 <dl>
 <dt>Direct Known Subclasses:</dt>
@@ -557,144 +557,150 @@ implements <a href="../../../../org/apache/bookkeeper/client/api/WriteHandle.htm
                    <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../org/apache/bookkeeper/client/PendingAddOp.html" title="class in org.apache.bookkeeper.client">PendingAddOp</a>&gt;&nbsp;ops)</code>&nbsp;</td>
 </tr>
 <tr id="i30" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/LedgerHandle.html#force--">force</a></span>()</code>
+<div class="block">Enforce durability to the entries written by this handle.</div>
+</td>
+</tr>
+<tr id="i31" 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"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/LedgerHandle.html#getBk--">getBk</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i31" class="rowColor">
+<tr id="i32" class="altColor">
 <td class="colFirst"><code>(package private) <a href="../../../../org/apache/bookkeeper/client/BookiesHealthInfo.html" title="interface in org.apache.bookkeeper.client">BookiesHealthInfo</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/LedgerHandle.html#getBookiesHealthInfo--">getBookiesHealthInfo</a></span>()</code>
 <div class="block">Get the health info for bookies for this ledger.</div>
 </td>
 </tr>
-<tr id="i32" class="altColor">
+<tr id="i33" class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/LedgerHandle.html#getCtime--">getCtime</a></span>()</code>
 <div class="block">Returns the ledger creation time.</div>
 </td>
 </tr>
-<tr id="i33" class="rowColor">
+<tr id="i34" class="altColor">
 <td class="colFirst"><code><a href="https://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="https://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;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/LedgerHandle.html#getCustomMetadata--">getCustomMetadata</a></span>()</code>
 <div class="block">Get this ledger's customMetadata map.</div>
 </td>
 </tr>
-<tr id="i34" class="altColor">
+<tr id="i35" class="rowColor">
 <td class="colFirst"><code><a href="https://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="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,org.apache.bookkeeper.net.BookieSocketAddress&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/LedgerHandle.html#getDelayedWriteFailedBookies--">getDelayedWriteFailedBookies</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i35" class="rowColor">
+<tr id="i36" class="altColor">
 <td class="colFirst"><code>(package private) org.apache.bookkeeper.proto.checksum.DigestManager</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/LedgerHandle.html#getDigestManager--">getDigestManager</a></span>()</code>
 <div class="block">Get the DigestManager.</div>
 </td>
 </tr>
-<tr id="i36" class="altColor">
+<tr id="i37" class="rowColor">
 <td class="colFirst"><code>(package private) <a href="../../../../org/apache/bookkeeper/client/DistributionSchedule.html" title="interface in org.apache.bookkeeper.client">DistributionSchedule</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/LedgerHandle.html#getDistributionSchedule--">getDistributionSchedule</a></span>()</code>
 <div class="block">Get the Distribution Schedule.</div>
 </td>
 </tr>
-<tr id="i37" class="rowColor">
+<tr id="i38" class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/LedgerHandle.html#getId--">getId</a></span>()</code>
 <div class="block">Get the id of the current ledger.</div>
 </td>
 </tr>
-<tr id="i38" class="altColor">
+<tr id="i39" class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/LedgerHandle.html#getLastAddConfirmed--">getLastAddConfirmed</a></span>()</code>
 <div class="block">Get the last confirmed entry id on this ledger.</div>
 </td>
 </tr>
-<tr id="i39" class="rowColor">
+<tr id="i40" class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/LedgerHandle.html#getLastAddPushed--">getLastAddPushed</a></span>()</code>
 <div class="block">Get the entry id of the last entry that has been enqueued for addition (but
  may not have possibly been persisted to the ledger).</div>
 </td>
 </tr>
-<tr id="i40" class="altColor">
+<tr id="i41" class="rowColor">
 <td class="colFirst"><code>byte[]</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/LedgerHandle.html#getLedgerKey--">getLedgerKey</a></span>()</code>
 <div class="block">Get the Ledger's key/password.</div>
 </td>
 </tr>
-<tr id="i41" class="rowColor">
+<tr id="i42" class="altColor">
 <td class="colFirst"><code><a href="../../../../org/apache/bookkeeper/client/LedgerMetadata.html" title="class in org.apache.bookkeeper.client">LedgerMetadata</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/LedgerHandle.html#getLedgerMetadata--">getLedgerMetadata</a></span>()</code>
 <div class="block">Returns the metadata of this ledger.</div>
 </td>
 </tr>
-<tr id="i42" class="altColor">
+<tr id="i43" class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/LedgerHandle.html#getLength--">getLength</a></span>()</code>
 <div class="block">Returns the length of the ledger in bytes.</div>
 </td>
 </tr>
-<tr id="i43" class="rowColor">
+<tr id="i44" class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/LedgerHandle.html#getNumBookies--">getNumBookies</a></span>()</code>
 <div class="block">Get the count of unique bookies that own part of this ledger
  by going over all the fragments of the ledger.</div>
 </td>
 </tr>
-<tr id="i44" class="altColor">
+<tr id="i45" class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/LedgerHandle.html#getNumFragments--">getNumFragments</a></span>()</code>
 <div class="block">Get the number of fragments that makeup this ledger.</div>
 </td>
 </tr>
-<tr id="i45" class="rowColor">
+<tr id="i46" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/EnumSet.html?is-external=true" title="class or interface in java.util">EnumSet</a>&lt;<a href="../../../../org/apache/bookkeeper/client/api/WriteFlag.html" title="enum in org.apache.bookkeeper.client.api">WriteFlag</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/LedgerHandle.html#getWriteFlags--">getWriteFlags</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i46" class="altColor">
+<tr id="i47" class="rowColor">
 <td class="colFirst"><code>(package private) void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/LedgerHandle.html#handleBookieFailure-java.util.Map-">handleBookieFailure</a></span>(<a href="https://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="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,org.apache.bookkeep [...]
 </tr>
-<tr id="i47" class="rowColor">
+<tr id="i48" class="altColor">
 <td class="colFirst"><code>(package private) void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/LedgerHandle.html#handleDelayedWriteBookieFailure--">handleDelayedWriteBookieFailure</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i48" class="altColor">
+<tr id="i49" class="rowColor">
 <td class="colFirst"><code>(package private) void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/LedgerHandle.html#handleUnrecoverableErrorDuringAdd-int-">handleUnrecoverableErrorDuringAdd</a></span>(int&nbsp;rc)</code>&nbsp;</td>
 </tr>
-<tr id="i49" class="rowColor">
+<tr id="i50" class="altColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/LedgerHandle.html#initializeExplicitLacFlushPolicy--">initializeExplicitLacFlushPolicy</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i50" class="altColor">
+<tr id="i51" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/LedgerHandle.html#isClosed--">isClosed</a></span>()</code>
 <div class="block">Returns whether the ledger is sealed or not.</div>
 </td>
 </tr>
-<tr id="i51" class="rowColor">
+<tr id="i52" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../org/apache/bookkeeper/client/api/LedgerEntries.html" title="interface in org.apache.bookkeeper.client.api">LedgerEntries</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/LedgerHandle.html#readAsync-long-long-">readAsync</a></span>(long&nbsp;firstEntry,
          long&nbsp;lastEntry)</code>
 <div class="block">Read a sequence of entries asynchronously.</div>
 </td>
 </tr>
-<tr id="i52" class="altColor">
+<tr id="i53" class="rowColor">
 <td class="colFirst"><code><a href="https://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;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/LedgerHandle.html#readEntries-long-long-">readEntries</a></span>(long&nbsp;firstEntry,
            long&nbsp;lastEntry)</code>
 <div class="block">Read a sequence of entries synchronously.</div>
 </td>
 </tr>
-<tr id="i53" class="rowColor">
+<tr id="i54" class="altColor">
 <td class="colFirst"><code>(package private) <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../org/apache/bookkeeper/client/api/LedgerEntries.html" title="interface in org.apache.bookkeeper.client.api">LedgerEntries</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/LedgerHandle.html#readEntriesInternalAsync-long-long-boolean-">readEntriesInternalAsync</a></span>(long&nbsp;firstEntry,
                         long&nbsp;lastEntry,
                         boolean&nbsp;isRecoveryRead)</code>&nbsp;</td>
 </tr>
-<tr id="i54" class="altColor">
+<tr id="i55" class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/LedgerHandle.html#readExplicitLastConfirmed--">readExplicitLastConfirmed</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i55" class="rowColor">
+<tr id="i56" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../org/apache/bookkeeper/client/api/LastConfirmedAndEntry.html" title="interface in org.apache.bookkeeper.client.api">LastConfirmedAndEntry</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/LedgerHandle.html#readLastAddConfirmedAndEntryAsync-long-long-boolean-">readLastAddConfirmedAndEntryAsync</a></span>(long&nbsp;entryId,
                                  long&nbsp;timeOutInMillis,
@@ -702,30 +708,30 @@ implements <a href="../../../../org/apache/bookkeeper/client/api/WriteHandle.htm
 <div class="block">Asynchronous read specific entry and the latest last add confirmed.</div>
 </td>
 </tr>
-<tr id="i56" class="altColor">
+<tr id="i57" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/LedgerHandle.html#readLastAddConfirmedAsync--">readLastAddConfirmedAsync</a></span>()</code>
 <div class="block">Obtains asynchronously the last confirmed write from a quorum of bookies.</div>
 </td>
 </tr>
-<tr id="i57" class="rowColor">
+<tr id="i58" class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/LedgerHandle.html#readLastConfirmed--">readLastConfirmed</a></span>()</code>
 <div class="block">Obtains synchronously the last confirmed write from a quorum of bookies.</div>
 </td>
 </tr>
-<tr id="i58" class="altColor">
+<tr id="i59" 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"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/LedgerHandle.html#readLastEntry--">readLastEntry</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i59" class="rowColor">
+<tr id="i60" class="altColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="../../../../org/apache/bookkeeper/client/api/LedgerEntries.html" title="interface in org.apache.bookkeeper.client.api">LedgerEntries</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/LedgerHandle.html#readUnconfirmedAsync-long-long-">readUnconfirmedAsync</a></span>(long&nbsp;firstEntry,
                     long&nbsp;lastEntry)</code>
 <div class="block">Read a sequence of entries asynchronously, allowing to read after the LastAddConfirmed range.</div>
 </td>
 </tr>
-<tr id="i60" class="altColor">
+<tr id="i61" class="rowColor">
 <td class="colFirst"><code><a href="https://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;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/LedgerHandle.html#readUnconfirmedEntries-long-long-">readUnconfirmedEntries</a></span>(long&nbsp;firstEntry,
                       long&nbsp;lastEntry)</code>
@@ -734,11 +740,11 @@ implements <a href="../../../../org/apache/bookkeeper/client/api/WriteHandle.htm
  <code>#asyncReadUnconfirmedEntries(long, long, ReadCallback, Object) </code></div>
 </td>
 </tr>
-<tr id="i61" class="rowColor">
+<tr id="i62" class="altColor">
 <td class="colFirst"><code>(package private) void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/LedgerHandle.html#recover-org.apache.bookkeeper.proto.BookkeeperInternalCallbacks.GenericCallback-">recover</a></span>(org.apache.bookkeeper.proto.BookkeeperInternalCallbacks.GenericCallback&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;finalCb)</code>&nbsp;</td>
 </tr>
-<tr id="i62" class="altColor">
+<tr id="i63" class="rowColor">
 <td class="colFirst"><code>(package private) void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/LedgerHandle.html#recover-org.apache.bookkeeper.proto.BookkeeperInternalCallbacks.GenericCallback-org.apache.bookkeeper.proto.BookkeeperInternalCallbacks.ReadEntryListener-boolean-">recover</a></span>(org.apache.bookkeeper.proto.BookkeeperInternalCallbacks.GenericCallback&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interf [...]
        org.apache.bookkeeper.proto.BookkeeperInternalCallbacks.ReadEntryListener&nbsp;listener,
@@ -746,58 +752,58 @@ implements <a href="../../../../org/apache/bookkeeper/client/api/WriteHandle.htm
 <div class="block">Recover the ledger.</div>
 </td>
 </tr>
-<tr id="i63" class="rowColor">
+<tr id="i64" class="altColor">
 <td class="colFirst"><code>(package private) void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/LedgerHandle.html#registerOperationFailureOnBookie-org.apache.bookkeeper.net.BookieSocketAddress-long-">registerOperationFailureOnBookie</a></span>(org.apache.bookkeeper.net.BookieSocketAddress&nbsp;bookie,
                                 long&nbsp;entryId)</code>&nbsp;</td>
 </tr>
-<tr id="i64" class="altColor">
+<tr id="i65" class="rowColor">
 <td class="colFirst"><code>(package private) <a href="../../../../org/apache/bookkeeper/client/LedgerHandle.EnsembleInfo.html" title="class in org.apache.bookkeeper.client">LedgerHandle.EnsembleInfo</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/LedgerHandle.html#replaceBookieInMetadata-java.util.Map-int-">replaceBookieInMetadata</a></span>(<a href="https://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="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,org.apa [...]
                        int&nbsp;ensembleChangeIdx)</code>&nbsp;</td>
 </tr>
-<tr id="i65" class="rowColor">
+<tr id="i66" class="altColor">
 <td class="colFirst"><code>(package private) void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/LedgerHandle.html#rereadMetadata-org.apache.bookkeeper.proto.BookkeeperInternalCallbacks.GenericCallback-">rereadMetadata</a></span>(org.apache.bookkeeper.proto.BookkeeperInternalCallbacks.GenericCallback&lt;<a href="../../../../org/apache/bookkeeper/client/LedgerMetadata.html" title="class in org.apache.bookkeeper.client">LedgerMetadata</a>&gt;&nbsp;cb)</code>&nbsp;</td>
 </tr>
-<tr id="i66" class="altColor">
+<tr id="i67" class="rowColor">
 <td class="colFirst"><code>(package private) void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/LedgerHandle.html#sendAddSuccessCallbacks--">sendAddSuccessCallbacks</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i67" class="rowColor">
+<tr id="i68" class="altColor">
 <td class="colFirst"><code>(package private) void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/LedgerHandle.html#setLastAddConfirmed-long-">setLastAddConfirmed</a></span>(long&nbsp;lac)</code>&nbsp;</td>
 </tr>
-<tr id="i68" class="altColor">
+<tr id="i69" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/LedgerHandle.html#tryReadLastAddConfirmedAsync--">tryReadLastAddConfirmedAsync</a></span>()</code>
 <div class="block">Obtains asynchronously the last confirmed write from a quorum of bookies
  but it doesn't wait all the responses from the quorum.</div>
 </td>
 </tr>
-<tr id="i69" class="rowColor">
+<tr id="i70" class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/LedgerHandle.html#tryReadLastConfirmed--">tryReadLastConfirmed</a></span>()</code>
 <div class="block">Obtains synchronously the last confirmed write from a quorum of bookies.</div>
 </td>
 </tr>
-<tr id="i70" class="altColor">
+<tr id="i71" class="rowColor">
 <td class="colFirst"><code>(package private) void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/LedgerHandle.html#unsetSuccessAndSendWriteRequest-java.util.Set-">unsetSuccessAndSendWriteRequest</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer [...]
 </tr>
-<tr id="i71" class="rowColor">
+<tr id="i72" class="altColor">
 <td class="colFirst"><code>(package private) void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/LedgerHandle.html#updateLastConfirmed-long-long-">updateLastConfirmed</a></span>(long&nbsp;lac,
                    long&nbsp;len)</code>&nbsp;</td>
 </tr>
-<tr id="i72" class="altColor">
+<tr id="i73" class="rowColor">
 <td class="colFirst"><code>protected boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/LedgerHandle.html#waitForWritable-org.apache.bookkeeper.client.DistributionSchedule.WriteSet-long-int-long-">waitForWritable</a></span>(<a href="../../../../org/apache/bookkeeper/client/DistributionSchedule.WriteSet.html" title="interface in org.apache.bookkeeper.client">DistributionSchedule.WriteSet</a>&nbsp;writeSet,
                long&nbsp;key,
                int&nbsp;allowedNonWritableCount,
                long&nbsp;durationMs)</code>&nbsp;</td>
 </tr>
-<tr id="i73" class="rowColor">
+<tr id="i74" class="altColor">
 <td class="colFirst"><code>(package private) void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/LedgerHandle.html#writeLedgerConfig-org.apache.bookkeeper.proto.BookkeeperInternalCallbacks.GenericCallback-">writeLedgerConfig</a></span>(org.apache.bookkeeper.proto.BookkeeperInternalCallbacks.GenericCallback&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;writeCb)</code>&nbsp;</td>
 </tr>
@@ -2022,6 +2028,26 @@ implements <a href="../../../../org/apache/bookkeeper/client/api/WriteHandle.htm
 </dl>
 </li>
 </ul>
+<a name="force--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>force</h4>
+<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;force()</pre>
+<div class="block">Enforce durability to the entries written by this handle.
+ <p>This API is useful with <a href="../../../../org/apache/bookkeeper/client/api/WriteFlag.html#DEFERRED_SYNC"><code>WriteFlag.DEFERRED_SYNC</code></a>, because with
+ that flag writes are acknowledged by the bookie without waiting for a
+ durable write
+ </p></div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../org/apache/bookkeeper/client/api/ForceableHandle.html#force--">force</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/bookkeeper/client/api/ForceableHandle.html" title="interface in org.apache.bookkeeper.client.api">ForceableHandle</a></code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>an handle to the result</dd>
+</dl>
+</li>
+</ul>
 <a name="asyncRecoveryAddEntry-byte:A-int-int-org.apache.bookkeeper.client.AsyncCallback.AddCallback-java.lang.Object-">
 <!--   -->
 </a>
diff --git a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/LedgerHandleAdv.html b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/LedgerHandleAdv.html
index f474440..5ed36d5 100644
--- a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/LedgerHandleAdv.html
+++ b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/LedgerHandleAdv.html
@@ -114,7 +114,7 @@ var activeTableTab = "activeTableTab";
 <li class="blockList">
 <dl>
 <dt>All Implemented Interfaces:</dt>
-<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a>, <a href="../../../../org/apache/bookkeeper/client/api/Handle.html" title="interface in org.apache.bookkeeper.client.api">Handle</a>, <a href="../../../../org/apache/bookkeeper/client/api/ReadHandle.html" title="interface in org.apache.bookkeeper.client.api">ReadHandle</a>, <a href="../../../../org/apache/bookkeeper/client/api/Wri [...]
+<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a>, <a href="../../../../org/apache/bookkeeper/client/api/ForceableHandle.html" title="interface in org.apache.bookkeeper.client.api">ForceableHandle</a>, <a href="../../../../org/apache/bookkeeper/client/api/Handle.html" title="interface in org.apache.bookkeeper.client.api">Handle</a>, <a href="../../../../org/apache/bookkeeper/clie [...]
 </dl>
 <hr>
 <br>
@@ -300,7 +300,7 @@ implements <a href="../../../../org/apache/bookkeeper/client/api/WriteAdvHandle.
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.bookkeeper.client.<a href="../../../../org/apache/bookkeeper/client/LedgerHandle.html" title="class in org.apache.bookkeeper.client">LedgerHandle</a></h3>
-<code><a href="../../../../org/apache/bookkeeper/client/LedgerHandle.html#addEntry-byte:A-">addEntry</a>, <a href="../../../../org/apache/bookkeeper/client/LedgerHandle.html#addEntry-byte:A-int-int-">addEntry</a>, <a href="../../../../org/apache/bookkeeper/client/LedgerHandle.html#addToLength-long-">addToLength</a>, <a href="../../../../org/apache/bookkeeper/client/LedgerHandle.html#appendAsync-io.netty.buffer.ByteBuf-">appendAsync</a>, <a href="../../../../org/apache/bookkeeper/client/L [...]
+<code><a href="../../../../org/apache/bookkeeper/client/LedgerHandle.html#addEntry-byte:A-">addEntry</a>, <a href="../../../../org/apache/bookkeeper/client/LedgerHandle.html#addEntry-byte:A-int-int-">addEntry</a>, <a href="../../../../org/apache/bookkeeper/client/LedgerHandle.html#addToLength-long-">addToLength</a>, <a href="../../../../org/apache/bookkeeper/client/LedgerHandle.html#appendAsync-io.netty.buffer.ByteBuf-">appendAsync</a>, <a href="../../../../org/apache/bookkeeper/client/L [...]
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -331,6 +331,13 @@ implements <a href="../../../../org/apache/bookkeeper/client/api/WriteAdvHandle.
 <code><a href="../../../../org/apache/bookkeeper/client/api/Handle.html#close--">close</a>, <a href="../../../../org/apache/bookkeeper/client/api/Handle.html#closeAsync--">closeAsync</a>, <a href="../../../../org/apache/bookkeeper/client/api/Handle.html#getId--">getId</a>, <a href="../../../../org/apache/bookkeeper/client/api/Handle.html#getLedgerMetadata--">getLedgerMetadata</a></code></li>
 </ul>
 <ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.bookkeeper.client.api.ForceableHandle">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.bookkeeper.client.api.<a href="../../../../org/apache/bookkeeper/client/api/ForceableHandle.html" title="interface in org.apache.bookkeeper.client.api">ForceableHandle</a></h3>
+<code><a href="../../../../org/apache/bookkeeper/client/api/ForceableHandle.html#force--">force</a></code></li>
+</ul>
+<ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.bookkeeper.client.api.WriteHandle">
 <!--   -->
 </a>
diff --git a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/ReadOnlyLedgerHandle.html b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/ReadOnlyLedgerHandle.html
index 1f4ce08..faf07fd 100644
--- a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/ReadOnlyLedgerHandle.html
+++ b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/ReadOnlyLedgerHandle.html
@@ -114,7 +114,7 @@ var activeTableTab = "activeTableTab";
 <li class="blockList">
 <dl>
 <dt>All Implemented Interfaces:</dt>
-<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a>, <a href="../../../../org/apache/bookkeeper/client/api/Handle.html" title="interface in org.apache.bookkeeper.client.api">Handle</a>, <a href="../../../../org/apache/bookkeeper/client/api/ReadHandle.html" title="interface in org.apache.bookkeeper.client.api">ReadHandle</a>, <a href="../../../../org/apache/bookkeeper/client/api/Wri [...]
+<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a>, <a href="../../../../org/apache/bookkeeper/client/api/ForceableHandle.html" title="interface in org.apache.bookkeeper.client.api">ForceableHandle</a>, <a href="../../../../org/apache/bookkeeper/client/api/Handle.html" title="interface in org.apache.bookkeeper.client.api">Handle</a>, <a href="../../../../org/apache/bookkeeper/clie [...]
 </dl>
 <hr>
 <br>
@@ -281,7 +281,7 @@ implements org.apache.bookkeeper.proto.BookkeeperInternalCallbacks.LedgerMetadat
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.bookkeeper.client.<a href="../../../../org/apache/bookkeeper/client/LedgerHandle.html" title="class in org.apache.bookkeeper.client">LedgerHandle</a></h3>
-<code><a href="../../../../org/apache/bookkeeper/client/LedgerHandle.html#addEntry-long-byte:A-">addEntry</a>, <a href="../../../../org/apache/bookkeeper/client/LedgerHandle.html#addEntry-long-byte:A-int-int-">addEntry</a>, <a href="../../../../org/apache/bookkeeper/client/LedgerHandle.html#addToLength-long-">addToLength</a>, <a href="../../../../org/apache/bookkeeper/client/LedgerHandle.html#appendAsync-io.netty.buffer.ByteBuf-">appendAsync</a>, <a href="../../../../org/apache/bookkeepe [...]
+<code><a href="../../../../org/apache/bookkeeper/client/LedgerHandle.html#addEntry-long-byte:A-">addEntry</a>, <a href="../../../../org/apache/bookkeeper/client/LedgerHandle.html#addEntry-long-byte:A-int-int-">addEntry</a>, <a href="../../../../org/apache/bookkeeper/client/LedgerHandle.html#addToLength-long-">addToLength</a>, <a href="../../../../org/apache/bookkeeper/client/LedgerHandle.html#appendAsync-io.netty.buffer.ByteBuf-">appendAsync</a>, <a href="../../../../org/apache/bookkeepe [...]
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
diff --git a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/RoundRobinDistributionSchedule.html b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/RoundRobinDistributionSchedule.html
index 9cf12b9..30242f2 100644
--- a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/RoundRobinDistributionSchedule.html
+++ b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/RoundRobinDistributionSchedule.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":9};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":9};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -198,25 +198,32 @@ implements <a href="../../../../org/apache/bookkeeper/client/DistributionSchedul
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/RoundRobinDistributionSchedule.html#getCoverageSet--">getCoverageSet</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i2" class="altColor">
-<td class="colFirst"><code><a href="../../../../org/apache/bookkeeper/client/DistributionSchedule.WriteSet.html" title="interface in org.apache.bookkeeper.client">DistributionSchedule.WriteSet</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/RoundRobinDistributionSchedule.html#getWriteSet-long-">getWriteSet</a></span>(long&nbsp;entryId)</code>
-<div class="block">Return the set of bookie indices to send the message to.</div>
+<td class="colFirst"><code><a href="../../../../org/apache/bookkeeper/client/DistributionSchedule.AckSet.html" title="interface in org.apache.bookkeeper.client">DistributionSchedule.AckSet</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/RoundRobinDistributionSchedule.html#getEnsembleAckSet--">getEnsembleAckSet</a></span>()</code>
+<div class="block">Returns an ackset object useful to wait for all bookies in the ensemble,
+ responses should be checked against this.</div>
 </td>
 </tr>
 <tr id="i3" class="rowColor">
 <td class="colFirst"><code><a href="../../../../org/apache/bookkeeper/client/DistributionSchedule.WriteSet.html" title="interface in org.apache.bookkeeper.client">DistributionSchedule.WriteSet</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/RoundRobinDistributionSchedule.html#getWriteSetForLongPoll-long-">getWriteSetForLongPoll</a></span>(long&nbsp;entryId)</code>
-<div class="block">Return the set of bookies indices to send the messages to for longpoll reads.</div>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/RoundRobinDistributionSchedule.html#getEnsembleSet-long-">getEnsembleSet</a></span>(long&nbsp;entryId)</code>
+<div class="block">Return the set of bookies indices to send the messages to the whole ensemble.</div>
 </td>
 </tr>
 <tr id="i4" class="altColor">
+<td class="colFirst"><code><a href="../../../../org/apache/bookkeeper/client/DistributionSchedule.WriteSet.html" title="interface in org.apache.bookkeeper.client">DistributionSchedule.WriteSet</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/RoundRobinDistributionSchedule.html#getWriteSet-long-">getWriteSet</a></span>(long&nbsp;entryId)</code>
+<div class="block">Return the set of bookie indices to send the message to.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/RoundRobinDistributionSchedule.html#hasEntry-long-int-">hasEntry</a></span>(long&nbsp;entryId,
         int&nbsp;bookieIndex)</code>
 <div class="block">Whether entry presents on given bookie index.</div>
 </td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>(package private) static <a href="../../../../org/apache/bookkeeper/client/DistributionSchedule.WriteSet.html" title="interface in org.apache.bookkeeper.client">DistributionSchedule.WriteSet</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/bookkeeper/client/RoundRobinDistributionSchedule.html#writeSetFromValues-java.lang.Integer...-">writeSetFromValues</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>...&nbsp;values)</code>&nbsp;</td>
 </tr>
@@ -276,22 +283,22 @@ implements <a href="../../../../org/apache/bookkeeper/client/DistributionSchedul
 </dl>
 </li>
 </ul>
-<a name="getWriteSetForLongPoll-long-">
+<a name="getEnsembleSet-long-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getWriteSetForLongPoll</h4>
-<pre>public&nbsp;<a href="../../../../org/apache/bookkeeper/client/DistributionSchedule.WriteSet.html" title="interface in org.apache.bookkeeper.client">DistributionSchedule.WriteSet</a>&nbsp;getWriteSetForLongPoll(long&nbsp;entryId)</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/bookkeeper/client/DistributionSchedule.html#getWriteSetForLongPoll-long-">DistributionSchedule</a></code></span></div>
-<div class="block">Return the set of bookies indices to send the messages to for longpoll reads.</div>
+<h4>getEnsembleSet</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/bookkeeper/client/DistributionSchedule.WriteSet.html" title="interface in org.apache.bookkeeper.client">DistributionSchedule.WriteSet</a>&nbsp;getEnsembleSet(long&nbsp;entryId)</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/bookkeeper/client/DistributionSchedule.html#getEnsembleSet-long-">DistributionSchedule</a></code></span></div>
+<div class="block">Return the set of bookies indices to send the messages to the whole ensemble.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="../../../../org/apache/bookkeeper/client/DistributionSchedule.html#getWriteSetForLongPoll-long-">getWriteSetForLongPoll</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/bookkeeper/client/DistributionSchedule.html" title="interface in org.apache.bookkeeper.client">DistributionSchedule</a></code></dd>
+<dd><code><a href="../../../../org/apache/bookkeeper/client/DistributionSchedule.html#getEnsembleSet-long-">getEnsembleSet</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/bookkeeper/client/DistributionSchedule.html" title="interface in org.apache.bookkeeper.client">DistributionSchedule</a></code></dd>
 <dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>entryId</code> - expected next entry id to read.</dd>
+<dd><code>entryId</code> - entry id used to calculate the ensemble.</dd>
 <dt><span class="returnLabel">Returns:</span></dt>
-<dd>the set of bookies indices to read from.</dd>
+<dd>the set of bookies indices to send the request.</dd>
 </dl>
 </li>
 </ul>
@@ -319,6 +326,22 @@ implements <a href="../../../../org/apache/bookkeeper/client/DistributionSchedul
 </dl>
 </li>
 </ul>
+<a name="getEnsembleAckSet--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getEnsembleAckSet</h4>
+<pre>public&nbsp;<a href="../../../../org/apache/bookkeeper/client/DistributionSchedule.AckSet.html" title="interface in org.apache.bookkeeper.client">DistributionSchedule.AckSet</a>&nbsp;getEnsembleAckSet()</pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/bookkeeper/client/DistributionSchedule.html#getEnsembleAckSet--">DistributionSchedule</a></code></span></div>
+<div class="block">Returns an ackset object useful to wait for all bookies in the ensemble,
+ responses should be checked against this.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="../../../../org/apache/bookkeeper/client/DistributionSchedule.html#getEnsembleAckSet--">getEnsembleAckSet</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/bookkeeper/client/DistributionSchedule.html" title="interface in org.apache.bookkeeper.client">DistributionSchedule</a></code></dd>
+</dl>
+</li>
+</ul>
 <a name="getCoverageSet--">
 <!--   -->
 </a>
diff --git a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/api/DigestType.html b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/api/DigestType.html
index 721f5fc..5d91198 100644
--- a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/api/DigestType.html
+++ b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/api/DigestType.html
@@ -50,7 +50,7 @@ var activeTableTab = "activeTableTab";
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../org/apache/bookkeeper/client/api/DeleteBuilder.html" title="interface in org.apache.bookkeeper.client.api"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/bookkeeper/client/api/Handle.html" title="interface in org.apache.bookkeeper.client.api"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/bookkeeper/client/api/ForceableHandle.html" title="interface in org.apache.bookkeeper.client.api"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../index.html?org/apache/bookkeeper/client/api/DigestType.html" target="_top">Frames</a></li>
@@ -340,7 +340,7 @@ not permitted.)</div>
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../org/apache/bookkeeper/client/api/DeleteBuilder.html" title="interface in org.apache.bookkeeper.client.api"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/bookkeeper/client/api/Handle.html" title="interface in org.apache.bookkeeper.client.api"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/bookkeeper/client/api/ForceableHandle.html" title="interface in org.apache.bookkeeper.client.api"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../index.html?org/apache/bookkeeper/client/api/DigestType.html" target="_top">Frames</a></li>
diff --git a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/api/Handle.html b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/api/ForceableHandle.html
similarity index 56%
copy from content/docs/latest/api/javadoc/org/apache/bookkeeper/client/api/Handle.html
copy to content/docs/latest/api/javadoc/org/apache/bookkeeper/client/api/ForceableHandle.html
index 1d92c1e..e36cc53 100644
--- a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/api/Handle.html
+++ b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/api/ForceableHandle.html
@@ -4,7 +4,7 @@
 <head>
 <!-- Generated by javadoc -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Handle (Apache BookKeeper :: Parent 4.8.0-SNAPSHOT API)</title>
+<title>ForceableHandle (Apache BookKeeper :: Parent 4.8.0-SNAPSHOT API)</title>
 <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../script.js"></script>
 </head>
@@ -12,14 +12,14 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Handle (Apache BookKeeper :: Parent 4.8.0-SNAPSHOT API)";
+            parent.document.title="ForceableHandle (Apache BookKeeper :: Parent 4.8.0-SNAPSHOT API)";
         }
     }
     catch(err) {
     }
 //-->
-var methods = {"i0":18,"i1":6,"i2":6,"i3":6};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],16:["t5","Default Methods"]};
+var methods = {"i0":6};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
 var tableTab = "tableTab";
@@ -40,7 +40,7 @@ var activeTableTab = "activeTableTab";
 <li><a href="../../../../../overview-summary.html">Overview</a></li>
 <li><a href="package-summary.html">Package</a></li>
 <li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/Handle.html">Use</a></li>
+<li><a href="class-use/ForceableHandle.html">Use</a></li>
 <li><a href="package-tree.html">Tree</a></li>
 <li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
 <li><a href="../../../../../index-all.html">Index</a></li>
@@ -50,11 +50,11 @@ var activeTableTab = "activeTableTab";
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../org/apache/bookkeeper/client/api/DigestType.html" title="enum in org.apache.bookkeeper.client.api"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/bookkeeper/client/api/LastConfirmedAndEntry.html" title="interface in org.apache.bookkeeper.client.api"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/bookkeeper/client/api/Handle.html" title="interface in org.apache.bookkeeper.client.api"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../index.html?org/apache/bookkeeper/client/api/Handle.html" target="_top">Frames</a></li>
-<li><a href="Handle.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../index.html?org/apache/bookkeeper/client/api/ForceableHandle.html" target="_top">Frames</a></li>
+<li><a href="ForceableHandle.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_top">
 <li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -93,19 +93,15 @@ var activeTableTab = "activeTableTab";
 <!-- ======== START OF CLASS DATA ======== -->
 <div class="header">
 <div class="subTitle">org.apache.bookkeeper.client.api</div>
-<h2 title="Interface Handle" class="title">Interface Handle</h2>
+<h2 title="Interface ForceableHandle" class="title">Interface ForceableHandle</h2>
 </div>
 <div class="contentContainer">
 <div class="description">
 <ul class="blockList">
 <li class="blockList">
 <dl>
-<dt>All Superinterfaces:</dt>
-<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a></dd>
-</dl>
-<dl>
 <dt>All Known Subinterfaces:</dt>
-<dd><a href="../../../../../org/apache/bookkeeper/client/api/ReadHandle.html" title="interface in org.apache.bookkeeper.client.api">ReadHandle</a>, <a href="../../../../../org/apache/bookkeeper/client/api/WriteAdvHandle.html" title="interface in org.apache.bookkeeper.client.api">WriteAdvHandle</a>, <a href="../../../../../org/apache/bookkeeper/client/api/WriteHandle.html" title="interface in org.apache.bookkeeper.client.api">WriteHandle</a></dd>
+<dd><a href="../../../../../org/apache/bookkeeper/client/api/WriteAdvHandle.html" title="interface in org.apache.bookkeeper.client.api">WriteAdvHandle</a>, <a href="../../../../../org/apache/bookkeeper/client/api/WriteHandle.html" title="interface in org.apache.bookkeeper.client.api">WriteHandle</a></dd>
 </dl>
 <dl>
 <dt>All Known Implementing Classes:</dt>
@@ -115,12 +111,14 @@ var activeTableTab = "activeTableTab";
 <br>
 <pre><a href="../../../../../org/apache/bookkeeper/common/annotation/InterfaceAudience.Public.html" title="annotation in org.apache.bookkeeper.common.annotation">@InterfaceAudience.Public</a>
  <a href="../../../../../org/apache/bookkeeper/common/annotation/InterfaceStability.Unstable.html" title="annotation in org.apache.bookkeeper.common.annotation">@InterfaceStability.Unstable</a>
-public interface <span class="typeNameLabel">Handle</span>
-extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a></pre>
-<div class="block">Handle to manage an open ledger.</div>
+public interface <span class="typeNameLabel">ForceableHandle</span></pre>
+<div class="block">Provide the ability to enforce durability guarantees to the writer.</div>
 <dl>
 <dt><span class="simpleTagLabel">Since:</span></dt>
-<dd>4.6</dd>
+<dd>4.8</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../org/apache/bookkeeper/client/api/WriteAdvHandle.html" title="interface in org.apache.bookkeeper.client.api"><code>WriteAdvHandle</code></a>, 
+<a href="../../../../../org/apache/bookkeeper/client/api/WriteHandle.html" title="interface in org.apache.bookkeeper.client.api"><code>WriteHandle</code></a></dd>
 </dl>
 </li>
 </ul>
@@ -135,33 +133,15 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseab
 </a>
 <h3>Method Summary</h3>
 <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t5" class="tableTab"><span><a href="javascript:show(16);">Default Methods</a></span><span class="tabE [...]
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
-<td class="colFirst"><code>default void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/api/Handle.html#close--">close</a></span>()</code>
-<div class="block">Close this handle synchronously.</div>
-</td>
-</tr>
-<tr id="i1" class="rowColor">
 <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/api/Handle.html#closeAsync--">closeAsync</a></span>()</code>
-<div class="block">Asynchronous close the handle.</div>
-</td>
-</tr>
-<tr id="i2" class="altColor">
-<td class="colFirst"><code>long</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/api/Handle.html#getId--">getId</a></span>()</code>
-<div class="block">Get the id of the current ledger.</div>
-</td>
-</tr>
-<tr id="i3" class="rowColor">
-<td class="colFirst"><code><a href="../../../../../org/apache/bookkeeper/client/api/LedgerMetadata.html" title="interface in org.apache.bookkeeper.client.api">LedgerMetadata</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/api/Handle.html#getLedgerMetadata--">getLedgerMetadata</a></span>()</code>
-<div class="block">Returns the metadata of this ledger.</div>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/api/ForceableHandle.html#force--">force</a></span>()</code>
+<div class="block">Enforce durability to the entries written by this handle.</div>
 </td>
 </tr>
 </table>
@@ -179,70 +159,21 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseab
 <!--   -->
 </a>
 <h3>Method Detail</h3>
-<a name="getId--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getId</h4>
-<pre>long&nbsp;getId()</pre>
-<div class="block">Get the id of the current ledger.</div>
-<dl>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>the id of the ledger</dd>
-</dl>
-</li>
-</ul>
-<a name="close--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>close</h4>
-<pre>default&nbsp;void&nbsp;close()
-            throws <a href="../../../../../org/apache/bookkeeper/client/api/BKException.html" title="class in org.apache.bookkeeper.client.api">BKException</a>,
-                   <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
-<div class="block">Close this handle synchronously.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true#close--" title="class or interface in java.lang">close</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a></code></dd>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code><a href="../../../../../org/apache/bookkeeper/client/api/BKException.html" title="class in org.apache.bookkeeper.client.api">BKException</a></code></dd>
-<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></code></dd>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../../../../../org/apache/bookkeeper/client/api/Handle.html#closeAsync--"><code>closeAsync()</code></a></dd>
-</dl>
-</li>
-</ul>
-<a name="closeAsync--">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>closeAsync</h4>
-<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;closeAsync()</pre>
-<div class="block">Asynchronous close the handle.</div>
-<dl>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>an handle to access the result of the operation</dd>
-</dl>
-</li>
-</ul>
-<a name="getLedgerMetadata--">
+<a name="force--">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>getLedgerMetadata</h4>
-<pre><a href="../../../../../org/apache/bookkeeper/client/api/LedgerMetadata.html" title="interface in org.apache.bookkeeper.client.api">LedgerMetadata</a>&nbsp;getLedgerMetadata()</pre>
-<div class="block">Returns the metadata of this ledger.
-
- <p>This call only retrieves the metadata cached locally. If there is any metadata updated, the read
- handle will receive the metadata updates and update the metadata locally. The metadata notification
- can be deplayed, so it is possible you can receive a stale copy of ledger metadata from this call.</div>
+<h4>force</h4>
+<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;force()</pre>
+<div class="block">Enforce durability to the entries written by this handle.
+ <p>This API is useful with <a href="../../../../../org/apache/bookkeeper/client/api/WriteFlag.html#DEFERRED_SYNC"><code>WriteFlag.DEFERRED_SYNC</code></a>, because with
+ that flag writes are acknowledged by the bookie without waiting for a
+ durable write
+ </p></div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
-<dd>the metadata of this ledger.</dd>
+<dd>an handle to the result</dd>
 </dl>
 </li>
 </ul>
@@ -265,7 +196,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseab
 <li><a href="../../../../../overview-summary.html">Overview</a></li>
 <li><a href="package-summary.html">Package</a></li>
 <li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/Handle.html">Use</a></li>
+<li><a href="class-use/ForceableHandle.html">Use</a></li>
 <li><a href="package-tree.html">Tree</a></li>
 <li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
 <li><a href="../../../../../index-all.html">Index</a></li>
@@ -275,11 +206,11 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseab
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../org/apache/bookkeeper/client/api/DigestType.html" title="enum in org.apache.bookkeeper.client.api"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/bookkeeper/client/api/LastConfirmedAndEntry.html" title="interface in org.apache.bookkeeper.client.api"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/bookkeeper/client/api/Handle.html" title="interface in org.apache.bookkeeper.client.api"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../index.html?org/apache/bookkeeper/client/api/Handle.html" target="_top">Frames</a></li>
-<li><a href="Handle.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../index.html?org/apache/bookkeeper/client/api/ForceableHandle.html" target="_top">Frames</a></li>
+<li><a href="ForceableHandle.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_bottom">
 <li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
diff --git a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/api/Handle.html b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/api/Handle.html
index 1d92c1e..3e506fc 100644
--- a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/api/Handle.html
+++ b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/api/Handle.html
@@ -49,7 +49,7 @@ var activeTableTab = "activeTableTab";
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/bookkeeper/client/api/DigestType.html" title="enum in org.apache.bookkeeper.client.api"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/bookkeeper/client/api/ForceableHandle.html" title="interface in org.apache.bookkeeper.client.api"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../org/apache/bookkeeper/client/api/LastConfirmedAndEntry.html" title="interface in org.apache.bookkeeper.client.api"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -274,7 +274,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseab
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/bookkeeper/client/api/DigestType.html" title="enum in org.apache.bookkeeper.client.api"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/bookkeeper/client/api/ForceableHandle.html" title="interface in org.apache.bookkeeper.client.api"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../org/apache/bookkeeper/client/api/LastConfirmedAndEntry.html" title="interface in org.apache.bookkeeper.client.api"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
diff --git a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/api/WriteAdvHandle.html b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/api/WriteAdvHandle.html
index e2144da..5e4904c 100644
--- a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/api/WriteAdvHandle.html
+++ b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/api/WriteAdvHandle.html
@@ -101,7 +101,7 @@ var activeTableTab = "activeTableTab";
 <li class="blockList">
 <dl>
 <dt>All Superinterfaces:</dt>
-<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a>, <a href="../../../../../org/apache/bookkeeper/client/api/Handle.html" title="interface in org.apache.bookkeeper.client.api">Handle</a>, <a href="../../../../../org/apache/bookkeeper/client/api/ReadHandle.html" title="interface in org.apache.bookkeeper.client.api">ReadHandle</a></dd>
+<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a>, <a href="../../../../../org/apache/bookkeeper/client/api/ForceableHandle.html" title="interface in org.apache.bookkeeper.client.api">ForceableHandle</a>, <a href="../../../../../org/apache/bookkeeper/client/api/Handle.html" title="interface in org.apache.bookkeeper.client.api">Handle</a>, <a href="../../../../../org/apache/bookke [...]
 </dl>
 <dl>
 <dt>All Known Implementing Classes:</dt>
@@ -112,7 +112,7 @@ var activeTableTab = "activeTableTab";
 <pre><a href="../../../../../org/apache/bookkeeper/common/annotation/InterfaceAudience.Public.html" title="annotation in org.apache.bookkeeper.common.annotation">@InterfaceAudience.Public</a>
  <a href="../../../../../org/apache/bookkeeper/common/annotation/InterfaceStability.Unstable.html" title="annotation in org.apache.bookkeeper.common.annotation">@InterfaceStability.Unstable</a>
 public interface <span class="typeNameLabel">WriteAdvHandle</span>
-extends <a href="../../../../../org/apache/bookkeeper/client/api/ReadHandle.html" title="interface in org.apache.bookkeeper.client.api">ReadHandle</a></pre>
+extends <a href="../../../../../org/apache/bookkeeper/client/api/ReadHandle.html" title="interface in org.apache.bookkeeper.client.api">ReadHandle</a>, <a href="../../../../../org/apache/bookkeeper/client/api/ForceableHandle.html" title="interface in org.apache.bookkeeper.client.api">ForceableHandle</a></pre>
 <div class="block">Provide write access to a ledger. Using WriteAdvHandler the writer MUST explictly set an entryId. Beware that the
  write for a given entryId will be acknowledged if and only if all entries up to entryId - 1 have been acknowledged
  too (expected from entryId 0)</div>
@@ -215,6 +215,13 @@ extends <a href="../../../../../org/apache/bookkeeper/client/api/ReadHandle.html
 <h3>Methods inherited from interface&nbsp;org.apache.bookkeeper.client.api.<a href="../../../../../org/apache/bookkeeper/client/api/Handle.html" title="interface in org.apache.bookkeeper.client.api">Handle</a></h3>
 <code><a href="../../../../../org/apache/bookkeeper/client/api/Handle.html#close--">close</a>, <a href="../../../../../org/apache/bookkeeper/client/api/Handle.html#closeAsync--">closeAsync</a>, <a href="../../../../../org/apache/bookkeeper/client/api/Handle.html#getId--">getId</a>, <a href="../../../../../org/apache/bookkeeper/client/api/Handle.html#getLedgerMetadata--">getLedgerMetadata</a></code></li>
 </ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.bookkeeper.client.api.ForceableHandle">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.bookkeeper.client.api.<a href="../../../../../org/apache/bookkeeper/client/api/ForceableHandle.html" title="interface in org.apache.bookkeeper.client.api">ForceableHandle</a></h3>
+<code><a href="../../../../../org/apache/bookkeeper/client/api/ForceableHandle.html#force--">force</a></code></li>
+</ul>
 </li>
 </ul>
 </li>
diff --git a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/api/WriteFlag.html b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/api/WriteFlag.html
index f4384ee..0805c85 100644
--- a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/api/WriteFlag.html
+++ b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/api/WriteFlag.html
@@ -243,6 +243,10 @@ the order they are declared.</div>
 <pre>public static final&nbsp;<a href="../../../../../org/apache/bookkeeper/client/api/WriteFlag.html" title="enum in org.apache.bookkeeper.client.api">WriteFlag</a> DEFERRED_SYNC</pre>
 <div class="block">Writes will be acknowledged after writing to the filesystem
  but not yet been persisted to disks.</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../org/apache/bookkeeper/client/api/ForceableHandle.html#force--"><code>ForceableHandle.force()</code></a></dd>
+</dl>
 </li>
 </ul>
 </li>
diff --git a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/api/WriteHandle.html b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/api/WriteHandle.html
index c825231..4bd35bc 100644
--- a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/api/WriteHandle.html
+++ b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/api/WriteHandle.html
@@ -101,7 +101,7 @@ var activeTableTab = "activeTableTab";
 <li class="blockList">
 <dl>
 <dt>All Superinterfaces:</dt>
-<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a>, <a href="../../../../../org/apache/bookkeeper/client/api/Handle.html" title="interface in org.apache.bookkeeper.client.api">Handle</a>, <a href="../../../../../org/apache/bookkeeper/client/api/ReadHandle.html" title="interface in org.apache.bookkeeper.client.api">ReadHandle</a></dd>
+<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a>, <a href="../../../../../org/apache/bookkeeper/client/api/ForceableHandle.html" title="interface in org.apache.bookkeeper.client.api">ForceableHandle</a>, <a href="../../../../../org/apache/bookkeeper/client/api/Handle.html" title="interface in org.apache.bookkeeper.client.api">Handle</a>, <a href="../../../../../org/apache/bookke [...]
 </dl>
 <dl>
 <dt>All Known Implementing Classes:</dt>
@@ -112,7 +112,7 @@ var activeTableTab = "activeTableTab";
 <pre><a href="../../../../../org/apache/bookkeeper/common/annotation/InterfaceAudience.Public.html" title="annotation in org.apache.bookkeeper.common.annotation">@InterfaceAudience.Public</a>
  <a href="../../../../../org/apache/bookkeeper/common/annotation/InterfaceStability.Unstable.html" title="annotation in org.apache.bookkeeper.common.annotation">@InterfaceStability.Unstable</a>
 public interface <span class="typeNameLabel">WriteHandle</span>
-extends <a href="../../../../../org/apache/bookkeeper/client/api/ReadHandle.html" title="interface in org.apache.bookkeeper.client.api">ReadHandle</a></pre>
+extends <a href="../../../../../org/apache/bookkeeper/client/api/ReadHandle.html" title="interface in org.apache.bookkeeper.client.api">ReadHandle</a>, <a href="../../../../../org/apache/bookkeeper/client/api/ForceableHandle.html" title="interface in org.apache.bookkeeper.client.api">ForceableHandle</a></pre>
 <div class="block">Provide write access to a ledger.</div>
 <dl>
 <dt><span class="simpleTagLabel">Since:</span></dt>
@@ -224,6 +224,13 @@ extends <a href="../../../../../org/apache/bookkeeper/client/api/ReadHandle.html
 <h3>Methods inherited from interface&nbsp;org.apache.bookkeeper.client.api.<a href="../../../../../org/apache/bookkeeper/client/api/Handle.html" title="interface in org.apache.bookkeeper.client.api">Handle</a></h3>
 <code><a href="../../../../../org/apache/bookkeeper/client/api/Handle.html#getId--">getId</a>, <a href="../../../../../org/apache/bookkeeper/client/api/Handle.html#getLedgerMetadata--">getLedgerMetadata</a></code></li>
 </ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.org.apache.bookkeeper.client.api.ForceableHandle">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.bookkeeper.client.api.<a href="../../../../../org/apache/bookkeeper/client/api/ForceableHandle.html" title="interface in org.apache.bookkeeper.client.api">ForceableHandle</a></h3>
+<code><a href="../../../../../org/apache/bookkeeper/client/api/ForceableHandle.html#force--">force</a></code></li>
+</ul>
 </li>
 </ul>
 </li>
diff --git a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/api/class-use/DigestType.html b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/api/class-use/DigestType.html
index fc60e15..8f410fb 100644
--- a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/api/class-use/DigestType.html
+++ b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/api/class-use/DigestType.html
@@ -120,6 +120,10 @@
 <td class="colFirst"><code><a href="../../../../../../org/apache/bookkeeper/client/api/DigestType.html" title="enum in org.apache.bookkeeper.client.api">DigestType</a></code></td>
 <td class="colLast"><span class="typeNameLabel">LedgerMetadata.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/bookkeeper/client/LedgerMetadata.html#getDigestType--">getDigestType</a></span>()</code>&nbsp;</td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../../../../../org/apache/bookkeeper/client/api/DigestType.html" title="enum in org.apache.bookkeeper.client.api">DigestType</a></code></td>
+<td class="colLast"><span class="typeNameLabel">BookKeeper.DigestType.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/bookkeeper/client/BookKeeper.DigestType.html#toApiDigestType--">toApiDigestType</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">
diff --git a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/api/class-use/ForceableHandle.html b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/api/class-use/ForceableHandle.html
new file mode 100644
index 0000000..c77be16
--- /dev/null
+++ b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/api/class-use/ForceableHandle.html
@@ -0,0 +1,215 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Interface org.apache.bookkeeper.client.api.ForceableHandle (Apache BookKeeper :: Parent 4.8.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Interface org.apache.bookkeeper.client.api.ForceableHandle (Apache BookKeeper :: Parent 4.8.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/bookkeeper/client/api/ForceableHandle.html" title="interface in org.apache.bookkeeper.client.api">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/bookkeeper/client/api/class-use/ForceableHandle.html" target="_top">Frames</a></li>
+<li><a href="ForceableHandle.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Interface org.apache.bookkeeper.client.api.ForceableHandle" class="title">Uses of Interface<br>org.apache.bookkeeper.client.api.ForceableHandle</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/bookkeeper/client/api/ForceableHandle.html" title="interface in org.apache.bookkeeper.client.api">ForceableHandle</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.bookkeeper.client">org.apache.bookkeeper.client</a></td>
+<td class="colLast">
+<div class="block">BookKeeper Client.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="#org.apache.bookkeeper.client.api">org.apache.bookkeeper.client.api</a></td>
+<td class="colLast">
+<div class="block">BookKeeper Client Public API.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.bookkeeper.client">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/bookkeeper/client/api/ForceableHandle.html" title="interface in org.apache.bookkeeper.client.api">ForceableHandle</a> in <a href="../../../../../../org/apache/bookkeeper/client/package-summary.html">org.apache.bookkeeper.client</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
+<caption><span>Classes in <a href="../../../../../../org/apache/bookkeeper/client/package-summary.html">org.apache.bookkeeper.client</a> that implement <a href="../../../../../../org/apache/bookkeeper/client/api/ForceableHandle.html" title="interface in org.apache.bookkeeper.client.api">ForceableHandle</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/bookkeeper/client/LedgerHandle.html" title="class in org.apache.bookkeeper.client">LedgerHandle</a></span></code>
+<div class="block">Ledger handle contains ledger metadata and is used to access the read and
+ write operations to a ledger.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/bookkeeper/client/LedgerHandleAdv.html" title="class in org.apache.bookkeeper.client">LedgerHandleAdv</a></span></code>
+<div class="block">Ledger Advanced handle extends <a href="../../../../../../org/apache/bookkeeper/client/LedgerHandle.html" title="class in org.apache.bookkeeper.client"><code>LedgerHandle</code></a> to provide API to add entries with
+ user supplied entryIds.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>(package private) class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/bookkeeper/client/ReadOnlyLedgerHandle.html" title="class in org.apache.bookkeeper.client">ReadOnlyLedgerHandle</a></span></code>
+<div class="block">Read only ledger handle.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a name="org.apache.bookkeeper.client.api">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/bookkeeper/client/api/ForceableHandle.html" title="interface in org.apache.bookkeeper.client.api">ForceableHandle</a> in <a href="../../../../../../org/apache/bookkeeper/client/api/package-summary.html">org.apache.bookkeeper.client.api</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing subinterfaces, and an explanation">
+<caption><span>Subinterfaces of <a href="../../../../../../org/apache/bookkeeper/client/api/ForceableHandle.html" title="interface in org.apache.bookkeeper.client.api">ForceableHandle</a> in <a href="../../../../../../org/apache/bookkeeper/client/api/package-summary.html">org.apache.bookkeeper.client.api</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Interface and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>interface&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/bookkeeper/client/api/WriteAdvHandle.html" title="interface in org.apache.bookkeeper.client.api">WriteAdvHandle</a></span></code>
+<div class="block">Provide write access to a ledger.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>interface&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/bookkeeper/client/api/WriteHandle.html" title="interface in org.apache.bookkeeper.client.api">WriteHandle</a></span></code>
+<div class="block">Provide write access to a ledger.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../../org/apache/bookkeeper/client/api/ForceableHandle.html" title="interface in org.apache.bookkeeper.client.api">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../../index.html?org/apache/bookkeeper/client/api/class-use/ForceableHandle.html" target="_top">Frames</a></li>
+<li><a href="ForceableHandle.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2011&#x2013;2018 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
diff --git a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/api/package-frame.html b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/api/package-frame.html
index 61d172d..95de8db 100644
--- a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/api/package-frame.html
+++ b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/api/package-frame.html
@@ -19,6 +19,7 @@
 <li><a href="CreateAdvBuilder.html" title="interface in org.apache.bookkeeper.client.api" target="classFrame"><span class="interfaceName">CreateAdvBuilder</span></a></li>
 <li><a href="CreateBuilder.html" title="interface in org.apache.bookkeeper.client.api" target="classFrame"><span class="interfaceName">CreateBuilder</span></a></li>
 <li><a href="DeleteBuilder.html" title="interface in org.apache.bookkeeper.client.api" target="classFrame"><span class="interfaceName">DeleteBuilder</span></a></li>
+<li><a href="ForceableHandle.html" title="interface in org.apache.bookkeeper.client.api" target="classFrame"><span class="interfaceName">ForceableHandle</span></a></li>
 <li><a href="Handle.html" title="interface in org.apache.bookkeeper.client.api" target="classFrame"><span class="interfaceName">Handle</span></a></li>
 <li><a href="LastConfirmedAndEntry.html" title="interface in org.apache.bookkeeper.client.api" target="classFrame"><span class="interfaceName">LastConfirmedAndEntry</span></a></li>
 <li><a href="LedgerEntries.html" title="interface in org.apache.bookkeeper.client.api" target="classFrame"><span class="interfaceName">LedgerEntries</span></a></li>
diff --git a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/api/package-summary.html b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/api/package-summary.html
index 894a7ca..80734b1 100644
--- a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/api/package-summary.html
+++ b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/api/package-summary.html
@@ -123,60 +123,66 @@
 </td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/bookkeeper/client/api/ForceableHandle.html" title="interface in org.apache.bookkeeper.client.api">ForceableHandle</a></td>
+<td class="colLast">
+<div class="block">Provide the ability to enforce durability guarantees to the writer.</div>
+</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/bookkeeper/client/api/Handle.html" title="interface in org.apache.bookkeeper.client.api">Handle</a></td>
 <td class="colLast">
 <div class="block">Handle to manage an open ledger.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/bookkeeper/client/api/LastConfirmedAndEntry.html" title="interface in org.apache.bookkeeper.client.api">LastConfirmedAndEntry</a></td>
 <td class="colLast">
 <div class="block">This contains LastAddConfirmed entryId and a LedgerEntry wanted to read.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/bookkeeper/client/api/LedgerEntries.html" title="interface in org.apache.bookkeeper.client.api">LedgerEntries</a></td>
 <td class="colLast">
 <div class="block">Interface to wrap a sequence of entries.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/bookkeeper/client/api/LedgerEntry.html" title="interface in org.apache.bookkeeper.client.api">LedgerEntry</a></td>
 <td class="colLast">
 <div class="block">An entry in a ledger.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/bookkeeper/client/api/LedgerMetadata.html" title="interface in org.apache.bookkeeper.client.api">LedgerMetadata</a></td>
 <td class="colLast">
 <div class="block">Represents the client-side metadata of a ledger.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/bookkeeper/client/api/OpBuilder.html" title="interface in org.apache.bookkeeper.client.api">OpBuilder</a>&lt;T&gt;</td>
 <td class="colLast">
 <div class="block">Base interface for builders.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/bookkeeper/client/api/OpenBuilder.html" title="interface in org.apache.bookkeeper.client.api">OpenBuilder</a></td>
 <td class="colLast">
 <div class="block">Builder-style interface to open exiting ledgers.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/bookkeeper/client/api/ReadHandle.html" title="interface in org.apache.bookkeeper.client.api">ReadHandle</a></td>
 <td class="colLast">
 <div class="block">Provide read access to a ledger.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/bookkeeper/client/api/WriteAdvHandle.html" title="interface in org.apache.bookkeeper.client.api">WriteAdvHandle</a></td>
 <td class="colLast">
 <div class="block">Provide write access to a ledger.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/bookkeeper/client/api/WriteHandle.html" title="interface in org.apache.bookkeeper.client.api">WriteHandle</a></td>
 <td class="colLast">
 <div class="block">Provide write access to a ledger.</div>
diff --git a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/api/package-tree.html b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/api/package-tree.html
index ac8b18c..ce9af16 100644
--- a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/api/package-tree.html
+++ b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/api/package-tree.html
@@ -102,8 +102,8 @@
 <ul>
 <li type="circle">org.apache.bookkeeper.client.api.<a href="../../../../../org/apache/bookkeeper/client/api/ReadHandle.html" title="interface in org.apache.bookkeeper.client.api"><span class="typeNameLink">ReadHandle</span></a>
 <ul>
-<li type="circle">org.apache.bookkeeper.client.api.<a href="../../../../../org/apache/bookkeeper/client/api/WriteAdvHandle.html" title="interface in org.apache.bookkeeper.client.api"><span class="typeNameLink">WriteAdvHandle</span></a></li>
-<li type="circle">org.apache.bookkeeper.client.api.<a href="../../../../../org/apache/bookkeeper/client/api/WriteHandle.html" title="interface in org.apache.bookkeeper.client.api"><span class="typeNameLink">WriteHandle</span></a></li>
+<li type="circle">org.apache.bookkeeper.client.api.<a href="../../../../../org/apache/bookkeeper/client/api/WriteAdvHandle.html" title="interface in org.apache.bookkeeper.client.api"><span class="typeNameLink">WriteAdvHandle</span></a> (also extends org.apache.bookkeeper.client.api.<a href="../../../../../org/apache/bookkeeper/client/api/ForceableHandle.html" title="interface in org.apache.bookkeeper.client.api">ForceableHandle</a>)</li>
+<li type="circle">org.apache.bookkeeper.client.api.<a href="../../../../../org/apache/bookkeeper/client/api/WriteHandle.html" title="interface in org.apache.bookkeeper.client.api"><span class="typeNameLink">WriteHandle</span></a> (also extends org.apache.bookkeeper.client.api.<a href="../../../../../org/apache/bookkeeper/client/api/ForceableHandle.html" title="interface in org.apache.bookkeeper.client.api">ForceableHandle</a>)</li>
 </ul>
 </li>
 </ul>
@@ -115,6 +115,12 @@
 </li>
 <li type="circle">org.apache.bookkeeper.client.api.<a href="../../../../../org/apache/bookkeeper/client/api/BKException.Code.html" title="interface in org.apache.bookkeeper.client.api"><span class="typeNameLink">BKException.Code</span></a></li>
 <li type="circle">org.apache.bookkeeper.client.api.<a href="../../../../../org/apache/bookkeeper/client/api/BookKeeperBuilder.html" title="interface in org.apache.bookkeeper.client.api"><span class="typeNameLink">BookKeeperBuilder</span></a></li>
+<li type="circle">org.apache.bookkeeper.client.api.<a href="../../../../../org/apache/bookkeeper/client/api/ForceableHandle.html" title="interface in org.apache.bookkeeper.client.api"><span class="typeNameLink">ForceableHandle</span></a>
+<ul>
+<li type="circle">org.apache.bookkeeper.client.api.<a href="../../../../../org/apache/bookkeeper/client/api/WriteAdvHandle.html" title="interface in org.apache.bookkeeper.client.api"><span class="typeNameLink">WriteAdvHandle</span></a> (also extends org.apache.bookkeeper.client.api.<a href="../../../../../org/apache/bookkeeper/client/api/ReadHandle.html" title="interface in org.apache.bookkeeper.client.api">ReadHandle</a>)</li>
+<li type="circle">org.apache.bookkeeper.client.api.<a href="../../../../../org/apache/bookkeeper/client/api/WriteHandle.html" title="interface in org.apache.bookkeeper.client.api"><span class="typeNameLink">WriteHandle</span></a> (also extends org.apache.bookkeeper.client.api.<a href="../../../../../org/apache/bookkeeper/client/api/ReadHandle.html" title="interface in org.apache.bookkeeper.client.api">ReadHandle</a>)</li>
+</ul>
+</li>
 <li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Iterable</span></a>&lt;T&gt;
 <ul>
 <li type="circle">org.apache.bookkeeper.client.api.<a href="../../../../../org/apache/bookkeeper/client/api/LedgerEntries.html" title="interface in org.apache.bookkeeper.client.api"><span class="typeNameLink">LedgerEntries</span></a> (also extends java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang">AutoCloseable</a>)</li>
diff --git a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/api/package-use.html b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/api/package-use.html
index d7b00c8..51a0cd9 100644
--- a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/api/package-use.html
+++ b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/api/package-use.html
@@ -148,51 +148,56 @@
 </td>
 </tr>
 <tr class="rowColor">
+<td class="colOne"><a href="../../../../../org/apache/bookkeeper/client/api/class-use/ForceableHandle.html#org.apache.bookkeeper.client">ForceableHandle</a>
+<div class="block">Provide the ability to enforce durability guarantees to the writer.</div>
+</td>
+</tr>
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../org/apache/bookkeeper/client/api/class-use/Handle.html#org.apache.bookkeeper.client">Handle</a>
 <div class="block">Handle to manage an open ledger.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../org/apache/bookkeeper/client/api/class-use/LastConfirmedAndEntry.html#org.apache.bookkeeper.client">LastConfirmedAndEntry</a>
 <div class="block">This contains LastAddConfirmed entryId and a LedgerEntry wanted to read.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../org/apache/bookkeeper/client/api/class-use/LedgerEntries.html#org.apache.bookkeeper.client">LedgerEntries</a>
 <div class="block">Interface to wrap a sequence of entries.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../org/apache/bookkeeper/client/api/class-use/LedgerMetadata.html#org.apache.bookkeeper.client">LedgerMetadata</a>
 <div class="block">Represents the client-side metadata of a ledger.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../org/apache/bookkeeper/client/api/class-use/OpBuilder.html#org.apache.bookkeeper.client">OpBuilder</a>
 <div class="block">Base interface for builders.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../org/apache/bookkeeper/client/api/class-use/OpenBuilder.html#org.apache.bookkeeper.client">OpenBuilder</a>
 <div class="block">Builder-style interface to open exiting ledgers.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../org/apache/bookkeeper/client/api/class-use/ReadHandle.html#org.apache.bookkeeper.client">ReadHandle</a>
 <div class="block">Provide read access to a ledger.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../org/apache/bookkeeper/client/api/class-use/WriteAdvHandle.html#org.apache.bookkeeper.client">WriteAdvHandle</a>
 <div class="block">Provide write access to a ledger.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../org/apache/bookkeeper/client/api/class-use/WriteFlag.html#org.apache.bookkeeper.client">WriteFlag</a>
 <div class="block">Flags to specify the behaviour of writes.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../org/apache/bookkeeper/client/api/class-use/WriteHandle.html#org.apache.bookkeeper.client">WriteHandle</a>
 <div class="block">Provide write access to a ledger.</div>
 </td>
@@ -245,46 +250,51 @@
 </td>
 </tr>
 <tr class="rowColor">
+<td class="colOne"><a href="../../../../../org/apache/bookkeeper/client/api/class-use/ForceableHandle.html#org.apache.bookkeeper.client.api">ForceableHandle</a>
+<div class="block">Provide the ability to enforce durability guarantees to the writer.</div>
+</td>
+</tr>
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../org/apache/bookkeeper/client/api/class-use/Handle.html#org.apache.bookkeeper.client.api">Handle</a>
 <div class="block">Handle to manage an open ledger.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../org/apache/bookkeeper/client/api/class-use/LastConfirmedAndEntry.html#org.apache.bookkeeper.client.api">LastConfirmedAndEntry</a>
 <div class="block">This contains LastAddConfirmed entryId and a LedgerEntry wanted to read.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../org/apache/bookkeeper/client/api/class-use/LedgerEntries.html#org.apache.bookkeeper.client.api">LedgerEntries</a>
 <div class="block">Interface to wrap a sequence of entries.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../org/apache/bookkeeper/client/api/class-use/LedgerEntry.html#org.apache.bookkeeper.client.api">LedgerEntry</a>
 <div class="block">An entry in a ledger.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../org/apache/bookkeeper/client/api/class-use/LedgerMetadata.html#org.apache.bookkeeper.client.api">LedgerMetadata</a>
 <div class="block">Represents the client-side metadata of a ledger.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../org/apache/bookkeeper/client/api/class-use/OpBuilder.html#org.apache.bookkeeper.client.api">OpBuilder</a>
 <div class="block">Base interface for builders.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../org/apache/bookkeeper/client/api/class-use/OpenBuilder.html#org.apache.bookkeeper.client.api">OpenBuilder</a>
 <div class="block">Builder-style interface to open exiting ledgers.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../org/apache/bookkeeper/client/api/class-use/ReadHandle.html#org.apache.bookkeeper.client.api">ReadHandle</a>
 <div class="block">Provide read access to a ledger.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../org/apache/bookkeeper/client/api/class-use/WriteFlag.html#org.apache.bookkeeper.client.api">WriteFlag</a>
 <div class="block">Flags to specify the behaviour of writes.</div>
 </td>
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 508f33e..4cd3997 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
@@ -110,6 +110,10 @@
 </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">ForceLedgerOp.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/ForceLedgerOp.html#ackSet">ackSet</a></span></code>&nbsp;</td>
+</tr>
+<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">PendingWriteLacOp.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/PendingWriteLacOp.html#ackSet">ackSet</a></span></code>&nbsp;</td>
 </tr>
 </tbody>
@@ -131,6 +135,17 @@
 <div class="block">Returns an ackset object, responses should be checked against this.</div>
 </td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><code><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">RoundRobinDistributionSchedule.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/RoundRobinDistributionSchedule.html#getEnsembleAckSet--">getEnsembleAckSet</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><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">DistributionSchedule.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/DistributionSchedule.html#getEnsembleAckSet--">getEnsembleAckSet</a></span>()</code>
+<div class="block">Returns an ackset object useful to wait for all bookies in the ensemble,
+ responses should be checked against this.</div>
+</td>
+</tr>
 </tbody>
 </table>
 </li>
diff --git a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/class-use/DistributionSchedule.WriteSet.html b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/class-use/DistributionSchedule.WriteSet.html
index 01d7dad..2d96231 100644
--- a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/class-use/DistributionSchedule.WriteSet.html
+++ b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/class-use/DistributionSchedule.WriteSet.html
@@ -137,22 +137,22 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/bookkeeper/client/DistributionSchedule.WriteSet.html" title="interface in org.apache.bookkeeper.client">DistributionSchedule.WriteSet</a></code></td>
-<td class="colLast"><span class="typeNameLabel">RoundRobinDistributionSchedule.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/RoundRobinDistributionSchedule.html#getWriteSet-long-">getWriteSet</a></span>(long&nbsp;entryId)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">RoundRobinDistributionSchedule.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/RoundRobinDistributionSchedule.html#getEnsembleSet-long-">getEnsembleSet</a></span>(long&nbsp;entryId)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/bookkeeper/client/DistributionSchedule.WriteSet.html" title="interface in org.apache.bookkeeper.client">DistributionSchedule.WriteSet</a></code></td>
-<td class="colLast"><span class="typeNameLabel">DistributionSchedule.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/DistributionSchedule.html#getWriteSet-long-">getWriteSet</a></span>(long&nbsp;entryId)</code>
-<div class="block">Return the set of bookie indices to send the message to.</div>
+<td class="colLast"><span class="typeNameLabel">DistributionSchedule.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/DistributionSchedule.html#getEnsembleSet-long-">getEnsembleSet</a></span>(long&nbsp;entryId)</code>
+<div class="block">Return the set of bookies indices to send the messages to the whole ensemble.</div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/bookkeeper/client/DistributionSchedule.WriteSet.html" title="interface in org.apache.bookkeeper.client">DistributionSchedule.WriteSet</a></code></td>
-<td class="colLast"><span class="typeNameLabel">RoundRobinDistributionSchedule.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/RoundRobinDistributionSchedule.html#getWriteSetForLongPoll-long-">getWriteSetForLongPoll</a></span>(long&nbsp;entryId)</code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">RoundRobinDistributionSchedule.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/RoundRobinDistributionSchedule.html#getWriteSet-long-">getWriteSet</a></span>(long&nbsp;entryId)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/bookkeeper/client/DistributionSchedule.WriteSet.html" title="interface in org.apache.bookkeeper.client">DistributionSchedule.WriteSet</a></code></td>
-<td class="colLast"><span class="typeNameLabel">DistributionSchedule.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/DistributionSchedule.html#getWriteSetForLongPoll-long-">getWriteSetForLongPoll</a></span>(long&nbsp;entryId)</code>
-<div class="block">Return the set of bookies indices to send the messages to for longpoll reads.</div>
+<td class="colLast"><span class="typeNameLabel">DistributionSchedule.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/DistributionSchedule.html#getWriteSet-long-">getWriteSet</a></span>(long&nbsp;entryId)</code>
+<div class="block">Return the set of bookie indices to send the message to.</div>
 </td>
 </tr>
 <tr class="rowColor">
diff --git a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/class-use/ForceLedgerOp.html b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/class-use/ForceLedgerOp.html
new file mode 100644
index 0000000..4d49b39
--- /dev/null
+++ b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/class-use/ForceLedgerOp.html
@@ -0,0 +1,125 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.bookkeeper.client.ForceLedgerOp (Apache BookKeeper :: Parent 4.8.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class org.apache.bookkeeper.client.ForceLedgerOp (Apache BookKeeper :: Parent 4.8.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../org/apache/bookkeeper/client/ForceLedgerOp.html" title="class in org.apache.bookkeeper.client">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/bookkeeper/client/class-use/ForceLedgerOp.html" target="_top">Frames</a></li>
+<li><a href="ForceLedgerOp.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.bookkeeper.client.ForceLedgerOp" class="title">Uses of Class<br>org.apache.bookkeeper.client.ForceLedgerOp</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.bookkeeper.client.ForceLedgerOp</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../../../../../org/apache/bookkeeper/client/ForceLedgerOp.html" title="class in org.apache.bookkeeper.client">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/bookkeeper/client/class-use/ForceLedgerOp.html" target="_top">Frames</a></li>
+<li><a href="ForceLedgerOp.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2011&#x2013;2018 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>
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 bd41b2e..1b4a4bc 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
@@ -168,14 +168,18 @@
 </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">ForceLedgerOp.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/ForceLedgerOp.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">TryReadLastConfirmedOp.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/TryReadLastConfirmedOp.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">PendingWriteLacOp.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/PendingWriteLacOp.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">LedgerOpenOp.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/LedgerOpenOp.html#lh">lh</a></span></code>&nbsp;</td>
 </tr>
 </tbody>
@@ -552,16 +556,20 @@
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/ExplicitLacFlushPolicy.ExplicitLacFlushPolicyImpl.html#ExplicitLacFlushPolicyImpl-org.apache.bookkeeper.client.LedgerHandle-">ExplicitLacFlushPolicyImpl</a></span>(<a href="../../../../../org/apache/bookkeeper/client/LedgerHandle.html" title="class in org.apache.bookkeeper.client">LedgerHandle</a>&nbsp;lh)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/ForceLedgerOp.html#ForceLedgerOp-org.apache.bookkeeper.client.LedgerHandle-java.util.concurrent.CompletableFuture-">ForceLedgerOp</a></span>(<a href="../../../../../org/apache/bookkeeper/client/LedgerHandle.html" title="class in org.apache.bookkeeper.client">LedgerHandle</a>&nbsp;lh,
+             <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;cb)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/LedgerFragment.html#LedgerFragment-org.apache.bookkeeper.client.LedgerHandle-long-long-java.util.Set-">LedgerFragment</a></span>(<a href="../../../../../org/apache/bookkeeper/client/LedgerHandle.html" title="class in org.apache.bookkeeper.client">LedgerHandle</a>&nbsp;lh,
               long&nbsp;firstEntryId,
               long&nbsp;lastKnownEntryId,
               <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;bookieIndexes)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/LedgerRecoveryOp.html#LedgerRecoveryOp-org.apache.bookkeeper.client.LedgerHandle-org.apache.bookkeeper.proto.BookkeeperInternalCallbacks.GenericCallback-">LedgerRecoveryOp</a></span>(<a href="../../../../../org/apache/bookkeeper/client/LedgerHandle.html" title="class in org.apache.bookkeeper.client">LedgerHandle</a>&nbsp;lh,
                 org.apache.bookkeeper.proto.BookkeeperInternalCallbacks.GenericCallback&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;cb)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/ListenerBasedPendingReadOp.html#ListenerBasedPendingReadOp-org.apache.bookkeeper.client.LedgerHandle-java.util.concurrent.ScheduledExecutorService-long-long-org.apache.bookkeeper.proto.BookkeeperInternalCallbacks.ReadEntryListener-java.lang.Object-">ListenerBasedPendingReadOp</a></span>(<a href="../../../../../org/apache/bookkeeper/client/LedgerHandle.html" title="class in org.apac [...]
                           <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ScheduledExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ScheduledExecutorService</a>&nbsp;scheduler,
                           long&nbsp;startEntryId,
@@ -569,7 +577,7 @@
                           org.apache.bookkeeper.proto.BookkeeperInternalCallbacks.ReadEntryListener&nbsp;listener,
                           <a href="https://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">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/ListenerBasedPendingReadOp.html#ListenerBasedPendingReadOp-org.apache.bookkeeper.client.LedgerHandle-java.util.concurrent.ScheduledExecutorService-long-long-org.apache.bookkeeper.proto.BookkeeperInternalCallbacks.ReadEntryListener-java.lang.Object-boolean-">ListenerBasedPendingReadOp</a></span>(<a href="../../../../../org/apache/bookkeeper/client/LedgerHandle.html" title="class in  [...]
                           <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ScheduledExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ScheduledExecutorService</a>&nbsp;scheduler,
                           long&nbsp;startEntryId,
@@ -578,40 +586,40 @@
                           <a href="https://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,
                           boolean&nbsp;isRecoveryRead)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/PendingReadLacOp.html#PendingReadLacOp-org.apache.bookkeeper.client.LedgerHandle-org.apache.bookkeeper.client.PendingReadLacOp.LacCallback-">PendingReadLacOp</a></span>(<a href="../../../../../org/apache/bookkeeper/client/LedgerHandle.html" title="class in org.apache.bookkeeper.client">LedgerHandle</a>&nbsp;lh,
                 <a href="../../../../../org/apache/bookkeeper/client/PendingReadLacOp.LacCallback.html" title="interface in org.apache.bookkeeper.client">PendingReadLacOp.LacCallback</a>&nbsp;cb)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/PendingReadOp.html#PendingReadOp-org.apache.bookkeeper.client.LedgerHandle-java.util.concurrent.ScheduledExecutorService-long-long-">PendingReadOp</a></span>(<a href="../../../../../org/apache/bookkeeper/client/LedgerHandle.html" title="class in org.apache.bookkeeper.client">LedgerHandle</a>&nbsp;lh,
              <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ScheduledExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ScheduledExecutorService</a>&nbsp;scheduler,
              long&nbsp;startEntryId,
              long&nbsp;endEntryId)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/PendingReadOp.html#PendingReadOp-org.apache.bookkeeper.client.LedgerHandle-java.util.concurrent.ScheduledExecutorService-long-long-boolean-">PendingReadOp</a></span>(<a href="../../../../../org/apache/bookkeeper/client/LedgerHandle.html" title="class in org.apache.bookkeeper.client">LedgerHandle</a>&nbsp;lh,
              <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ScheduledExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ScheduledExecutorService</a>&nbsp;scheduler,
              long&nbsp;startEntryId,
              long&nbsp;endEntryId,
              boolean&nbsp;isRecoveryRead)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/PendingWriteLacOp.html#PendingWriteLacOp-org.apache.bookkeeper.client.LedgerHandle-org.apache.bookkeeper.client.AsyncCallback.AddLacCallback-java.lang.Object-">PendingWriteLacOp</a></span>(<a href="../../../../../org/apache/bookkeeper/client/LedgerHandle.html" title="class in org.apache.bookkeeper.client">LedgerHandle</a>&nbsp;lh,
                  <a href="../../../../../org/apache/bookkeeper/client/AsyncCallback.AddLacCallback.html" title="interface in org.apache.bookkeeper.client">AsyncCallback.AddLacCallback</a>&nbsp;cb,
                  <a href="https://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="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/ReadLastConfirmedAndEntryOp.html#ReadLastConfirmedAndEntryOp-org.apache.bookkeeper.client.LedgerHandle-org.apache.bookkeeper.client.ReadLastConfirmedAndEntryOp.LastConfirmedAndEntryCallback-long-long-java.util.concurrent.ScheduledExecutorService-">ReadLastConfirmedAndEntryOp</a></span>(<a href="../../../../../org/apache/bookkeeper/client/LedgerHandle.html" title="class in org.apach [...]
                            <a href="../../../../../org/apache/bookkeeper/client/ReadLastConfirmedAndEntryOp.LastConfirmedAndEntryCallback.html" title="interface in org.apache.bookkeeper.client">ReadLastConfirmedAndEntryOp.LastConfirmedAndEntryCallback</a>&nbsp;cb,
                            long&nbsp;prevEntryId,
                            long&nbsp;timeOutInMillis,
                            <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ScheduledExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ScheduledExecutorService</a>&nbsp;scheduler)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/ReadLastConfirmedOp.html#ReadLastConfirmedOp-org.apache.bookkeeper.client.LedgerHandle-org.apache.bookkeeper.client.ReadLastConfirmedOp.LastConfirmedDataCallback-">ReadLastConfirmedOp</a></span>(<a href="../../../../../org/apache/bookkeeper/client/LedgerHandle.html" title="class in org.apache.bookkeeper.client">LedgerHandle</a>&nbsp;lh,
                    <a href="../../../../../org/apache/bookkeeper/client/ReadLastConfirmedOp.LastConfirmedDataCallback.html" title="interface in org.apache.bookkeeper.client">ReadLastConfirmedOp.LastConfirmedDataCallback</a>&nbsp;cb)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/LedgerRecoveryOp.RecoveryReadOp.html#RecoveryReadOp-org.apache.bookkeeper.client.LedgerHandle-java.util.concurrent.ScheduledExecutorService-long-long-org.apache.bookkeeper.proto.BookkeeperInternalCallbacks.ReadEntryListener-java.lang.Object-">RecoveryReadOp</a></span>(<a href="../../../../../org/apache/bookkeeper/client/LedgerHandle.html" title="class in org.apache.bookkeeper.clien [...]
               <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ScheduledExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ScheduledExecutorService</a>&nbsp;scheduler,
               long&nbsp;startEntryId,
@@ -619,13 +627,13 @@
               org.apache.bookkeeper.proto.BookkeeperInternalCallbacks.ReadEntryListener&nbsp;cb,
               <a href="https://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">
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/LedgerFragmentReplicator.SingleFragmentCallback.html#SingleFragmentCallback-org.apache.zookeeper.AsyncCallback.VoidCallback-org.apache.bookkeeper.client.LedgerHandle-long-java.util.Map-">SingleFragmentCallback</a></span>(org.apache.zookeeper.AsyncCallback.VoidCallback&nbsp;ledgerFragmentsMcb,
                       <a href="../../../../../org/apache/bookkeeper/client/LedgerHandle.html" title="class in org.apache.bookkeeper.client">LedgerHandle</a>&nbsp;lh,
                       long&nbsp;fragmentStartId,
                       <a href="https://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,org.apache.bookkeeper.net.BookieSocketAddress&gt;&nbsp;oldBookie2NewBookie)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/TryReadLastConfirmedOp.html#TryReadLastConfirmedOp-org.apache.bookkeeper.client.LedgerHandle-org.apache.bookkeeper.client.ReadLastConfirmedOp.LastConfirmedDataCallback-long-">TryReadLastConfirmedOp</a></span>(<a href="../../../../../org/apache/bookkeeper/client/LedgerHandle.html" title="class in org.apache.bookkeeper.client">LedgerHandle</a>&nbsp;lh,
                       <a href="../../../../../org/apache/bookkeeper/client/ReadLastConfirmedOp.LastConfirmedDataCallback.html" title="interface in org.apache.bookkeeper.client">ReadLastConfirmedOp.LastConfirmedDataCallback</a>&nbsp;cb,
                       long&nbsp;lac)</code>&nbsp;</td>
diff --git a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/package-frame.html b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/package-frame.html
index d95262c..f4a4d1b 100644
--- a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/package-frame.html
+++ b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/package-frame.html
@@ -63,6 +63,7 @@
 <li><a href="DefaultEnsemblePlacementPolicy.html" title="class in org.apache.bookkeeper.client" target="classFrame">DefaultEnsemblePlacementPolicy</a></li>
 <li><a href="DefaultSpeculativeRequestExecutionPolicy.html" title="class in org.apache.bookkeeper.client" target="classFrame">DefaultSpeculativeRequestExecutionPolicy</a></li>
 <li><a href="ExplicitLacFlushPolicy.ExplicitLacFlushPolicyImpl.html" title="class in org.apache.bookkeeper.client" target="classFrame">ExplicitLacFlushPolicy.ExplicitLacFlushPolicyImpl</a></li>
+<li><a href="ForceLedgerOp.html" title="class in org.apache.bookkeeper.client" target="classFrame">ForceLedgerOp</a></li>
 <li><a href="LedgerChecker.html" title="class in org.apache.bookkeeper.client" target="classFrame">LedgerChecker</a></li>
 <li><a href="LedgerCreateOp.html" title="class in org.apache.bookkeeper.client" target="classFrame">LedgerCreateOp</a></li>
 <li><a href="LedgerCreateOp.CreateBuilderImpl.html" title="class in org.apache.bookkeeper.client" target="classFrame">LedgerCreateOp.CreateBuilderImpl</a></li>
diff --git a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/package-summary.html b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/package-summary.html
index be90182..11166c9 100644
--- a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/package-summary.html
+++ b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/package-summary.html
@@ -373,297 +373,303 @@
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><a href="../../../../org/apache/bookkeeper/client/ForceLedgerOp.html" title="class in org.apache.bookkeeper.client">ForceLedgerOp</a></td>
+<td class="colLast">
+<div class="block">This represents a request to sync the ledger on every bookie.</div>
+</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../org/apache/bookkeeper/client/LedgerChecker.html" title="class in org.apache.bookkeeper.client">LedgerChecker</a></td>
 <td class="colLast">
 <div class="block">A utility class to check the complete ledger and finds the UnderReplicated fragments if any.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../org/apache/bookkeeper/client/LedgerCreateOp.html" title="class in org.apache.bookkeeper.client">LedgerCreateOp</a></td>
 <td class="colLast">
 <div class="block">Encapsulates asynchronous ledger create operation.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../org/apache/bookkeeper/client/LedgerCreateOp.CreateBuilderImpl.html" title="class in org.apache.bookkeeper.client">LedgerCreateOp.CreateBuilderImpl</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../org/apache/bookkeeper/client/LedgerDeleteOp.html" title="class in org.apache.bookkeeper.client">LedgerDeleteOp</a></td>
 <td class="colLast">
 <div class="block">Encapsulates asynchronous ledger delete operation.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../org/apache/bookkeeper/client/LedgerDeleteOp.DeleteBuilderImpl.html" title="class in org.apache.bookkeeper.client">LedgerDeleteOp.DeleteBuilderImpl</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../org/apache/bookkeeper/client/LedgerEntry.html" title="class in org.apache.bookkeeper.client">LedgerEntry</a></td>
 <td class="colLast">
 <div class="block">Ledger entry.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../org/apache/bookkeeper/client/LedgerFragment.html" title="class in org.apache.bookkeeper.client">LedgerFragment</a></td>
 <td class="colLast">
 <div class="block">Represents the entries of a segment of a ledger which are stored on subset of
  bookies in the segments bookie ensemble.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../org/apache/bookkeeper/client/LedgerFragmentReplicator.html" title="class in org.apache.bookkeeper.client">LedgerFragmentReplicator</a></td>
 <td class="colLast">
 <div class="block">This is the helper class for replicating the fragments from one bookie to
  another.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../org/apache/bookkeeper/client/LedgerFragmentReplicator.SingleFragmentCallback.html" title="class in org.apache.bookkeeper.client">LedgerFragmentReplicator.SingleFragmentCallback</a></td>
 <td class="colLast">
 <div class="block">Callback for recovery of a single ledger fragment.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../org/apache/bookkeeper/client/LedgerHandle.html" title="class in org.apache.bookkeeper.client">LedgerHandle</a></td>
 <td class="colLast">
 <div class="block">Ledger handle contains ledger metadata and is used to access the read and
  write operations to a ledger.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../org/apache/bookkeeper/client/LedgerHandle.EnsembleInfo.html" title="class in org.apache.bookkeeper.client">LedgerHandle.EnsembleInfo</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../org/apache/bookkeeper/client/LedgerHandle.LastConfirmedCtx.html" title="class in org.apache.bookkeeper.client">LedgerHandle.LastConfirmedCtx</a></td>
 <td class="colLast">
 <div class="block">Context objects for synchronous call to read last confirmed.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../org/apache/bookkeeper/client/LedgerHandle.NoopCloseCallback.html" title="class in org.apache.bookkeeper.client">LedgerHandle.NoopCloseCallback</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../org/apache/bookkeeper/client/LedgerHandleAdv.html" title="class in org.apache.bookkeeper.client">LedgerHandleAdv</a></td>
 <td class="colLast">
 <div class="block">Ledger Advanced handle extends <a href="../../../../org/apache/bookkeeper/client/LedgerHandle.html" title="class in org.apache.bookkeeper.client"><code>LedgerHandle</code></a> to provide API to add entries with
  user supplied entryIds.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../org/apache/bookkeeper/client/LedgerHandleAdv.PendingOpsComparator.html" title="class in org.apache.bookkeeper.client">LedgerHandleAdv.PendingOpsComparator</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../org/apache/bookkeeper/client/LedgerMetadata.html" title="class in org.apache.bookkeeper.client">LedgerMetadata</a></td>
 <td class="colLast">
 <div class="block">This class encapsulates all the ledger metadata that is persistently stored
  in metadata store.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../org/apache/bookkeeper/client/LedgerOpenOp.html" title="class in org.apache.bookkeeper.client">LedgerOpenOp</a></td>
 <td class="colLast">
 <div class="block">Encapsulates the ledger open operation.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../org/apache/bookkeeper/client/LedgerOpenOp.OpenBuilderImpl.html" title="class in org.apache.bookkeeper.client">LedgerOpenOp.OpenBuilderImpl</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../org/apache/bookkeeper/client/LedgerReader.html" title="class in org.apache.bookkeeper.client">LedgerReader</a></td>
 <td class="colLast">
 <div class="block">Reader used for DL tools to read entries.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../org/apache/bookkeeper/client/LedgerReader.ReadResult.html" title="class in org.apache.bookkeeper.client">LedgerReader.ReadResult</a>&lt;T&gt;</td>
 <td class="colLast">
 <div class="block">Read Result Holder.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../org/apache/bookkeeper/client/LedgerRecoveryOp.html" title="class in org.apache.bookkeeper.client">LedgerRecoveryOp</a></td>
 <td class="colLast">
 <div class="block">This class encapsulated the ledger recovery operation.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../org/apache/bookkeeper/client/ListenerBasedPendingReadOp.html" title="class in org.apache.bookkeeper.client">ListenerBasedPendingReadOp</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../org/apache/bookkeeper/client/PendingAddOp.html" title="class in org.apache.bookkeeper.client">PendingAddOp</a></td>
 <td class="colLast">
 <div class="block">This represents a pending add operation.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../org/apache/bookkeeper/client/PendingReadLacOp.html" title="class in org.apache.bookkeeper.client">PendingReadLacOp</a></td>
 <td class="colLast">
 <div class="block">This represents a pending ReadLac operation.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../org/apache/bookkeeper/client/PendingReadOp.html" title="class in org.apache.bookkeeper.client">PendingReadOp</a></td>
 <td class="colLast">
 <div class="block">Sequence of entries of a ledger that represents a pending read operation.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../org/apache/bookkeeper/client/PendingWriteLacOp.html" title="class in org.apache.bookkeeper.client">PendingWriteLacOp</a></td>
 <td class="colLast">
 <div class="block">This represents a pending WriteLac operation.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicy.html" title="class in org.apache.bookkeeper.client">RackawareEnsemblePlacementPolicy</a></td>
 <td class="colLast">
 <div class="block">A placement policy implementation use rack information for placing ensembles.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.html" title="class in org.apache.bookkeeper.client">RackawareEnsemblePlacementPolicyImpl</a></td>
 <td class="colLast">
 <div class="block">Simple rackware ensemble placement policy.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.DefaultResolver.html" title="class in org.apache.bookkeeper.client">RackawareEnsemblePlacementPolicyImpl.DefaultResolver</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.DNSResolverDecorator.html" title="class in org.apache.bookkeeper.client">RackawareEnsemblePlacementPolicyImpl.DNSResolverDecorator</a></td>
 <td class="colLast">
 <div class="block">Decorator for any existing dsn resolver.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../org/apache/bookkeeper/client/ReadLastConfirmedAndEntryOp.html" title="class in org.apache.bookkeeper.client">ReadLastConfirmedAndEntryOp</a></td>
 <td class="colLast">
 <div class="block">Long poll read operation.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../org/apache/bookkeeper/client/ReadLastConfirmedOp.html" title="class in org.apache.bookkeeper.client">ReadLastConfirmedOp</a></td>
 <td class="colLast">
 <div class="block">This class encapsulated the read last confirmed operation.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../org/apache/bookkeeper/client/ReadOnlyLedgerHandle.html" title="class in org.apache.bookkeeper.client">ReadOnlyLedgerHandle</a></td>
 <td class="colLast">
 <div class="block">Read only ledger handle.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../org/apache/bookkeeper/client/RegionAwareEnsemblePlacementPolicy.html" title="class in org.apache.bookkeeper.client">RegionAwareEnsemblePlacementPolicy</a></td>
 <td class="colLast">
 <div class="block">A placement policy use region information in the network topology for placing ensembles.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../org/apache/bookkeeper/client/RoundRobinDistributionSchedule.html" title="class in org.apache.bookkeeper.client">RoundRobinDistributionSchedule</a></td>
 <td class="colLast">
 <div class="block">A specific <a href="../../../../org/apache/bookkeeper/client/DistributionSchedule.html" title="interface in org.apache.bookkeeper.client"><code>DistributionSchedule</code></a> that places entries in round-robin
  fashion.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../org/apache/bookkeeper/client/SyncCallbackUtils.html" title="class in org.apache.bookkeeper.client">SyncCallbackUtils</a></td>
 <td class="colLast">
 <div class="block">Utility for callbacks.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../org/apache/bookkeeper/client/SyncCallbackUtils.FutureReadLastConfirmed.html" title="class in org.apache.bookkeeper.client">SyncCallbackUtils.FutureReadLastConfirmed</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../org/apache/bookkeeper/client/SyncCallbackUtils.FutureReadLastConfirmedAndEntry.html" title="class in org.apache.bookkeeper.client">SyncCallbackUtils.FutureReadLastConfirmedAndEntry</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../org/apache/bookkeeper/client/SyncCallbackUtils.LastAddConfirmedCallback.html" title="class in org.apache.bookkeeper.client">SyncCallbackUtils.LastAddConfirmedCallback</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../org/apache/bookkeeper/client/SyncCallbackUtils.SyncAddCallback.html" title="class in org.apache.bookkeeper.client">SyncCallbackUtils.SyncAddCallback</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../org/apache/bookkeeper/client/SyncCallbackUtils.SyncCloseCallback.html" title="class in org.apache.bookkeeper.client">SyncCallbackUtils.SyncCloseCallback</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../org/apache/bookkeeper/client/SyncCallbackUtils.SyncCreateAdvCallback.html" title="class in org.apache.bookkeeper.client">SyncCallbackUtils.SyncCreateAdvCallback</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../org/apache/bookkeeper/client/SyncCallbackUtils.SyncCreateCallback.html" title="class in org.apache.bookkeeper.client">SyncCallbackUtils.SyncCreateCallback</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../org/apache/bookkeeper/client/SyncCallbackUtils.SyncDeleteCallback.html" title="class in org.apache.bookkeeper.client">SyncCallbackUtils.SyncDeleteCallback</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../org/apache/bookkeeper/client/SyncCallbackUtils.SyncOpenCallback.html" title="class in org.apache.bookkeeper.client">SyncCallbackUtils.SyncOpenCallback</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../org/apache/bookkeeper/client/SyncCallbackUtils.SyncReadCallback.html" title="class in org.apache.bookkeeper.client">SyncCallbackUtils.SyncReadCallback</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../org/apache/bookkeeper/client/SyncCallbackUtils.SyncReadLastConfirmedCallback.html" title="class in org.apache.bookkeeper.client">SyncCallbackUtils.SyncReadLastConfirmedCallback</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../org/apache/bookkeeper/client/SyncCounter.html" title="class in org.apache.bookkeeper.client">SyncCounter</a></td>
 <td class="colLast">
 <div class="block">Implements objects to help with the synchronization of asynchronous calls.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../org/apache/bookkeeper/client/TopologyAwareEnsemblePlacementPolicy.html" title="class in org.apache.bookkeeper.client">TopologyAwareEnsemblePlacementPolicy</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../org/apache/bookkeeper/client/TopologyAwareEnsemblePlacementPolicy.BookieNode.html" title="class in org.apache.bookkeeper.client">TopologyAwareEnsemblePlacementPolicy.BookieNode</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../org/apache/bookkeeper/client/TopologyAwareEnsemblePlacementPolicy.EnsembleForReplacementWithNoConstraints.html" title="class in org.apache.bookkeeper.client">TopologyAwareEnsemblePlacementPolicy.EnsembleForReplacementWithNoConstraints</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../org/apache/bookkeeper/client/TopologyAwareEnsemblePlacementPolicy.RRTopologyAwareCoverageEnsemble.html" title="class in org.apache.bookkeeper.client">TopologyAwareEnsemblePlacementPolicy.RRTopologyAwareCoverageEnsemble</a></td>
 <td class="colLast">
 <div class="block">A predicate checking the rack coverage for write quorum in <a href="../../../../org/apache/bookkeeper/client/RoundRobinDistributionSchedule.html" title="class in org.apache.bookkeeper.client"><code>RoundRobinDistributionSchedule</code></a>,
  which ensures that a write quorum should be covered by at least two racks.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../org/apache/bookkeeper/client/TopologyAwareEnsemblePlacementPolicy.TruePredicate.html" title="class in org.apache.bookkeeper.client">TopologyAwareEnsemblePlacementPolicy.TruePredicate</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../org/apache/bookkeeper/client/TryReadLastConfirmedOp.html" title="class in org.apache.bookkeeper.client">TryReadLastConfirmedOp</a></td>
 <td class="colLast">
 <div class="block">This op is try to read last confirmed without involving quorum coverage checking.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../org/apache/bookkeeper/client/UpdateLedgerOp.html" title="class in org.apache.bookkeeper.client">UpdateLedgerOp</a></td>
 <td class="colLast">
 <div class="block">Encapsulates updating the ledger metadata operation.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../org/apache/bookkeeper/client/WeightedRandomSelection.html" title="class in org.apache.bookkeeper.client">WeightedRandomSelection</a>&lt;T&gt;</td>
 <td class="colLast">&nbsp;</td>
 </tr>
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 e70b9da..11938b8 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
@@ -175,6 +175,7 @@
 <li type="circle">org.apache.bookkeeper.client.<a href="../../../../org/apache/bookkeeper/client/RoundRobinDistributionSchedule.html" title="class in org.apache.bookkeeper.client"><span class="typeNameLink">RoundRobinDistributionSchedule</span></a> (implements org.apache.bookkeeper.client.<a href="../../../../org/apache/bookkeeper/client/DistributionSchedule.html" title="interface in org.apache.bookkeeper.client">DistributionSchedule</a>)</li>
 <li type="circle">org.apache.bookkeeper.util.SafeRunnable (implements org.apache.bookkeeper.common.util.SafeRunnable)
 <ul>
+<li type="circle">org.apache.bookkeeper.client.<a href="../../../../org/apache/bookkeeper/client/ForceLedgerOp.html" title="class in org.apache.bookkeeper.client"><span class="typeNameLink">ForceLedgerOp</span></a> (implements org.apache.bookkeeper.proto.BookkeeperInternalCallbacks.ForceLedgerCallback)</li>
 <li type="circle">org.apache.bookkeeper.client.<a href="../../../../org/apache/bookkeeper/client/PendingAddOp.html" title="class in org.apache.bookkeeper.client"><span class="typeNameLink">PendingAddOp</span></a> (implements org.apache.bookkeeper.proto.BookkeeperInternalCallbacks.WriteCallback)</li>
 <li type="circle">org.apache.bookkeeper.client.<a href="../../../../org/apache/bookkeeper/client/ReadOnlyLedgerHandle.MetadataUpdater.html" title="class in org.apache.bookkeeper.client"><span class="typeNameLink">ReadOnlyLedgerHandle.MetadataUpdater</span></a></li>
 </ul>
diff --git a/content/docs/latest/api/javadoc/org/apache/bookkeeper/common/annotation/class-use/InterfaceAudience.Public.html b/content/docs/latest/api/javadoc/org/apache/bookkeeper/common/annotation/class-use/InterfaceAudience.Public.html
index 4471bb3..ca628de 100644
--- a/content/docs/latest/api/javadoc/org/apache/bookkeeper/common/annotation/class-use/InterfaceAudience.Public.html
+++ b/content/docs/latest/api/javadoc/org/apache/bookkeeper/common/annotation/class-use/InterfaceAudience.Public.html
@@ -265,41 +265,47 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>interface&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/bookkeeper/client/api/ForceableHandle.html" title="interface in org.apache.bookkeeper.client.api">ForceableHandle</a></span></code>
+<div class="block">Provide the ability to enforce durability guarantees to the writer.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>interface&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/bookkeeper/client/api/Handle.html" title="interface in org.apache.bookkeeper.client.api">Handle</a></span></code>
 <div class="block">Handle to manage an open ledger.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>interface&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/bookkeeper/client/api/LedgerEntry.html" title="interface in org.apache.bookkeeper.client.api">LedgerEntry</a></span></code>
 <div class="block">An entry in a ledger.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>interface&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/bookkeeper/client/api/OpBuilder.html" title="interface in org.apache.bookkeeper.client.api">OpBuilder</a>&lt;T&gt;</span></code>
 <div class="block">Base interface for builders.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>interface&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/bookkeeper/client/api/OpenBuilder.html" title="interface in org.apache.bookkeeper.client.api">OpenBuilder</a></span></code>
 <div class="block">Builder-style interface to open exiting ledgers.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>interface&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/bookkeeper/client/api/ReadHandle.html" title="interface in org.apache.bookkeeper.client.api">ReadHandle</a></span></code>
 <div class="block">Provide read access to a ledger.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>interface&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/bookkeeper/client/api/WriteAdvHandle.html" title="interface in org.apache.bookkeeper.client.api">WriteAdvHandle</a></span></code>
 <div class="block">Provide write access to a ledger.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>interface&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/bookkeeper/client/api/WriteHandle.html" title="interface in org.apache.bookkeeper.client.api">WriteHandle</a></span></code>
 <div class="block">Provide write access to a ledger.</div>
diff --git a/content/docs/latest/api/javadoc/org/apache/bookkeeper/common/annotation/class-use/InterfaceStability.Unstable.html b/content/docs/latest/api/javadoc/org/apache/bookkeeper/common/annotation/class-use/InterfaceStability.Unstable.html
index 8bd5c0e..968f503 100644
--- a/content/docs/latest/api/javadoc/org/apache/bookkeeper/common/annotation/class-use/InterfaceStability.Unstable.html
+++ b/content/docs/latest/api/javadoc/org/apache/bookkeeper/common/annotation/class-use/InterfaceStability.Unstable.html
@@ -148,47 +148,53 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>interface&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/bookkeeper/client/api/ForceableHandle.html" title="interface in org.apache.bookkeeper.client.api">ForceableHandle</a></span></code>
+<div class="block">Provide the ability to enforce durability guarantees to the writer.</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>interface&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/bookkeeper/client/api/Handle.html" title="interface in org.apache.bookkeeper.client.api">Handle</a></span></code>
 <div class="block">Handle to manage an open ledger.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>interface&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/bookkeeper/client/api/LedgerEntry.html" title="interface in org.apache.bookkeeper.client.api">LedgerEntry</a></span></code>
 <div class="block">An entry in a ledger.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>interface&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/bookkeeper/client/api/LedgerMetadata.html" title="interface in org.apache.bookkeeper.client.api">LedgerMetadata</a></span></code>
 <div class="block">Represents the client-side metadata of a ledger.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>interface&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/bookkeeper/client/api/OpBuilder.html" title="interface in org.apache.bookkeeper.client.api">OpBuilder</a>&lt;T&gt;</span></code>
 <div class="block">Base interface for builders.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>interface&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/bookkeeper/client/api/OpenBuilder.html" title="interface in org.apache.bookkeeper.client.api">OpenBuilder</a></span></code>
 <div class="block">Builder-style interface to open exiting ledgers.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>interface&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/bookkeeper/client/api/ReadHandle.html" title="interface in org.apache.bookkeeper.client.api">ReadHandle</a></span></code>
 <div class="block">Provide read access to a ledger.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>interface&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/bookkeeper/client/api/WriteAdvHandle.html" title="interface in org.apache.bookkeeper.client.api">WriteAdvHandle</a></span></code>
 <div class="block">Provide write access to a ledger.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>interface&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/bookkeeper/client/api/WriteHandle.html" title="interface in org.apache.bookkeeper.client.api">WriteHandle</a></span></code>
 <div class="block">Provide write access to a ledger.</div>
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 a8b9c9a..bbad16c 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
@@ -199,38 +199,42 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>(package private) <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">BookKeeper.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/BookKeeper.html#getOpenOpLogger--">getOpenOpLogger</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#getForceOpLogger--">getForceOpLogger</a></span>()</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>(package private) <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">BookKeeper.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/BookKeeper.html#getReadLacAndEntryOpLogger--">getReadLacAndEntryOpLogger</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#getOpenOpLogger--">getOpenOpLogger</a></span>()</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>(package private) <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">BookKeeper.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/BookKeeper.html#getReadLacAndEntryRespLogger--">getReadLacAndEntryRespLogger</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#getReadLacAndEntryOpLogger--">getReadLacAndEntryOpLogger</a></span>()</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>(package private) <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">BookKeeper.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/BookKeeper.html#getReadLacOpLogger--">getReadLacOpLogger</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#getReadLacAndEntryRespLogger--">getReadLacAndEntryRespLogger</a></span>()</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>(package private) <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">BookKeeper.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/BookKeeper.html#getReadOpLogger--">getReadOpLogger</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#getReadLacOpLogger--">getReadLacOpLogger</a></span>()</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>(package private) <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">BookKeeper.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/BookKeeper.html#getRecoverAddCountLogger--">getRecoverAddCountLogger</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#getReadOpLogger--">getReadOpLogger</a></span>()</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>(package private) <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">BookKeeper.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/BookKeeper.html#getRecoverOpLogger--">getRecoverOpLogger</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#getRecoverAddCountLogger--">getRecoverAddCountLogger</a></span>()</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>(package private) <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">BookKeeper.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/BookKeeper.html#getRecoverReadCountLogger--">getRecoverReadCountLogger</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#getRecoverOpLogger--">getRecoverOpLogger</a></span>()</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>(package private) <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">BookKeeper.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/BookKeeper.html#getRecoverReadCountLogger--">getRecoverReadCountLogger</a></span>()</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>(package private) <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">BookKeeper.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/bookkeeper/client/BookKeeper.html#getWriteLacOpLogger--">getWriteLacOpLogger</a></span>()</code>&nbsp;</td>
 </tr>
 </tbody>
diff --git a/content/docs/latest/api/javadoc/overview-tree.html b/content/docs/latest/api/javadoc/overview-tree.html
index 2bfb9eb..c70a5b1 100644
--- a/content/docs/latest/api/javadoc/overview-tree.html
+++ b/content/docs/latest/api/javadoc/overview-tree.html
@@ -269,6 +269,7 @@
 <li type="circle">org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/RoundRobinDistributionSchedule.html" title="class in org.apache.bookkeeper.client"><span class="typeNameLink">RoundRobinDistributionSchedule</span></a> (implements org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/DistributionSchedule.html" title="interface in org.apache.bookkeeper.client">DistributionSchedule</a>)</li>
 <li type="circle">org.apache.bookkeeper.util.SafeRunnable (implements org.apache.bookkeeper.common.util.SafeRunnable)
 <ul>
+<li type="circle">org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/ForceLedgerOp.html" title="class in org.apache.bookkeeper.client"><span class="typeNameLink">ForceLedgerOp</span></a> (implements org.apache.bookkeeper.proto.BookkeeperInternalCallbacks.ForceLedgerCallback)</li>
 <li type="circle">org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/PendingAddOp.html" title="class in org.apache.bookkeeper.client"><span class="typeNameLink">PendingAddOp</span></a> (implements org.apache.bookkeeper.proto.BookkeeperInternalCallbacks.WriteCallback)</li>
 <li type="circle">org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/ReadOnlyLedgerHandle.MetadataUpdater.html" title="class in org.apache.bookkeeper.client"><span class="typeNameLink">ReadOnlyLedgerHandle.MetadataUpdater</span></a></li>
 </ul>
@@ -473,12 +474,12 @@
 <ul>
 <li type="circle">org.apache.bookkeeper.client.api.<a href="org/apache/bookkeeper/client/api/ReadHandle.html" title="interface in org.apache.bookkeeper.client.api"><span class="typeNameLink">ReadHandle</span></a>
 <ul>
-<li type="circle">org.apache.bookkeeper.client.api.<a href="org/apache/bookkeeper/client/api/WriteAdvHandle.html" title="interface in org.apache.bookkeeper.client.api"><span class="typeNameLink">WriteAdvHandle</span></a></li>
-<li type="circle">org.apache.bookkeeper.client.api.<a href="org/apache/bookkeeper/client/api/WriteHandle.html" title="interface in org.apache.bookkeeper.client.api"><span class="typeNameLink">WriteHandle</span></a></li>
+<li type="circle">org.apache.bookkeeper.client.api.<a href="org/apache/bookkeeper/client/api/WriteAdvHandle.html" title="interface in org.apache.bookkeeper.client.api"><span class="typeNameLink">WriteAdvHandle</span></a> (also extends org.apache.bookkeeper.client.api.<a href="org/apache/bookkeeper/client/api/ForceableHandle.html" title="interface in org.apache.bookkeeper.client.api">ForceableHandle</a>)</li>
+<li type="circle">org.apache.bookkeeper.client.api.<a href="org/apache/bookkeeper/client/api/WriteHandle.html" title="interface in org.apache.bookkeeper.client.api"><span class="typeNameLink">WriteHandle</span></a> (also extends org.apache.bookkeeper.client.api.<a href="org/apache/bookkeeper/client/api/ForceableHandle.html" title="interface in org.apache.bookkeeper.client.api">ForceableHandle</a>)</li>
 </ul>
 </li>
-<li type="circle">org.apache.bookkeeper.client.api.<a href="org/apache/bookkeeper/client/api/WriteAdvHandle.html" title="interface in org.apache.bookkeeper.client.api"><span class="typeNameLink">WriteAdvHandle</span></a></li>
-<li type="circle">org.apache.bookkeeper.client.api.<a href="org/apache/bookkeeper/client/api/WriteHandle.html" title="interface in org.apache.bookkeeper.client.api"><span class="typeNameLink">WriteHandle</span></a></li>
+<li type="circle">org.apache.bookkeeper.client.api.<a href="org/apache/bookkeeper/client/api/WriteAdvHandle.html" title="interface in org.apache.bookkeeper.client.api"><span class="typeNameLink">WriteAdvHandle</span></a> (also extends org.apache.bookkeeper.client.api.<a href="org/apache/bookkeeper/client/api/ForceableHandle.html" title="interface in org.apache.bookkeeper.client.api">ForceableHandle</a>, org.apache.bookkeeper.client.api.<a href="org/apache/bookkeeper/client/api/ReadHandle [...]
+<li type="circle">org.apache.bookkeeper.client.api.<a href="org/apache/bookkeeper/client/api/WriteHandle.html" title="interface in org.apache.bookkeeper.client.api"><span class="typeNameLink">WriteHandle</span></a> (also extends org.apache.bookkeeper.client.api.<a href="org/apache/bookkeeper/client/api/ForceableHandle.html" title="interface in org.apache.bookkeeper.client.api">ForceableHandle</a>, org.apache.bookkeeper.client.api.<a href="org/apache/bookkeeper/client/api/ReadHandle.html" [...]
 </ul>
 </li>
 <li type="circle">org.apache.bookkeeper.client.api.<a href="org/apache/bookkeeper/client/api/LastConfirmedAndEntry.html" title="interface in org.apache.bookkeeper.client.api"><span class="typeNameLink">LastConfirmedAndEntry</span></a></li>
@@ -486,12 +487,12 @@
 <li type="circle">org.apache.bookkeeper.client.api.<a href="org/apache/bookkeeper/client/api/LedgerEntry.html" title="interface in org.apache.bookkeeper.client.api"><span class="typeNameLink">LedgerEntry</span></a></li>
 <li type="circle">org.apache.bookkeeper.client.api.<a href="org/apache/bookkeeper/client/api/ReadHandle.html" title="interface in org.apache.bookkeeper.client.api"><span class="typeNameLink">ReadHandle</span></a>
 <ul>
-<li type="circle">org.apache.bookkeeper.client.api.<a href="org/apache/bookkeeper/client/api/WriteAdvHandle.html" title="interface in org.apache.bookkeeper.client.api"><span class="typeNameLink">WriteAdvHandle</span></a></li>
-<li type="circle">org.apache.bookkeeper.client.api.<a href="org/apache/bookkeeper/client/api/WriteHandle.html" title="interface in org.apache.bookkeeper.client.api"><span class="typeNameLink">WriteHandle</span></a></li>
+<li type="circle">org.apache.bookkeeper.client.api.<a href="org/apache/bookkeeper/client/api/WriteAdvHandle.html" title="interface in org.apache.bookkeeper.client.api"><span class="typeNameLink">WriteAdvHandle</span></a> (also extends org.apache.bookkeeper.client.api.<a href="org/apache/bookkeeper/client/api/ForceableHandle.html" title="interface in org.apache.bookkeeper.client.api">ForceableHandle</a>)</li>
+<li type="circle">org.apache.bookkeeper.client.api.<a href="org/apache/bookkeeper/client/api/WriteHandle.html" title="interface in org.apache.bookkeeper.client.api"><span class="typeNameLink">WriteHandle</span></a> (also extends org.apache.bookkeeper.client.api.<a href="org/apache/bookkeeper/client/api/ForceableHandle.html" title="interface in org.apache.bookkeeper.client.api">ForceableHandle</a>)</li>
 </ul>
 </li>
-<li type="circle">org.apache.bookkeeper.client.api.<a href="org/apache/bookkeeper/client/api/WriteAdvHandle.html" title="interface in org.apache.bookkeeper.client.api"><span class="typeNameLink">WriteAdvHandle</span></a></li>
-<li type="circle">org.apache.bookkeeper.client.api.<a href="org/apache/bookkeeper/client/api/WriteHandle.html" title="interface in org.apache.bookkeeper.client.api"><span class="typeNameLink">WriteHandle</span></a></li>
+<li type="circle">org.apache.bookkeeper.client.api.<a href="org/apache/bookkeeper/client/api/WriteAdvHandle.html" title="interface in org.apache.bookkeeper.client.api"><span class="typeNameLink">WriteAdvHandle</span></a> (also extends org.apache.bookkeeper.client.api.<a href="org/apache/bookkeeper/client/api/ForceableHandle.html" title="interface in org.apache.bookkeeper.client.api">ForceableHandle</a>, org.apache.bookkeeper.client.api.<a href="org/apache/bookkeeper/client/api/ReadHandle [...]
+<li type="circle">org.apache.bookkeeper.client.api.<a href="org/apache/bookkeeper/client/api/WriteHandle.html" title="interface in org.apache.bookkeeper.client.api"><span class="typeNameLink">WriteHandle</span></a> (also extends org.apache.bookkeeper.client.api.<a href="org/apache/bookkeeper/client/api/ForceableHandle.html" title="interface in org.apache.bookkeeper.client.api">ForceableHandle</a>, org.apache.bookkeeper.client.api.<a href="org/apache/bookkeeper/client/api/ReadHandle.html" [...]
 </ul>
 </li>
 <li type="circle">org.apache.bookkeeper.client.api.<a href="org/apache/bookkeeper/client/api/BKException.Code.html" title="interface in org.apache.bookkeeper.client.api"><span class="typeNameLink">BKException.Code</span></a>
@@ -517,6 +518,12 @@
 <li type="circle">org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/ExplicitLacFlushPolicy.html" title="interface in org.apache.bookkeeper.client"><span class="typeNameLink">ExplicitLacFlushPolicy</span></a></li>
 <li type="circle">org.apache.bookkeeper.feature.<a href="org/apache/bookkeeper/feature/Feature.html" title="interface in org.apache.bookkeeper.feature"><span class="typeNameLink">Feature</span></a></li>
 <li type="circle">org.apache.bookkeeper.feature.<a href="org/apache/bookkeeper/feature/FeatureProvider.html" title="interface in org.apache.bookkeeper.feature"><span class="typeNameLink">FeatureProvider</span></a></li>
+<li type="circle">org.apache.bookkeeper.client.api.<a href="org/apache/bookkeeper/client/api/ForceableHandle.html" title="interface in org.apache.bookkeeper.client.api"><span class="typeNameLink">ForceableHandle</span></a>
+<ul>
+<li type="circle">org.apache.bookkeeper.client.api.<a href="org/apache/bookkeeper/client/api/WriteAdvHandle.html" title="interface in org.apache.bookkeeper.client.api"><span class="typeNameLink">WriteAdvHandle</span></a> (also extends org.apache.bookkeeper.client.api.<a href="org/apache/bookkeeper/client/api/ReadHandle.html" title="interface in org.apache.bookkeeper.client.api">ReadHandle</a>)</li>
+<li type="circle">org.apache.bookkeeper.client.api.<a href="org/apache/bookkeeper/client/api/WriteHandle.html" title="interface in org.apache.bookkeeper.client.api"><span class="typeNameLink">WriteHandle</span></a> (also extends org.apache.bookkeeper.client.api.<a href="org/apache/bookkeeper/client/api/ReadHandle.html" title="interface in org.apache.bookkeeper.client.api">ReadHandle</a>)</li>
+</ul>
+</li>
 <li type="circle">org.apache.bookkeeper.stats.<a href="org/apache/bookkeeper/stats/Gauge.html" title="interface in org.apache.bookkeeper.stats"><span class="typeNameLink">Gauge</span></a>&lt;T&gt;</li>
 <li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Iterable</span></a>&lt;T&gt;
 <ul>

-- 
To stop receiving notification emails like this one, please contact
git-site-role@apache.org.