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 f2d6573  Updated site at revision 2f996dcf0
f2d6573 is described below

commit f2d65735a8da54d6d3ca0b812afefbc81cfee89f
Author: jenkins <[email protected]>
AuthorDate: Wed Oct 2 18:47:54 2019 +0000

    Updated site at revision 2f996dcf0
---
 content/docs/4.5.0/reference/config/index.html     |  8 ++---
 content/docs/4.5.1/reference/config/index.html     |  8 ++---
 content/docs/4.6.0/reference/config/index.html     |  8 ++---
 content/docs/4.6.1/reference/config/index.html     |  8 ++---
 content/docs/4.6.2/reference/config/index.html     |  8 ++---
 content/docs/4.7.0/reference/config/index.html     |  8 ++---
 content/docs/4.7.1/reference/config/index.html     |  8 ++---
 content/docs/4.7.2/reference/config/index.html     |  8 ++---
 content/docs/4.7.3/reference/config/index.html     |  8 ++---
 content/docs/4.8.0/reference/config/index.html     |  8 ++---
 content/docs/4.8.1/reference/config/index.html     |  8 ++---
 content/docs/4.8.2/reference/config/index.html     |  8 ++---
 content/docs/4.9.0/reference/config/index.html     |  8 ++---
 content/docs/4.9.1/reference/config/index.html     |  8 ++---
 content/docs/4.9.2/reference/config/index.html     |  8 ++---
 content/docs/latest/api/javadoc/index-all.html     | 19 ++++------
 .../client/BookKeeperAdmin.ResultCallBack.html     |  2 +-
 .../apache/bookkeeper/client/BookKeeperAdmin.html  | 12 ++++---
 .../apache/bookkeeper/client/LedgerFragment.html   |  8 ++---
 .../client/LedgerFragmentReplicator.html           | 10 +++---
 .../bookkeeper/client/class-use/BKException.html   |  5 +--
 .../client/class-use/LedgerFragment.html           | 10 +++---
 .../bookkeeper/client/class-use/LedgerHandle.html  | 10 +++---
 .../bookkeeper/conf/ServerConfiguration.html       | 40 ++++++++++------------
 content/docs/latest/reference/config/index.html    |  8 ++---
 25 files changed, 121 insertions(+), 123 deletions(-)

diff --git a/content/docs/4.5.0/reference/config/index.html 
b/content/docs/4.5.0/reference/config/index.html
index 297e1c9..abdbf37 100644
--- a/content/docs/4.5.0/reference/config/index.html
+++ b/content/docs/4.5.0/reference/config/index.html
@@ -2192,16 +2192,16 @@ when using either RackawareEnsemblePlacementPolicy and 
RegionAwareEnsemblePlacem
     
     <tr id="openLedgerRereplicationGracePeriod">
       <td><code>openLedgerRereplicationGracePeriod</code></td>
-      <td><p>The grace period, in seconds, that the replication worker waits 
before fencing and replicating a ledger fragment that’s still being written to 
upon bookie failure.</p>
+      <td><p>The grace period, in milliseconds, that the replication worker 
waits before fencing and replicating a ledger fragment that’s still being 
written to upon bookie failure.</p>
 </td>
-      <td><code>30</code></td>
+      <td><code>30000</code></td>
     </tr>
     
     <tr id="lockReleaseOfFailedLedgerGracePeriod">
       <td><code>lockReleaseOfFailedLedgerGracePeriod</code></td>
-      <td><p>the grace period so that if the replication worker fails to 
replicate a underreplicatedledger for more than 
ReplicationWorker.MAXNUMBER_REPLICATION_FAILURES_ALLOWED_BEFORE_DEFERRING 
number of times, then instead of releasing the lock immediately after failed 
attempt, it will hold under replicated ledger lock for this grace period and 
then it will release the lock.</p>
+      <td><p>Set the grace period, in milliseconds, which the replication 
worker has to wait before releasing the lock after it failed to replicate a 
ledger. For the first ReplicationWorker.NUM_OF_EXPONENTIAL_BACKOFF_RETRIALS 
failures it will do exponential backoff then it will bound at 
lockReleaseOfFailedLedgerGracePeriod.</p>
 </td>
-      <td><code>60</code></td>
+      <td><code>300000</code></td>
     </tr>
     
     <tr id="rwRereplicateBackoffMs">
diff --git a/content/docs/4.5.1/reference/config/index.html 
b/content/docs/4.5.1/reference/config/index.html
index 9e7b257..acede82 100644
--- a/content/docs/4.5.1/reference/config/index.html
+++ b/content/docs/4.5.1/reference/config/index.html
@@ -2192,16 +2192,16 @@ when using either RackawareEnsemblePlacementPolicy and 
RegionAwareEnsemblePlacem
     
     <tr id="openLedgerRereplicationGracePeriod">
       <td><code>openLedgerRereplicationGracePeriod</code></td>
-      <td><p>The grace period, in seconds, that the replication worker waits 
before fencing and replicating a ledger fragment that’s still being written to 
upon bookie failure.</p>
+      <td><p>The grace period, in milliseconds, that the replication worker 
waits before fencing and replicating a ledger fragment that’s still being 
written to upon bookie failure.</p>
 </td>
-      <td><code>30</code></td>
+      <td><code>30000</code></td>
     </tr>
     
     <tr id="lockReleaseOfFailedLedgerGracePeriod">
       <td><code>lockReleaseOfFailedLedgerGracePeriod</code></td>
-      <td><p>the grace period so that if the replication worker fails to 
replicate a underreplicatedledger for more than 
ReplicationWorker.MAXNUMBER_REPLICATION_FAILURES_ALLOWED_BEFORE_DEFERRING 
number of times, then instead of releasing the lock immediately after failed 
attempt, it will hold under replicated ledger lock for this grace period and 
then it will release the lock.</p>
+      <td><p>Set the grace period, in milliseconds, which the replication 
worker has to wait before releasing the lock after it failed to replicate a 
ledger. For the first ReplicationWorker.NUM_OF_EXPONENTIAL_BACKOFF_RETRIALS 
failures it will do exponential backoff then it will bound at 
lockReleaseOfFailedLedgerGracePeriod.</p>
 </td>
-      <td><code>60</code></td>
+      <td><code>300000</code></td>
     </tr>
     
     <tr id="rwRereplicateBackoffMs">
diff --git a/content/docs/4.6.0/reference/config/index.html 
b/content/docs/4.6.0/reference/config/index.html
index 5cacb2a..db0e178 100644
--- a/content/docs/4.6.0/reference/config/index.html
+++ b/content/docs/4.6.0/reference/config/index.html
@@ -2192,16 +2192,16 @@ when using either RackawareEnsemblePlacementPolicy and 
RegionAwareEnsemblePlacem
     
     <tr id="openLedgerRereplicationGracePeriod">
       <td><code>openLedgerRereplicationGracePeriod</code></td>
-      <td><p>The grace period, in seconds, that the replication worker waits 
before fencing and replicating a ledger fragment that’s still being written to 
upon bookie failure.</p>
+      <td><p>The grace period, in milliseconds, that the replication worker 
waits before fencing and replicating a ledger fragment that’s still being 
written to upon bookie failure.</p>
 </td>
-      <td><code>30</code></td>
+      <td><code>30000</code></td>
     </tr>
     
     <tr id="lockReleaseOfFailedLedgerGracePeriod">
       <td><code>lockReleaseOfFailedLedgerGracePeriod</code></td>
-      <td><p>the grace period so that if the replication worker fails to 
replicate a underreplicatedledger for more than 
ReplicationWorker.MAXNUMBER_REPLICATION_FAILURES_ALLOWED_BEFORE_DEFERRING 
number of times, then instead of releasing the lock immediately after failed 
attempt, it will hold under replicated ledger lock for this grace period and 
then it will release the lock.</p>
+      <td><p>Set the grace period, in milliseconds, which the replication 
worker has to wait before releasing the lock after it failed to replicate a 
ledger. For the first ReplicationWorker.NUM_OF_EXPONENTIAL_BACKOFF_RETRIALS 
failures it will do exponential backoff then it will bound at 
lockReleaseOfFailedLedgerGracePeriod.</p>
 </td>
-      <td><code>60</code></td>
+      <td><code>300000</code></td>
     </tr>
     
     <tr id="rwRereplicateBackoffMs">
diff --git a/content/docs/4.6.1/reference/config/index.html 
b/content/docs/4.6.1/reference/config/index.html
index 87d82f3..7130cd8 100644
--- a/content/docs/4.6.1/reference/config/index.html
+++ b/content/docs/4.6.1/reference/config/index.html
@@ -2192,16 +2192,16 @@ when using either RackawareEnsemblePlacementPolicy and 
RegionAwareEnsemblePlacem
     
     <tr id="openLedgerRereplicationGracePeriod">
       <td><code>openLedgerRereplicationGracePeriod</code></td>
-      <td><p>The grace period, in seconds, that the replication worker waits 
before fencing and replicating a ledger fragment that’s still being written to 
upon bookie failure.</p>
+      <td><p>The grace period, in milliseconds, that the replication worker 
waits before fencing and replicating a ledger fragment that’s still being 
written to upon bookie failure.</p>
 </td>
-      <td><code>30</code></td>
+      <td><code>30000</code></td>
     </tr>
     
     <tr id="lockReleaseOfFailedLedgerGracePeriod">
       <td><code>lockReleaseOfFailedLedgerGracePeriod</code></td>
-      <td><p>the grace period so that if the replication worker fails to 
replicate a underreplicatedledger for more than 
ReplicationWorker.MAXNUMBER_REPLICATION_FAILURES_ALLOWED_BEFORE_DEFERRING 
number of times, then instead of releasing the lock immediately after failed 
attempt, it will hold under replicated ledger lock for this grace period and 
then it will release the lock.</p>
+      <td><p>Set the grace period, in milliseconds, which the replication 
worker has to wait before releasing the lock after it failed to replicate a 
ledger. For the first ReplicationWorker.NUM_OF_EXPONENTIAL_BACKOFF_RETRIALS 
failures it will do exponential backoff then it will bound at 
lockReleaseOfFailedLedgerGracePeriod.</p>
 </td>
-      <td><code>60</code></td>
+      <td><code>300000</code></td>
     </tr>
     
     <tr id="rwRereplicateBackoffMs">
diff --git a/content/docs/4.6.2/reference/config/index.html 
b/content/docs/4.6.2/reference/config/index.html
index f7c309d..ca55c2b 100644
--- a/content/docs/4.6.2/reference/config/index.html
+++ b/content/docs/4.6.2/reference/config/index.html
@@ -2192,16 +2192,16 @@ when using either RackawareEnsemblePlacementPolicy and 
RegionAwareEnsemblePlacem
     
     <tr id="openLedgerRereplicationGracePeriod">
       <td><code>openLedgerRereplicationGracePeriod</code></td>
-      <td><p>The grace period, in seconds, that the replication worker waits 
before fencing and replicating a ledger fragment that’s still being written to 
upon bookie failure.</p>
+      <td><p>The grace period, in milliseconds, that the replication worker 
waits before fencing and replicating a ledger fragment that’s still being 
written to upon bookie failure.</p>
 </td>
-      <td><code>30</code></td>
+      <td><code>30000</code></td>
     </tr>
     
     <tr id="lockReleaseOfFailedLedgerGracePeriod">
       <td><code>lockReleaseOfFailedLedgerGracePeriod</code></td>
-      <td><p>the grace period so that if the replication worker fails to 
replicate a underreplicatedledger for more than 
ReplicationWorker.MAXNUMBER_REPLICATION_FAILURES_ALLOWED_BEFORE_DEFERRING 
number of times, then instead of releasing the lock immediately after failed 
attempt, it will hold under replicated ledger lock for this grace period and 
then it will release the lock.</p>
+      <td><p>Set the grace period, in milliseconds, which the replication 
worker has to wait before releasing the lock after it failed to replicate a 
ledger. For the first ReplicationWorker.NUM_OF_EXPONENTIAL_BACKOFF_RETRIALS 
failures it will do exponential backoff then it will bound at 
lockReleaseOfFailedLedgerGracePeriod.</p>
 </td>
-      <td><code>60</code></td>
+      <td><code>300000</code></td>
     </tr>
     
     <tr id="rwRereplicateBackoffMs">
diff --git a/content/docs/4.7.0/reference/config/index.html 
b/content/docs/4.7.0/reference/config/index.html
index f602a6a..d9a1b09 100644
--- a/content/docs/4.7.0/reference/config/index.html
+++ b/content/docs/4.7.0/reference/config/index.html
@@ -2192,16 +2192,16 @@ when using either RackawareEnsemblePlacementPolicy and 
RegionAwareEnsemblePlacem
     
     <tr id="openLedgerRereplicationGracePeriod">
       <td><code>openLedgerRereplicationGracePeriod</code></td>
-      <td><p>The grace period, in seconds, that the replication worker waits 
before fencing and replicating a ledger fragment that’s still being written to 
upon bookie failure.</p>
+      <td><p>The grace period, in milliseconds, that the replication worker 
waits before fencing and replicating a ledger fragment that’s still being 
written to upon bookie failure.</p>
 </td>
-      <td><code>30</code></td>
+      <td><code>30000</code></td>
     </tr>
     
     <tr id="lockReleaseOfFailedLedgerGracePeriod">
       <td><code>lockReleaseOfFailedLedgerGracePeriod</code></td>
-      <td><p>the grace period so that if the replication worker fails to 
replicate a underreplicatedledger for more than 
ReplicationWorker.MAXNUMBER_REPLICATION_FAILURES_ALLOWED_BEFORE_DEFERRING 
number of times, then instead of releasing the lock immediately after failed 
attempt, it will hold under replicated ledger lock for this grace period and 
then it will release the lock.</p>
+      <td><p>Set the grace period, in milliseconds, which the replication 
worker has to wait before releasing the lock after it failed to replicate a 
ledger. For the first ReplicationWorker.NUM_OF_EXPONENTIAL_BACKOFF_RETRIALS 
failures it will do exponential backoff then it will bound at 
lockReleaseOfFailedLedgerGracePeriod.</p>
 </td>
-      <td><code>60</code></td>
+      <td><code>300000</code></td>
     </tr>
     
     <tr id="rwRereplicateBackoffMs">
diff --git a/content/docs/4.7.1/reference/config/index.html 
b/content/docs/4.7.1/reference/config/index.html
index 2a84963..6941820 100644
--- a/content/docs/4.7.1/reference/config/index.html
+++ b/content/docs/4.7.1/reference/config/index.html
@@ -2192,16 +2192,16 @@ when using either RackawareEnsemblePlacementPolicy and 
RegionAwareEnsemblePlacem
     
     <tr id="openLedgerRereplicationGracePeriod">
       <td><code>openLedgerRereplicationGracePeriod</code></td>
-      <td><p>The grace period, in seconds, that the replication worker waits 
before fencing and replicating a ledger fragment that’s still being written to 
upon bookie failure.</p>
+      <td><p>The grace period, in milliseconds, that the replication worker 
waits before fencing and replicating a ledger fragment that’s still being 
written to upon bookie failure.</p>
 </td>
-      <td><code>30</code></td>
+      <td><code>30000</code></td>
     </tr>
     
     <tr id="lockReleaseOfFailedLedgerGracePeriod">
       <td><code>lockReleaseOfFailedLedgerGracePeriod</code></td>
-      <td><p>the grace period so that if the replication worker fails to 
replicate a underreplicatedledger for more than 
ReplicationWorker.MAXNUMBER_REPLICATION_FAILURES_ALLOWED_BEFORE_DEFERRING 
number of times, then instead of releasing the lock immediately after failed 
attempt, it will hold under replicated ledger lock for this grace period and 
then it will release the lock.</p>
+      <td><p>Set the grace period, in milliseconds, which the replication 
worker has to wait before releasing the lock after it failed to replicate a 
ledger. For the first ReplicationWorker.NUM_OF_EXPONENTIAL_BACKOFF_RETRIALS 
failures it will do exponential backoff then it will bound at 
lockReleaseOfFailedLedgerGracePeriod.</p>
 </td>
-      <td><code>60</code></td>
+      <td><code>300000</code></td>
     </tr>
     
     <tr id="rwRereplicateBackoffMs">
diff --git a/content/docs/4.7.2/reference/config/index.html 
b/content/docs/4.7.2/reference/config/index.html
index a54c688..0937a56 100644
--- a/content/docs/4.7.2/reference/config/index.html
+++ b/content/docs/4.7.2/reference/config/index.html
@@ -2192,16 +2192,16 @@ when using either RackawareEnsemblePlacementPolicy and 
RegionAwareEnsemblePlacem
     
     <tr id="openLedgerRereplicationGracePeriod">
       <td><code>openLedgerRereplicationGracePeriod</code></td>
-      <td><p>The grace period, in seconds, that the replication worker waits 
before fencing and replicating a ledger fragment that’s still being written to 
upon bookie failure.</p>
+      <td><p>The grace period, in milliseconds, that the replication worker 
waits before fencing and replicating a ledger fragment that’s still being 
written to upon bookie failure.</p>
 </td>
-      <td><code>30</code></td>
+      <td><code>30000</code></td>
     </tr>
     
     <tr id="lockReleaseOfFailedLedgerGracePeriod">
       <td><code>lockReleaseOfFailedLedgerGracePeriod</code></td>
-      <td><p>the grace period so that if the replication worker fails to 
replicate a underreplicatedledger for more than 
ReplicationWorker.MAXNUMBER_REPLICATION_FAILURES_ALLOWED_BEFORE_DEFERRING 
number of times, then instead of releasing the lock immediately after failed 
attempt, it will hold under replicated ledger lock for this grace period and 
then it will release the lock.</p>
+      <td><p>Set the grace period, in milliseconds, which the replication 
worker has to wait before releasing the lock after it failed to replicate a 
ledger. For the first ReplicationWorker.NUM_OF_EXPONENTIAL_BACKOFF_RETRIALS 
failures it will do exponential backoff then it will bound at 
lockReleaseOfFailedLedgerGracePeriod.</p>
 </td>
-      <td><code>60</code></td>
+      <td><code>300000</code></td>
     </tr>
     
     <tr id="rwRereplicateBackoffMs">
diff --git a/content/docs/4.7.3/reference/config/index.html 
b/content/docs/4.7.3/reference/config/index.html
index acd6e7a..c470a52 100644
--- a/content/docs/4.7.3/reference/config/index.html
+++ b/content/docs/4.7.3/reference/config/index.html
@@ -2192,16 +2192,16 @@ when using either RackawareEnsemblePlacementPolicy and 
RegionAwareEnsemblePlacem
     
     <tr id="openLedgerRereplicationGracePeriod">
       <td><code>openLedgerRereplicationGracePeriod</code></td>
-      <td><p>The grace period, in seconds, that the replication worker waits 
before fencing and replicating a ledger fragment that’s still being written to 
upon bookie failure.</p>
+      <td><p>The grace period, in milliseconds, that the replication worker 
waits before fencing and replicating a ledger fragment that’s still being 
written to upon bookie failure.</p>
 </td>
-      <td><code>30</code></td>
+      <td><code>30000</code></td>
     </tr>
     
     <tr id="lockReleaseOfFailedLedgerGracePeriod">
       <td><code>lockReleaseOfFailedLedgerGracePeriod</code></td>
-      <td><p>the grace period so that if the replication worker fails to 
replicate a underreplicatedledger for more than 
ReplicationWorker.MAXNUMBER_REPLICATION_FAILURES_ALLOWED_BEFORE_DEFERRING 
number of times, then instead of releasing the lock immediately after failed 
attempt, it will hold under replicated ledger lock for this grace period and 
then it will release the lock.</p>
+      <td><p>Set the grace period, in milliseconds, which the replication 
worker has to wait before releasing the lock after it failed to replicate a 
ledger. For the first ReplicationWorker.NUM_OF_EXPONENTIAL_BACKOFF_RETRIALS 
failures it will do exponential backoff then it will bound at 
lockReleaseOfFailedLedgerGracePeriod.</p>
 </td>
-      <td><code>60</code></td>
+      <td><code>300000</code></td>
     </tr>
     
     <tr id="rwRereplicateBackoffMs">
diff --git a/content/docs/4.8.0/reference/config/index.html 
b/content/docs/4.8.0/reference/config/index.html
index f30c204..02865a4 100644
--- a/content/docs/4.8.0/reference/config/index.html
+++ b/content/docs/4.8.0/reference/config/index.html
@@ -2192,16 +2192,16 @@ when using either RackawareEnsemblePlacementPolicy and 
RegionAwareEnsemblePlacem
     
     <tr id="openLedgerRereplicationGracePeriod">
       <td><code>openLedgerRereplicationGracePeriod</code></td>
-      <td><p>The grace period, in seconds, that the replication worker waits 
before fencing and replicating a ledger fragment that’s still being written to 
upon bookie failure.</p>
+      <td><p>The grace period, in milliseconds, that the replication worker 
waits before fencing and replicating a ledger fragment that’s still being 
written to upon bookie failure.</p>
 </td>
-      <td><code>30</code></td>
+      <td><code>30000</code></td>
     </tr>
     
     <tr id="lockReleaseOfFailedLedgerGracePeriod">
       <td><code>lockReleaseOfFailedLedgerGracePeriod</code></td>
-      <td><p>the grace period so that if the replication worker fails to 
replicate a underreplicatedledger for more than 
ReplicationWorker.MAXNUMBER_REPLICATION_FAILURES_ALLOWED_BEFORE_DEFERRING 
number of times, then instead of releasing the lock immediately after failed 
attempt, it will hold under replicated ledger lock for this grace period and 
then it will release the lock.</p>
+      <td><p>Set the grace period, in milliseconds, which the replication 
worker has to wait before releasing the lock after it failed to replicate a 
ledger. For the first ReplicationWorker.NUM_OF_EXPONENTIAL_BACKOFF_RETRIALS 
failures it will do exponential backoff then it will bound at 
lockReleaseOfFailedLedgerGracePeriod.</p>
 </td>
-      <td><code>60</code></td>
+      <td><code>300000</code></td>
     </tr>
     
     <tr id="rwRereplicateBackoffMs">
diff --git a/content/docs/4.8.1/reference/config/index.html 
b/content/docs/4.8.1/reference/config/index.html
index d3b7c8a..c3b283b 100644
--- a/content/docs/4.8.1/reference/config/index.html
+++ b/content/docs/4.8.1/reference/config/index.html
@@ -2192,16 +2192,16 @@ when using either RackawareEnsemblePlacementPolicy and 
RegionAwareEnsemblePlacem
     
     <tr id="openLedgerRereplicationGracePeriod">
       <td><code>openLedgerRereplicationGracePeriod</code></td>
-      <td><p>The grace period, in seconds, that the replication worker waits 
before fencing and replicating a ledger fragment that’s still being written to 
upon bookie failure.</p>
+      <td><p>The grace period, in milliseconds, that the replication worker 
waits before fencing and replicating a ledger fragment that’s still being 
written to upon bookie failure.</p>
 </td>
-      <td><code>30</code></td>
+      <td><code>30000</code></td>
     </tr>
     
     <tr id="lockReleaseOfFailedLedgerGracePeriod">
       <td><code>lockReleaseOfFailedLedgerGracePeriod</code></td>
-      <td><p>the grace period so that if the replication worker fails to 
replicate a underreplicatedledger for more than 
ReplicationWorker.MAXNUMBER_REPLICATION_FAILURES_ALLOWED_BEFORE_DEFERRING 
number of times, then instead of releasing the lock immediately after failed 
attempt, it will hold under replicated ledger lock for this grace period and 
then it will release the lock.</p>
+      <td><p>Set the grace period, in milliseconds, which the replication 
worker has to wait before releasing the lock after it failed to replicate a 
ledger. For the first ReplicationWorker.NUM_OF_EXPONENTIAL_BACKOFF_RETRIALS 
failures it will do exponential backoff then it will bound at 
lockReleaseOfFailedLedgerGracePeriod.</p>
 </td>
-      <td><code>60</code></td>
+      <td><code>300000</code></td>
     </tr>
     
     <tr id="rwRereplicateBackoffMs">
diff --git a/content/docs/4.8.2/reference/config/index.html 
b/content/docs/4.8.2/reference/config/index.html
index d7b9e57..8e75dc9 100644
--- a/content/docs/4.8.2/reference/config/index.html
+++ b/content/docs/4.8.2/reference/config/index.html
@@ -2192,16 +2192,16 @@ when using either RackawareEnsemblePlacementPolicy and 
RegionAwareEnsemblePlacem
     
     <tr id="openLedgerRereplicationGracePeriod">
       <td><code>openLedgerRereplicationGracePeriod</code></td>
-      <td><p>The grace period, in seconds, that the replication worker waits 
before fencing and replicating a ledger fragment that’s still being written to 
upon bookie failure.</p>
+      <td><p>The grace period, in milliseconds, that the replication worker 
waits before fencing and replicating a ledger fragment that’s still being 
written to upon bookie failure.</p>
 </td>
-      <td><code>30</code></td>
+      <td><code>30000</code></td>
     </tr>
     
     <tr id="lockReleaseOfFailedLedgerGracePeriod">
       <td><code>lockReleaseOfFailedLedgerGracePeriod</code></td>
-      <td><p>the grace period so that if the replication worker fails to 
replicate a underreplicatedledger for more than 
ReplicationWorker.MAXNUMBER_REPLICATION_FAILURES_ALLOWED_BEFORE_DEFERRING 
number of times, then instead of releasing the lock immediately after failed 
attempt, it will hold under replicated ledger lock for this grace period and 
then it will release the lock.</p>
+      <td><p>Set the grace period, in milliseconds, which the replication 
worker has to wait before releasing the lock after it failed to replicate a 
ledger. For the first ReplicationWorker.NUM_OF_EXPONENTIAL_BACKOFF_RETRIALS 
failures it will do exponential backoff then it will bound at 
lockReleaseOfFailedLedgerGracePeriod.</p>
 </td>
-      <td><code>60</code></td>
+      <td><code>300000</code></td>
     </tr>
     
     <tr id="rwRereplicateBackoffMs">
diff --git a/content/docs/4.9.0/reference/config/index.html 
b/content/docs/4.9.0/reference/config/index.html
index 547650a..6fddc2b 100644
--- a/content/docs/4.9.0/reference/config/index.html
+++ b/content/docs/4.9.0/reference/config/index.html
@@ -2192,16 +2192,16 @@ when using either RackawareEnsemblePlacementPolicy and 
RegionAwareEnsemblePlacem
     
     <tr id="openLedgerRereplicationGracePeriod">
       <td><code>openLedgerRereplicationGracePeriod</code></td>
-      <td><p>The grace period, in seconds, that the replication worker waits 
before fencing and replicating a ledger fragment that’s still being written to 
upon bookie failure.</p>
+      <td><p>The grace period, in milliseconds, that the replication worker 
waits before fencing and replicating a ledger fragment that’s still being 
written to upon bookie failure.</p>
 </td>
-      <td><code>30</code></td>
+      <td><code>30000</code></td>
     </tr>
     
     <tr id="lockReleaseOfFailedLedgerGracePeriod">
       <td><code>lockReleaseOfFailedLedgerGracePeriod</code></td>
-      <td><p>the grace period so that if the replication worker fails to 
replicate a underreplicatedledger for more than 
ReplicationWorker.MAXNUMBER_REPLICATION_FAILURES_ALLOWED_BEFORE_DEFERRING 
number of times, then instead of releasing the lock immediately after failed 
attempt, it will hold under replicated ledger lock for this grace period and 
then it will release the lock.</p>
+      <td><p>Set the grace period, in milliseconds, which the replication 
worker has to wait before releasing the lock after it failed to replicate a 
ledger. For the first ReplicationWorker.NUM_OF_EXPONENTIAL_BACKOFF_RETRIALS 
failures it will do exponential backoff then it will bound at 
lockReleaseOfFailedLedgerGracePeriod.</p>
 </td>
-      <td><code>60</code></td>
+      <td><code>300000</code></td>
     </tr>
     
     <tr id="rwRereplicateBackoffMs">
diff --git a/content/docs/4.9.1/reference/config/index.html 
b/content/docs/4.9.1/reference/config/index.html
index a2ab6c5..1cf9f78 100644
--- a/content/docs/4.9.1/reference/config/index.html
+++ b/content/docs/4.9.1/reference/config/index.html
@@ -2192,16 +2192,16 @@ when using either RackawareEnsemblePlacementPolicy and 
RegionAwareEnsemblePlacem
     
     <tr id="openLedgerRereplicationGracePeriod">
       <td><code>openLedgerRereplicationGracePeriod</code></td>
-      <td><p>The grace period, in seconds, that the replication worker waits 
before fencing and replicating a ledger fragment that’s still being written to 
upon bookie failure.</p>
+      <td><p>The grace period, in milliseconds, that the replication worker 
waits before fencing and replicating a ledger fragment that’s still being 
written to upon bookie failure.</p>
 </td>
-      <td><code>30</code></td>
+      <td><code>30000</code></td>
     </tr>
     
     <tr id="lockReleaseOfFailedLedgerGracePeriod">
       <td><code>lockReleaseOfFailedLedgerGracePeriod</code></td>
-      <td><p>the grace period so that if the replication worker fails to 
replicate a underreplicatedledger for more than 
ReplicationWorker.MAXNUMBER_REPLICATION_FAILURES_ALLOWED_BEFORE_DEFERRING 
number of times, then instead of releasing the lock immediately after failed 
attempt, it will hold under replicated ledger lock for this grace period and 
then it will release the lock.</p>
+      <td><p>Set the grace period, in milliseconds, which the replication 
worker has to wait before releasing the lock after it failed to replicate a 
ledger. For the first ReplicationWorker.NUM_OF_EXPONENTIAL_BACKOFF_RETRIALS 
failures it will do exponential backoff then it will bound at 
lockReleaseOfFailedLedgerGracePeriod.</p>
 </td>
-      <td><code>60</code></td>
+      <td><code>300000</code></td>
     </tr>
     
     <tr id="rwRereplicateBackoffMs">
diff --git a/content/docs/4.9.2/reference/config/index.html 
b/content/docs/4.9.2/reference/config/index.html
index e7ce509..edd658f 100644
--- a/content/docs/4.9.2/reference/config/index.html
+++ b/content/docs/4.9.2/reference/config/index.html
@@ -2192,16 +2192,16 @@ when using either RackawareEnsemblePlacementPolicy and 
RegionAwareEnsemblePlacem
     
     <tr id="openLedgerRereplicationGracePeriod">
       <td><code>openLedgerRereplicationGracePeriod</code></td>
-      <td><p>The grace period, in seconds, that the replication worker waits 
before fencing and replicating a ledger fragment that’s still being written to 
upon bookie failure.</p>
+      <td><p>The grace period, in milliseconds, that the replication worker 
waits before fencing and replicating a ledger fragment that’s still being 
written to upon bookie failure.</p>
 </td>
-      <td><code>30</code></td>
+      <td><code>30000</code></td>
     </tr>
     
     <tr id="lockReleaseOfFailedLedgerGracePeriod">
       <td><code>lockReleaseOfFailedLedgerGracePeriod</code></td>
-      <td><p>the grace period so that if the replication worker fails to 
replicate a underreplicatedledger for more than 
ReplicationWorker.MAXNUMBER_REPLICATION_FAILURES_ALLOWED_BEFORE_DEFERRING 
number of times, then instead of releasing the lock immediately after failed 
attempt, it will hold under replicated ledger lock for this grace period and 
then it will release the lock.</p>
+      <td><p>Set the grace period, in milliseconds, which the replication 
worker has to wait before releasing the lock after it failed to replicate a 
ledger. For the first ReplicationWorker.NUM_OF_EXPONENTIAL_BACKOFF_RETRIALS 
failures it will do exponential backoff then it will bound at 
lockReleaseOfFailedLedgerGracePeriod.</p>
 </td>
-      <td><code>60</code></td>
+      <td><code>300000</code></td>
     </tr>
     
     <tr id="rwRereplicateBackoffMs">
diff --git a/content/docs/latest/api/javadoc/index-all.html 
b/content/docs/latest/api/javadoc/index-all.html
index 94d1df0..3b29bed 100644
--- a/content/docs/latest/api/javadoc/index-all.html
+++ b/content/docs/latest/api/javadoc/index-all.html
@@ -3226,11 +3226,8 @@
 </dd>
 <dt><span class="memberNameLink"><a 
href="org/apache/bookkeeper/conf/ServerConfiguration.html#getLockReleaseOfFailedLedgerGracePeriod--">getLockReleaseOfFailedLedgerGracePeriod()</a></span>
 - Method 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>
-<div class="block">Get the grace period which the replication worker to wait 
before
- releasing the lock after replication worker failing to replicate for more
- than
- ReplicationWorker.MAXNUMBER_REPLICATION_FAILURES_ALLOWED_BEFORE_DEFERRING
- number of times.</div>
+<div class="block">Get the grace period, in milliseconds, which the 
replication worker has
+ to wait before releasing the lock after it failed to replicate a ledger.</div>
 </dd>
 <dt><span class="memberNameLink"><a 
href="org/apache/bookkeeper/client/BookKeeperAdmin.html#getLostBookieRecoveryDelay--">getLostBookieRecoveryDelay()</a></span>
 - Method in class org.apache.bookkeeper.client.<a 
href="org/apache/bookkeeper/client/BookKeeperAdmin.html" title="class in 
org.apache.bookkeeper.client">BookKeeperAdmin</a></dt>
 <dd>
@@ -12472,12 +12469,12 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a 
href="org/apache/bookkeeper/client/RegionAwareEnsemblePlacementPolicy.html#replaceFromRack-org.apache.bookkeeper.net.BookieNode-java.util.Set-org.apache.bookkeeper.client.ITopologyAwareEnsemblePlacementPolicy.Predicate-org.apache.bookkeeper.client.ITopologyAwareEnsemblePlacementPolicy.Ensemble-boolean-">replaceFromRack(BookieNode,
 Set&lt;Node&gt;, 
ITopologyAwareEnsemblePlacementPolicy.Predicate&lt;BookieNode&gt;, 
ITopologyAwareEnsemblePlacementPolicy.E [...]
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a 
href="org/apache/bookkeeper/client/LedgerFragmentReplicator.html#replicate-org.apache.bookkeeper.client.LedgerHandle-org.apache.bookkeeper.client.LedgerFragment-org.apache.zookeeper.AsyncCallback.VoidCallback-java.util.Set-">replicate(LedgerHandle,
 LedgerFragment, AsyncCallback.VoidCallback, 
Set&lt;BookieSocketAddress&gt;)</a></span> - Method in class 
org.apache.bookkeeper.client.<a 
href="org/apache/bookkeeper/client/LedgerFragmentReplicator.html" titl [...]
+<dt><span class="memberNameLink"><a 
href="org/apache/bookkeeper/client/LedgerFragmentReplicator.html#replicate-org.apache.bookkeeper.client.LedgerHandle-org.apache.bookkeeper.client.LedgerFragment-org.apache.zookeeper.AsyncCallback.VoidCallback-java.util.Set-java.util.function.BiConsumer-">replicate(LedgerHandle,
 LedgerFragment, AsyncCallback.VoidCallback, Set&lt;BookieSocketAddress&gt;, 
BiConsumer&lt;Long, Long&gt;)</a></span> - Method in class 
org.apache.bookkeeper.client.<a href="org/ [...]
 <dd>
 <div class="block">This method replicate a ledger fragment which is a 
contiguous portion of
  a ledger that was stored in an ensemble that included the failed bookie.</div>
 </dd>
-<dt><span class="memberNameLink"><a 
href="org/apache/bookkeeper/client/BookKeeperAdmin.html#replicateLedgerFragment-org.apache.bookkeeper.client.LedgerHandle-org.apache.bookkeeper.client.LedgerFragment-">replicateLedgerFragment(LedgerHandle,
 LedgerFragment)</a></span> - Method in class org.apache.bookkeeper.client.<a 
href="org/apache/bookkeeper/client/BookKeeperAdmin.html" title="class in 
org.apache.bookkeeper.client">BookKeeperAdmin</a></dt>
+<dt><span class="memberNameLink"><a 
href="org/apache/bookkeeper/client/BookKeeperAdmin.html#replicateLedgerFragment-org.apache.bookkeeper.client.LedgerHandle-org.apache.bookkeeper.client.LedgerFragment-java.util.function.BiConsumer-">replicateLedgerFragment(LedgerHandle,
 LedgerFragment, BiConsumer&lt;Long, Long&gt;)</a></span> - Method in class 
org.apache.bookkeeper.client.<a 
href="org/apache/bookkeeper/client/BookKeeperAdmin.html" title="class in 
org.apache.bookkeeper.client">BookKeeper [...]
 <dd>
 <div class="block">Replicate the Ledger fragment to target Bookie passed.</div>
 </dd>
@@ -13250,12 +13247,8 @@
 </dd>
 <dt><span class="memberNameLink"><a 
href="org/apache/bookkeeper/conf/ServerConfiguration.html#setLockReleaseOfFailedLedgerGracePeriod-java.lang.String-">setLockReleaseOfFailedLedgerGracePeriod(String)</a></span>
 - Method 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>
-<div class="block">Set the grace period so that if the replication worker 
fails to replicate
- a underreplicatedledger for more than
- ReplicationWorker.MAXNUMBER_REPLICATION_FAILURES_ALLOWED_BEFORE_DEFERRING
- number of times, then instead of releasing the lock immediately after
- failed attempt, it will hold under replicated ledger lock for this grace
- period and then it will release the lock.</div>
+<div class="block">Set the grace period, in milliseconds, which the 
replication worker has
+ to wait before releasing the lock after it failed to replicate a ledger.</div>
 </dd>
 <dt><span class="memberNameLink"><a 
href="org/apache/bookkeeper/client/BookKeeperAdmin.html#setLostBookieRecoveryDelay-int-">setLostBookieRecoveryDelay(int)</a></span>
 - Method in class org.apache.bookkeeper.client.<a 
href="org/apache/bookkeeper/client/BookKeeperAdmin.html" title="class in 
org.apache.bookkeeper.client">BookKeeperAdmin</a></dt>
 <dd>
diff --git 
a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/BookKeeperAdmin.ResultCallBack.html
 
b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/BookKeeperAdmin.ResultCallBack.html
index f80fe68..459e1ee 100644
--- 
a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/BookKeeperAdmin.ResultCallBack.html
+++ 
b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/BookKeeperAdmin.ResultCallBack.html
@@ -117,7 +117,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>static class <span 
class="typeNameLabel">BookKeeperAdmin.ResultCallBack</span>
+<pre>public static class <span 
class="typeNameLabel">BookKeeperAdmin.ResultCallBack</span>
 extends java.lang.Object
 implements org.apache.zookeeper.AsyncCallback.VoidCallback</pre>
 <div class="block">This is the class for getting the replication result.</div>
diff --git 
a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/BookKeeperAdmin.html
 
b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/BookKeeperAdmin.html
index 9fd00f3..0d04b97 100644
--- 
a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/BookKeeperAdmin.html
+++ 
b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/BookKeeperAdmin.html
@@ -144,7 +144,7 @@ implements java.lang.AutoCloseable</pre>
 <td class="colLast"><code><span class="memberNameLink"><a 
href="../../../../org/apache/bookkeeper/client/BookKeeperAdmin.LedgerEntriesIterator.html"
 title="class in 
org.apache.bookkeeper.client">BookKeeperAdmin.LedgerEntriesIterator</a></span></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>(package private) static class&nbsp;</code></td>
+<td class="colFirst"><code>static class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a 
href="../../../../org/apache/bookkeeper/client/BookKeeperAdmin.ResultCallBack.html"
 title="class in 
org.apache.bookkeeper.client">BookKeeperAdmin.ResultCallBack</a></span></code>
 <div class="block">This is the class for getting the replication result.</div>
 </td>
@@ -429,8 +429,9 @@ implements java.lang.AutoCloseable</pre>
 </tr>
 <tr id="i33" class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a 
href="../../../../org/apache/bookkeeper/client/BookKeeperAdmin.html#replicateLedgerFragment-org.apache.bookkeeper.client.LedgerHandle-org.apache.bookkeeper.client.LedgerFragment-">replicateLedgerFragment</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/LedgerFragment.html" 
title="class in 
org.apache.bookkeeper.client">LedgerFragment</a>&nbsp;ledgerFragment)</code>
+<td class="colLast"><code><span class="memberNameLink"><a 
href="../../../../org/apache/bookkeeper/client/BookKeeperAdmin.html#replicateLedgerFragment-org.apache.bookkeeper.client.LedgerHandle-org.apache.bookkeeper.client.LedgerFragment-java.util.function.BiConsumer-">replicateLedgerFragment</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/LedgerFragment.html" 
title="class in 
org.apache.bookkeeper.client">LedgerFragment</a>&nbsp;ledgerFragment,
+                       
java.util.function.BiConsumer&lt;java.lang.Long,java.lang.Long&gt;&nbsp;onReadEntryFailureCallback)</code>
 <div class="block">Replicate the Ledger fragment to target Bookie passed.</div>
 </td>
 </tr>
@@ -997,14 +998,15 @@ implements java.lang.AutoCloseable</pre>
                                        char&nbsp;marker)</pre>
 </li>
 </ul>
-<a 
name="replicateLedgerFragment-org.apache.bookkeeper.client.LedgerHandle-org.apache.bookkeeper.client.LedgerFragment-">
+<a 
name="replicateLedgerFragment-org.apache.bookkeeper.client.LedgerHandle-org.apache.bookkeeper.client.LedgerFragment-java.util.function.BiConsumer-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>replicateLedgerFragment</h4>
 <pre>public&nbsp;void&nbsp;replicateLedgerFragment(<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/LedgerFragment.html" 
title="class in 
org.apache.bookkeeper.client">LedgerFragment</a>&nbsp;ledgerFragment)
+                                    <a 
href="../../../../org/apache/bookkeeper/client/LedgerFragment.html" 
title="class in 
org.apache.bookkeeper.client">LedgerFragment</a>&nbsp;ledgerFragment,
+                                    
java.util.function.BiConsumer&lt;java.lang.Long,java.lang.Long&gt;&nbsp;onReadEntryFailureCallback)
                              throws java.lang.InterruptedException,
                                     <a 
href="../../../../org/apache/bookkeeper/client/BKException.html" title="class 
in org.apache.bookkeeper.client">BKException</a></pre>
 <div class="block">Replicate the Ledger fragment to target Bookie passed.</div>
diff --git 
a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/LedgerFragment.html
 
b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/LedgerFragment.html
index b74a5f2..d5c46d5 100644
--- 
a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/LedgerFragment.html
+++ 
b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/LedgerFragment.html
@@ -180,7 +180,7 @@ extends java.lang.Object</pre>
 </td>
 </tr>
 <tr id="i4" class="altColor">
-<td class="colFirst"><code>(package private) long</code></td>
+<td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a 
href="../../../../org/apache/bookkeeper/client/LedgerFragment.html#getFirstEntryId--">getFirstEntryId</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i5" class="rowColor">
@@ -196,7 +196,7 @@ extends java.lang.Object</pre>
 </td>
 </tr>
 <tr id="i7" class="rowColor">
-<td class="colFirst"><code>(package private) long</code></td>
+<td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a 
href="../../../../org/apache/bookkeeper/client/LedgerFragment.html#getLastKnownEntryId--">getLastKnownEntryId</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i8" class="altColor">
@@ -337,7 +337,7 @@ extends java.lang.Object</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>getFirstEntryId</h4>
-<pre>long&nbsp;getFirstEntryId()</pre>
+<pre>public&nbsp;long&nbsp;getFirstEntryId()</pre>
 </li>
 </ul>
 <a name="getLastKnownEntryId--">
@@ -346,7 +346,7 @@ extends java.lang.Object</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>getLastKnownEntryId</h4>
-<pre>long&nbsp;getLastKnownEntryId()</pre>
+<pre>public&nbsp;long&nbsp;getLastKnownEntryId()</pre>
 </li>
 </ul>
 <a name="getAddress-int-">
diff --git 
a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/LedgerFragmentReplicator.html
 
b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/LedgerFragmentReplicator.html
index 9fd9a7d..3b138a9 100644
--- 
a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/LedgerFragmentReplicator.html
+++ 
b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/LedgerFragmentReplicator.html
@@ -177,10 +177,11 @@ extends java.lang.Object</pre>
 </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/LedgerFragmentReplicator.html#replicate-org.apache.bookkeeper.client.LedgerHandle-org.apache.bookkeeper.client.LedgerFragment-org.apache.zookeeper.AsyncCallback.VoidCallback-java.util.Set-">replicate</a></span>(<a
 href="../../../../org/apache/bookkeeper/client/LedgerHandle.html" title="class 
in org.apache.bookkeeper.client">LedgerHandle</a>&nbsp;lh,
+<td class="colLast"><code><span class="memberNameLink"><a 
href="../../../../org/apache/bookkeeper/client/LedgerFragmentReplicator.html#replicate-org.apache.bookkeeper.client.LedgerHandle-org.apache.bookkeeper.client.LedgerFragment-org.apache.zookeeper.AsyncCallback.VoidCallback-java.util.Set-java.util.function.BiConsumer-">replicate</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/LedgerFragment.html" 
title="class in org.apache.bookkeeper.client">LedgerFragment</a>&nbsp;lf,
          
org.apache.zookeeper.AsyncCallback.VoidCallback&nbsp;ledgerFragmentMcb,
-         
java.util.Set&lt;org.apache.bookkeeper.net.BookieSocketAddress&gt;&nbsp;targetBookieAddresses)</code>
+         
java.util.Set&lt;org.apache.bookkeeper.net.BookieSocketAddress&gt;&nbsp;targetBookieAddresses,
+         
java.util.function.BiConsumer&lt;java.lang.Long,java.lang.Long&gt;&nbsp;onReadEntryFailureCallback)</code>
 <div class="block">This method replicate a ledger fragment which is a 
contiguous portion of
  a ledger that was stored in an ensemble that included the failed bookie.</div>
 </td>
@@ -244,7 +245,7 @@ extends java.lang.Object</pre>
 <!--   -->
 </a>
 <h3>Method Detail</h3>
-<a 
name="replicate-org.apache.bookkeeper.client.LedgerHandle-org.apache.bookkeeper.client.LedgerFragment-org.apache.zookeeper.AsyncCallback.VoidCallback-java.util.Set-">
+<a 
name="replicate-org.apache.bookkeeper.client.LedgerHandle-org.apache.bookkeeper.client.LedgerFragment-org.apache.zookeeper.AsyncCallback.VoidCallback-java.util.Set-java.util.function.BiConsumer-">
 <!--   -->
 </a>
 <ul class="blockList">
@@ -253,7 +254,8 @@ extends java.lang.Object</pre>
 <pre>void&nbsp;replicate(<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/LedgerFragment.html" 
title="class in org.apache.bookkeeper.client">LedgerFragment</a>&nbsp;lf,
                
org.apache.zookeeper.AsyncCallback.VoidCallback&nbsp;ledgerFragmentMcb,
-               
java.util.Set&lt;org.apache.bookkeeper.net.BookieSocketAddress&gt;&nbsp;targetBookieAddresses)
+               
java.util.Set&lt;org.apache.bookkeeper.net.BookieSocketAddress&gt;&nbsp;targetBookieAddresses,
+               
java.util.function.BiConsumer&lt;java.lang.Long,java.lang.Long&gt;&nbsp;onReadEntryFailureCallback)
         throws java.lang.InterruptedException</pre>
 <div class="block">This method replicate a ledger fragment which is a 
contiguous portion of
  a ledger that was stored in an ensemble that included the failed bookie.
diff --git 
a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/class-use/BKException.html
 
b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/class-use/BKException.html
index 848a94d..9c756f7 100644
--- 
a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/class-use/BKException.html
+++ 
b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/class-use/BKException.html
@@ -678,8 +678,9 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span 
class="typeNameLabel">BookKeeperAdmin.</span><code><span 
class="memberNameLink"><a 
href="../../../../../org/apache/bookkeeper/client/BookKeeperAdmin.html#replicateLedgerFragment-org.apache.bookkeeper.client.LedgerHandle-org.apache.bookkeeper.client.LedgerFragment-">replicateLedgerFragment</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/LedgerFragment.html" 
title="class in 
org.apache.bookkeeper.client">LedgerFragment</a>&nbsp;ledgerFragment)</code>
+<td class="colLast"><span 
class="typeNameLabel">BookKeeperAdmin.</span><code><span 
class="memberNameLink"><a 
href="../../../../../org/apache/bookkeeper/client/BookKeeperAdmin.html#replicateLedgerFragment-org.apache.bookkeeper.client.LedgerHandle-org.apache.bookkeeper.client.LedgerFragment-java.util.function.BiConsumer-">replicateLedgerFragment</a></span>(<a
 href="../../../../../org/apache/bookkeeper/client/LedgerHandle.html" 
title="class in org.apache.bookkeeper.client">LedgerHandle</a>& [...]
+                       <a 
href="../../../../../org/apache/bookkeeper/client/LedgerFragment.html" 
title="class in 
org.apache.bookkeeper.client">LedgerFragment</a>&nbsp;ledgerFragment,
+                       
java.util.function.BiConsumer&lt;java.lang.Long,java.lang.Long&gt;&nbsp;onReadEntryFailureCallback)</code>
 <div class="block">Replicate the Ledger fragment to target Bookie passed.</div>
 </td>
 </tr>
diff --git 
a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/class-use/LedgerFragment.html
 
b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/class-use/LedgerFragment.html
index 10f162b..a40c36e 100644
--- 
a/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/class-use/LedgerFragment.html
+++ 
b/content/docs/latest/api/javadoc/org/apache/bookkeeper/client/class-use/LedgerFragment.html
@@ -140,18 +140,20 @@
 <tbody>
 <tr class="altColor">
 <td class="colFirst"><code>(package private) void</code></td>
-<td class="colLast"><span 
class="typeNameLabel">LedgerFragmentReplicator.</span><code><span 
class="memberNameLink"><a 
href="../../../../../org/apache/bookkeeper/client/LedgerFragmentReplicator.html#replicate-org.apache.bookkeeper.client.LedgerHandle-org.apache.bookkeeper.client.LedgerFragment-org.apache.zookeeper.AsyncCallback.VoidCallback-java.util.Set-">replicate</a></span>(<a
 href="../../../../../org/apache/bookkeeper/client/LedgerHandle.html" 
title="class in org.apache.bookkeeper.cli [...]
+<td class="colLast"><span 
class="typeNameLabel">LedgerFragmentReplicator.</span><code><span 
class="memberNameLink"><a 
href="../../../../../org/apache/bookkeeper/client/LedgerFragmentReplicator.html#replicate-org.apache.bookkeeper.client.LedgerHandle-org.apache.bookkeeper.client.LedgerFragment-org.apache.zookeeper.AsyncCallback.VoidCallback-java.util.Set-java.util.function.BiConsumer-">replicate</a></span>(<a
 href="../../../../../org/apache/bookkeeper/client/LedgerHandle.html" 
title="clas [...]
          <a 
href="../../../../../org/apache/bookkeeper/client/LedgerFragment.html" 
title="class in org.apache.bookkeeper.client">LedgerFragment</a>&nbsp;lf,
          
org.apache.zookeeper.AsyncCallback.VoidCallback&nbsp;ledgerFragmentMcb,
-         
java.util.Set&lt;org.apache.bookkeeper.net.BookieSocketAddress&gt;&nbsp;targetBookieAddresses)</code>
+         
java.util.Set&lt;org.apache.bookkeeper.net.BookieSocketAddress&gt;&nbsp;targetBookieAddresses,
+         
java.util.function.BiConsumer&lt;java.lang.Long,java.lang.Long&gt;&nbsp;onReadEntryFailureCallback)</code>
 <div class="block">This method replicate a ledger fragment which is a 
contiguous portion of
  a ledger that was stored in an ensemble that included the failed bookie.</div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span 
class="typeNameLabel">BookKeeperAdmin.</span><code><span 
class="memberNameLink"><a 
href="../../../../../org/apache/bookkeeper/client/BookKeeperAdmin.html#replicateLedgerFragment-org.apache.bookkeeper.client.LedgerHandle-org.apache.bookkeeper.client.LedgerFragment-">replicateLedgerFragment</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/LedgerFragment.html" 
title="class in 
org.apache.bookkeeper.client">LedgerFragment</a>&nbsp;ledgerFragment)</code>
+<td class="colLast"><span 
class="typeNameLabel">BookKeeperAdmin.</span><code><span 
class="memberNameLink"><a 
href="../../../../../org/apache/bookkeeper/client/BookKeeperAdmin.html#replicateLedgerFragment-org.apache.bookkeeper.client.LedgerHandle-org.apache.bookkeeper.client.LedgerFragment-java.util.function.BiConsumer-">replicateLedgerFragment</a></span>(<a
 href="../../../../../org/apache/bookkeeper/client/LedgerHandle.html" 
title="class in org.apache.bookkeeper.client">LedgerHandle</a>& [...]
+                       <a 
href="../../../../../org/apache/bookkeeper/client/LedgerFragment.html" 
title="class in 
org.apache.bookkeeper.client">LedgerFragment</a>&nbsp;ledgerFragment,
+                       
java.util.function.BiConsumer&lt;java.lang.Long,java.lang.Long&gt;&nbsp;onReadEntryFailureCallback)</code>
 <div class="block">Replicate the Ledger fragment to target Bookie passed.</div>
 </td>
 </tr>
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 559def2..c702cbf 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
@@ -535,18 +535,20 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>(package private) void</code></td>
-<td class="colLast"><span 
class="typeNameLabel">LedgerFragmentReplicator.</span><code><span 
class="memberNameLink"><a 
href="../../../../../org/apache/bookkeeper/client/LedgerFragmentReplicator.html#replicate-org.apache.bookkeeper.client.LedgerHandle-org.apache.bookkeeper.client.LedgerFragment-org.apache.zookeeper.AsyncCallback.VoidCallback-java.util.Set-">replicate</a></span>(<a
 href="../../../../../org/apache/bookkeeper/client/LedgerHandle.html" 
title="class in org.apache.bookkeeper.cli [...]
+<td class="colLast"><span 
class="typeNameLabel">LedgerFragmentReplicator.</span><code><span 
class="memberNameLink"><a 
href="../../../../../org/apache/bookkeeper/client/LedgerFragmentReplicator.html#replicate-org.apache.bookkeeper.client.LedgerHandle-org.apache.bookkeeper.client.LedgerFragment-org.apache.zookeeper.AsyncCallback.VoidCallback-java.util.Set-java.util.function.BiConsumer-">replicate</a></span>(<a
 href="../../../../../org/apache/bookkeeper/client/LedgerHandle.html" 
title="clas [...]
          <a 
href="../../../../../org/apache/bookkeeper/client/LedgerFragment.html" 
title="class in org.apache.bookkeeper.client">LedgerFragment</a>&nbsp;lf,
          
org.apache.zookeeper.AsyncCallback.VoidCallback&nbsp;ledgerFragmentMcb,
-         
java.util.Set&lt;org.apache.bookkeeper.net.BookieSocketAddress&gt;&nbsp;targetBookieAddresses)</code>
+         
java.util.Set&lt;org.apache.bookkeeper.net.BookieSocketAddress&gt;&nbsp;targetBookieAddresses,
+         
java.util.function.BiConsumer&lt;java.lang.Long,java.lang.Long&gt;&nbsp;onReadEntryFailureCallback)</code>
 <div class="block">This method replicate a ledger fragment which is a 
contiguous portion of
  a ledger that was stored in an ensemble that included the failed bookie.</div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><span 
class="typeNameLabel">BookKeeperAdmin.</span><code><span 
class="memberNameLink"><a 
href="../../../../../org/apache/bookkeeper/client/BookKeeperAdmin.html#replicateLedgerFragment-org.apache.bookkeeper.client.LedgerHandle-org.apache.bookkeeper.client.LedgerFragment-">replicateLedgerFragment</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/LedgerFragment.html" 
title="class in 
org.apache.bookkeeper.client">LedgerFragment</a>&nbsp;ledgerFragment)</code>
+<td class="colLast"><span 
class="typeNameLabel">BookKeeperAdmin.</span><code><span 
class="memberNameLink"><a 
href="../../../../../org/apache/bookkeeper/client/BookKeeperAdmin.html#replicateLedgerFragment-org.apache.bookkeeper.client.LedgerHandle-org.apache.bookkeeper.client.LedgerFragment-java.util.function.BiConsumer-">replicateLedgerFragment</a></span>(<a
 href="../../../../../org/apache/bookkeeper/client/LedgerHandle.html" 
title="class in org.apache.bookkeeper.client">LedgerHandle</a>& [...]
+                       <a 
href="../../../../../org/apache/bookkeeper/client/LedgerFragment.html" 
title="class in 
org.apache.bookkeeper.client">LedgerFragment</a>&nbsp;ledgerFragment,
+                       
java.util.function.BiConsumer&lt;java.lang.Long,java.lang.Long&gt;&nbsp;onReadEntryFailureCallback)</code>
 <div class="block">Replicate the Ledger fragment to target Bookie passed.</div>
 </td>
 </tr>
diff --git 
a/content/docs/latest/api/javadoc/org/apache/bookkeeper/conf/ServerConfiguration.html
 
b/content/docs/latest/api/javadoc/org/apache/bookkeeper/conf/ServerConfiguration.html
index 09c79ce..1ffbbc2 100644
--- 
a/content/docs/latest/api/javadoc/org/apache/bookkeeper/conf/ServerConfiguration.html
+++ 
b/content/docs/latest/api/javadoc/org/apache/bookkeeper/conf/ServerConfiguration.html
@@ -1082,11 +1082,8 @@ extends <a 
href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.ht
 <tr id="i62" class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a 
href="../../../../org/apache/bookkeeper/conf/ServerConfiguration.html#getLockReleaseOfFailedLedgerGracePeriod--">getLockReleaseOfFailedLedgerGracePeriod</a></span>()</code>
-<div class="block">Get the grace period which the replication worker to wait 
before
- releasing the lock after replication worker failing to replicate for more
- than
- ReplicationWorker.MAXNUMBER_REPLICATION_FAILURES_ALLOWED_BEFORE_DEFERRING
- number of times.</div>
+<div class="block">Get the grace period, in milliseconds, which the 
replication worker has
+ to wait before releasing the lock after it failed to replicate a ledger.</div>
 </td>
 </tr>
 <tr id="i63" class="rowColor">
@@ -1928,12 +1925,8 @@ extends <a 
href="../../../../org/apache/bookkeeper/conf/AbstractConfiguration.ht
 <tr id="i200" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a 
href="../../../../org/apache/bookkeeper/conf/ServerConfiguration.html#setLockReleaseOfFailedLedgerGracePeriod-java.lang.String-">setLockReleaseOfFailedLedgerGracePeriod</a></span>(java.lang.String&nbsp;waitTime)</code>
-<div class="block">Set the grace period so that if the replication worker 
fails to replicate
- a underreplicatedledger for more than
- ReplicationWorker.MAXNUMBER_REPLICATION_FAILURES_ALLOWED_BEFORE_DEFERRING
- number of times, then instead of releasing the lock immediately after
- failed attempt, it will hold under replicated ledger lock for this grace
- period and then it will release the lock.</div>
+<div class="block">Set the grace period, in milliseconds, which the 
replication worker has
+ to wait before releasing the lock after it failed to replicate a ledger.</div>
 </td>
 </tr>
 <tr id="i201" class="rowColor">
@@ -5764,12 +5757,15 @@ 
public&nbsp;java.lang.String&nbsp;getJournalDirName()</pre>
 <li class="blockList">
 <h4>setLockReleaseOfFailedLedgerGracePeriod</h4>
 
<pre>public&nbsp;void&nbsp;setLockReleaseOfFailedLedgerGracePeriod(java.lang.String&nbsp;waitTime)</pre>
-<div class="block">Set the grace period so that if the replication worker 
fails to replicate
- a underreplicatedledger for more than
- ReplicationWorker.MAXNUMBER_REPLICATION_FAILURES_ALLOWED_BEFORE_DEFERRING
- number of times, then instead of releasing the lock immediately after
- failed attempt, it will hold under replicated ledger lock for this grace
- period and then it will release the lock.</div>
+<div class="block">Set the grace period, in milliseconds, which the 
replication worker has
+ to wait before releasing the lock after it failed to replicate a ledger.
+ For the first ReplicationWorker.NUM_OF_EXPONENTIAL_BACKOFF_RETRIALS
+ failures it will do exponential backoff then it will bound at
+ LOCK_RELEASE_OF_FAILED_LEDGER_GRACE_PERIOD.
+
+ <p>On replication failure, instead of releasing the lock immediately
+ after failed attempt, it will hold under replicated ledger lock for the
+ grace period and then it will release the lock.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>waitTime</code> - </dd>
@@ -5783,11 +5779,11 @@ 
public&nbsp;java.lang.String&nbsp;getJournalDirName()</pre>
 <li class="blockList">
 <h4>getLockReleaseOfFailedLedgerGracePeriod</h4>
 <pre>public&nbsp;long&nbsp;getLockReleaseOfFailedLedgerGracePeriod()</pre>
-<div class="block">Get the grace period which the replication worker to wait 
before
- releasing the lock after replication worker failing to replicate for more
- than
- ReplicationWorker.MAXNUMBER_REPLICATION_FAILURES_ALLOWED_BEFORE_DEFERRING
- number of times.</div>
+<div class="block">Get the grace period, in milliseconds, which the 
replication worker has
+ to wait before releasing the lock after it failed to replicate a ledger.
+ For the first ReplicationWorker.NUM_OF_EXPONENTIAL_BACKOFF_RETRIALS
+ failures it will do exponential backoff then it will bound at
+ LOCK_RELEASE_OF_FAILED_LEDGER_GRACE_PERIOD.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 </dl>
diff --git a/content/docs/latest/reference/config/index.html 
b/content/docs/latest/reference/config/index.html
index 1ce3464..823ac7d 100644
--- a/content/docs/latest/reference/config/index.html
+++ b/content/docs/latest/reference/config/index.html
@@ -2192,16 +2192,16 @@ when using either RackawareEnsemblePlacementPolicy and 
RegionAwareEnsemblePlacem
     
     <tr id="openLedgerRereplicationGracePeriod">
       <td><code>openLedgerRereplicationGracePeriod</code></td>
-      <td><p>The grace period, in seconds, that the replication worker waits 
before fencing and replicating a ledger fragment that’s still being written to 
upon bookie failure.</p>
+      <td><p>The grace period, in milliseconds, that the replication worker 
waits before fencing and replicating a ledger fragment that’s still being 
written to upon bookie failure.</p>
 </td>
-      <td><code>30</code></td>
+      <td><code>30000</code></td>
     </tr>
     
     <tr id="lockReleaseOfFailedLedgerGracePeriod">
       <td><code>lockReleaseOfFailedLedgerGracePeriod</code></td>
-      <td><p>the grace period so that if the replication worker fails to 
replicate a underreplicatedledger for more than 
ReplicationWorker.MAXNUMBER_REPLICATION_FAILURES_ALLOWED_BEFORE_DEFERRING 
number of times, then instead of releasing the lock immediately after failed 
attempt, it will hold under replicated ledger lock for this grace period and 
then it will release the lock.</p>
+      <td><p>Set the grace period, in milliseconds, which the replication 
worker has to wait before releasing the lock after it failed to replicate a 
ledger. For the first ReplicationWorker.NUM_OF_EXPONENTIAL_BACKOFF_RETRIALS 
failures it will do exponential backoff then it will bound at 
lockReleaseOfFailedLedgerGracePeriod.</p>
 </td>
-      <td><code>60</code></td>
+      <td><code>300000</code></td>
     </tr>
     
     <tr id="rwRereplicateBackoffMs">

Reply via email to