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/03/28 06:51:28 UTC

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

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 42b2f66  Updated site at revision 31b7db6
42b2f66 is described below

commit 42b2f66bc6a4b7225f9f97c9f7389a0b6661be15
Author: jenkins <bu...@apache.org>
AuthorDate: Wed Mar 28 06:51:26 2018 +0000

    Updated site at revision 31b7db6
---
 content/docs/4.6.2/admin/autorecovery/index.html   |   772 ++
 content/docs/4.6.2/admin/bookies/index.html        |   851 ++
 .../docs/4.6.2/admin/geo-replication/index.html    |   647 ++
 content/docs/4.6.2/admin/http/index.html           |  1710 +++
 content/docs/4.6.2/admin/metrics/index.html        |   708 ++
 content/docs/4.6.2/admin/perf/index.html           |   625 ++
 content/docs/4.6.2/admin/placement/index.html      |   625 ++
 content/docs/4.6.2/admin/upgrade/index.html        |   712 ++
 .../docs/4.6.2/api/distributedlog-api/index.html   |  1035 ++
 .../docs/4.6.2/api/javadoc/allclasses-frame.html   |   251 +
 .../docs/4.6.2/api/javadoc/allclasses-noframe.html |   251 +
 .../docs/4.6.2/api/javadoc/constant-values.html    |  2551 +++++
 .../docs/4.6.2/api/javadoc/deprecated-list.html    |   304 +
 content/docs/4.6.2/api/javadoc/help-doc.html       |   230 +
 content/docs/4.6.2/api/javadoc/index-all.html      | 10807 +++++++++++++++++++
 content/docs/4.6.2/api/javadoc/index.html          |    76 +
 .../client/AsyncCallback.AddCallback.html          |   292 +
 .../AsyncCallback.AddCallbackWithLatency.html      |   260 +
 .../client/AsyncCallback.AddLacCallback.html       |   250 +
 .../client/AsyncCallback.CloseCallback.html        |   250 +
 .../client/AsyncCallback.CreateCallback.html       |   250 +
 .../client/AsyncCallback.DeleteCallback.html       |   247 +
 .../client/AsyncCallback.IsClosedCallback.html     |   245 +
 .../client/AsyncCallback.OpenCallback.html         |   250 +
 .../client/AsyncCallback.ReadCallback.html         |   253 +
 ...Callback.ReadLastConfirmedAndEntryCallback.html |   258 +
 .../AsyncCallback.ReadLastConfirmedCallback.html   |   252 +
 .../client/AsyncCallback.RecoverCallback.html      |   243 +
 .../apache/bookkeeper/client/AsyncCallback.html    |   264 +
 ...Exception.BKAddEntryQuorumTimeoutException.html |   322 +
 .../client/BKException.BKBookieException.html      |   322 +
 ...eption.BKBookieHandleNotAvailableException.html |   322 +
 .../BKException.BKClientClosedException.html       |   322 +
 .../client/BKException.BKDigestMatchException.html |   322 +
 ...KException.BKDigestNotInitializedException.html |   322 +
 .../BKException.BKDuplicateEntryIdException.html   |   322 +
 .../client/BKException.BKIllegalOpException.html   |   322 +
 .../BKException.BKIncorrectParameterException.html |   322 +
 .../client/BKException.BKInterruptedException.html |   322 +
 .../BKException.BKLedgerClosedException.html       |   322 +
 .../client/BKException.BKLedgerExistException.html |   322 +
 .../BKException.BKLedgerFencedException.html       |   322 +
 .../BKException.BKLedgerIdOverflowException.html   |   322 +
 .../BKException.BKLedgerRecoveryException.html     |   322 +
 .../BKException.BKMetadataVersionException.html    |   322 +
 .../client/BKException.BKNoSuchEntryException.html |   322 +
 .../BKException.BKNoSuchLedgerExistsException.html |   322 +
 .../BKException.BKNotEnoughBookiesException.html   |   322 +
 .../BKException.BKProtocolVersionException.html    |   322 +
 .../client/BKException.BKQuorumException.html      |   322 +
 .../client/BKException.BKReadException.html        |   322 +
 .../client/BKException.BKReplicationException.html |   322 +
 .../client/BKException.BKSecurityException.html    |   322 +
 .../client/BKException.BKTimeoutException.html     |   322 +
 .../BKException.BKTooManyRequestsException.html    |   322 +
 .../BKException.BKUnauthorizedAccessException.html |   322 +
 .../BKException.BKUnclosedFragmentException.html   |   322 +
 ...BKException.BKUnexpectedConditionException.html |   322 +
 .../client/BKException.BKWriteException.html       |   322 +
 ...Exception.BKWriteOnReadOnlyBookieException.html |   322 +
 .../apache/bookkeeper/client/BKException.Code.html |   200 +
 .../client/BKException.MetaStoreException.html     |   322 +
 .../bookkeeper/client/BKException.ZKException.html |   322 +
 .../org/apache/bookkeeper/client/BKException.html  |   559 +
 .../bookkeeper/client/BookKeeper.Builder.html      |   633 ++
 .../bookkeeper/client/BookKeeper.DigestType.html   |   407 +
 .../org/apache/bookkeeper/client/BookKeeper.html   |  2283 ++++
 .../bookkeeper/client/BookKeeperAccessor.html      |   301 +
 .../BookKeeperAdmin.LedgerEntriesIterable.html     |   372 +
 .../BookKeeperAdmin.LedgerEntriesIterator.html     |   425 +
 .../BookKeeperAdmin.ReadMetadataCallback.html      |   348 +
 .../client/BookKeeperAdmin.ResultCallBack.html     |   305 +
 .../client/BookKeeperAdmin.SyncObject.html         |   291 +
 .../apache/bookkeeper/client/BookKeeperAdmin.html  |  1271 +++
 .../bookkeeper/client/BookKeeperClientStats.html   |   935 ++
 .../client/BookieInfoReader.BookieInfo.html        |   345 +
 .../bookkeeper/client/BookieInfoReader.State.html  |   360 +
 .../apache/bookkeeper/client/BookieInfoReader.html |   393 +
 .../apache/bookkeeper/client/BookieWatcher.html    |   452 +
 .../bookkeeper/client/BookiesHealthInfo.html       |   255 +
 .../apache/bookkeeper/client/BookiesListener.html  |   228 +
 .../client/DefaultEnsemblePlacementPolicy.html     |   619 ++
 .../DefaultSpeculativeRequestExecutionPolicy.html  |   359 +
 .../client/DistributionSchedule.AckSet.html        |   316 +
 .../DistributionSchedule.QuorumCoverageSet.html    |   257 +
 .../client/DistributionSchedule.WriteSet.html      |   393 +
 .../bookkeeper/client/DistributionSchedule.html    |   364 +
 .../bookkeeper/client/EnsemblePlacementPolicy.html |   657 ++
 ...tLacFlushPolicy.ExplicitLacFlushPolicyImpl.html |   441 +
 .../bookkeeper/client/ExplicitLacFlushPolicy.html  |   294 +
 ...ologyAwareEnsemblePlacementPolicy.Ensemble.html |   281 +
 ...logyAwareEnsemblePlacementPolicy.Predicate.html |   235 +
 .../ITopologyAwareEnsemblePlacementPolicy.html     |   375 +
 .../LedgerChecker.InvalidFragmentException.html    |   263 +
 .../apache/bookkeeper/client/LedgerChecker.html    |   354 +
 .../client/LedgerCreateOp.CreateBuilderImpl.html   |   502 +
 .../apache/bookkeeper/client/LedgerCreateOp.html   |   592 +
 .../client/LedgerDeleteOp.DeleteBuilderImpl.html   |   316 +
 .../apache/bookkeeper/client/LedgerDeleteOp.html   |   480 +
 .../org/apache/bookkeeper/client/LedgerEntry.html  |   451 +
 .../apache/bookkeeper/client/LedgerFragment.html   |   549 +
 ...rFragmentReplicator.SingleFragmentCallback.html |   389 +
 .../client/LedgerFragmentReplicator.html           |   361 +
 .../client/LedgerHandle.EnsembleInfo.html          |   320 +
 .../client/LedgerHandle.LastConfirmedCtx.html      |   395 +
 .../client/LedgerHandle.NoopCloseCallback.html     |   333 +
 .../org/apache/bookkeeper/client/LedgerHandle.html |  2400 ++++
 .../LedgerHandleAdv.PendingOpsComparator.html      |   294 +
 .../apache/bookkeeper/client/LedgerHandleAdv.html  |   682 ++
 .../apache/bookkeeper/client/LedgerMetadata.html   |  1204 +++
 .../client/LedgerOpenOp.OpenBuilderImpl.html       |   394 +
 .../org/apache/bookkeeper/client/LedgerOpenOp.html |   585 +
 .../bookkeeper/client/LedgerReader.ReadResult.html |   399 +
 .../org/apache/bookkeeper/client/LedgerReader.html |   351 +
 .../client/LedgerRecoveryOp.RecoveryReadOp.html    |   369 +
 .../apache/bookkeeper/client/LedgerRecoveryOp.html |   614 ++
 .../client/ListenerBasedPendingReadOp.html         |   415 +
 .../org/apache/bookkeeper/client/PendingAddOp.html |   783 ++
 .../client/PendingReadLacOp.LacCallback.html       |   228 +
 .../apache/bookkeeper/client/PendingReadLacOp.html |   462 +
 .../client/PendingReadOp.LedgerEntryRequest.html   |   620 ++
 .../client/PendingReadOp.ParallelReadRequest.html  |   405 +
 .../client/PendingReadOp.SequenceReadRequest.html  |   492 +
 .../apache/bookkeeper/client/PendingReadOp.html    |   673 ++
 .../bookkeeper/client/PendingWriteLacOp.html       |   490 +
 .../bookkeeper/client/RackChangeNotifier.html      |   230 +
 .../client/RackawareEnsemblePlacementPolicy.html   |   780 ++
 ...lePlacementPolicyImpl.DNSResolverDecorator.html |   413 +
 ...nsemblePlacementPolicyImpl.DefaultResolver.html |   386 +
 .../RackawareEnsemblePlacementPolicyImpl.html      |  1521 +++
 ...edAndEntryOp.LastConfirmedAndEntryCallback.html |   231 +
 ...astConfirmedAndEntryOp.ParallelReadRequest.html |   405 +
 ...ConfirmedAndEntryOp.ReadLACAndEntryRequest.html |   611 ++
 ...astConfirmedAndEntryOp.SequenceReadRequest.html |   507 +
 .../client/ReadLastConfirmedAndEntryOp.html        |   558 +
 ...dLastConfirmedOp.LastConfirmedDataCallback.html |   229 +
 .../bookkeeper/client/ReadLastConfirmedOp.html     |   466 +
 .../ReadOnlyLedgerHandle.MetadataUpdater.html      |   359 +
 .../bookkeeper/client/ReadOnlyLedgerHandle.html    |   646 ++
 .../client/RegionAwareEnsemblePlacementPolicy.html |  1039 ++
 .../client/RoundRobinDistributionSchedule.html     |   403 +
 .../client/SpeculativeRequestExecutionPolicy.html  |   244 +
 .../client/SpeculativeRequestExecutor.html         |   243 +
 .../SyncCallbackUtils.FutureReadLastConfirmed.html |   326 +
 ...lbackUtils.FutureReadLastConfirmedAndEntry.html |   332 +
 ...SyncCallbackUtils.LastAddConfirmedCallback.html |   332 +
 .../client/SyncCallbackUtils.SyncAddCallback.html  |   333 +
 .../SyncCallbackUtils.SyncCloseCallback.html       |   296 +
 .../SyncCallbackUtils.SyncCreateAdvCallback.html   |   296 +
 .../SyncCallbackUtils.SyncCreateCallback.html      |   296 +
 .../SyncCallbackUtils.SyncDeleteCallback.html      |   293 +
 .../client/SyncCallbackUtils.SyncOpenCallback.html |   296 +
 .../client/SyncCallbackUtils.SyncReadCallback.html |   299 +
 ...allbackUtils.SyncReadLastConfirmedCallback.html |   298 +
 .../bookkeeper/client/SyncCallbackUtils.html       |   377 +
 .../org/apache/bookkeeper/client/SyncCounter.html  |   483 +
 ...ogyAwareEnsemblePlacementPolicy.BookieNode.html |   362 +
 ...cy.EnsembleForReplacementWithNoConstraints.html |   387 +
 ...RTopologyAwareCoverageEnsemble.CoverageSet.html |   256 +
 ...Ensemble.RackOrRegionDurabilityCoverageSet.html |   355 +
 ...wareCoverageEnsemble.RackQuorumCoverageSet.html |   370 +
 ...mentPolicy.RRTopologyAwareCoverageEnsemble.html |   616 ++
 ...AwareEnsemblePlacementPolicy.TruePredicate.html |   325 +
 .../TopologyAwareEnsemblePlacementPolicy.html      |   425 +
 .../bookkeeper/client/TryReadLastConfirmedOp.html  |   422 +
 .../apache/bookkeeper/client/UpdateLedgerOp.html   |   300 +
 .../WeightedRandomSelection.WeightedObject.html    |   230 +
 .../bookkeeper/client/WeightedRandomSelection.html |   430 +
 .../bookkeeper/client/api/BKException.Code.html    |   917 ++
 .../apache/bookkeeper/client/api/BKException.html  |   438 +
 .../apache/bookkeeper/client/api/BookKeeper.html   |   332 +
 .../bookkeeper/client/api/BookKeeperBuilder.html   |   358 +
 .../bookkeeper/client/api/CreateAdvBuilder.html    |   253 +
 .../bookkeeper/client/api/CreateBuilder.html       |   434 +
 .../bookkeeper/client/api/DeleteBuilder.html       |   254 +
 .../apache/bookkeeper/client/api/DigestType.html   |   385 +
 .../org/apache/bookkeeper/client/api/Handle.html   |   320 +
 .../client/api/LastConfirmedAndEntry.html          |   297 +
 .../bookkeeper/client/api/LedgerEntries.html       |   301 +
 .../apache/bookkeeper/client/api/LedgerEntry.html  |   392 +
 .../bookkeeper/client/api/LedgerMetadata.html      |   446 +
 .../apache/bookkeeper/client/api/OpBuilder.html    |   246 +
 .../apache/bookkeeper/client/api/OpenBuilder.html  |   323 +
 .../apache/bookkeeper/client/api/ReadHandle.html   |   610 ++
 .../bookkeeper/client/api/WriteAdvHandle.html      |   475 +
 .../apache/bookkeeper/client/api/WriteFlag.html    |   380 +
 .../apache/bookkeeper/client/api/WriteHandle.html  |   534 +
 .../client/api/class-use/BKException.Code.html     |   169 +
 .../client/api/class-use/BKException.html          |   539 +
 .../client/api/class-use/BookKeeper.html           |   219 +
 .../client/api/class-use/BookKeeperBuilder.html    |   254 +
 .../client/api/class-use/CreateAdvBuilder.html     |   199 +
 .../client/api/class-use/CreateBuilder.html        |   282 +
 .../client/api/class-use/DeleteBuilder.html        |   216 +
 .../client/api/class-use/DigestType.html           |   248 +
 .../bookkeeper/client/api/class-use/Handle.html    |   221 +
 .../api/class-use/LastConfirmedAndEntry.html       |   242 +
 .../client/api/class-use/LedgerEntries.html        |   270 +
 .../client/api/class-use/LedgerEntry.html          |   288 +
 .../client/api/class-use/LedgerMetadata.html       |   196 +
 .../bookkeeper/client/api/class-use/OpBuilder.html |   219 +
 .../client/api/class-use/OpenBuilder.html          |   246 +
 .../client/api/class-use/ReadHandle.html           |   228 +
 .../client/api/class-use/WriteAdvHandle.html       |   170 +
 .../bookkeeper/client/api/class-use/WriteFlag.html |   320 +
 .../client/api/class-use/WriteHandle.html          |   196 +
 .../bookkeeper/client/api/package-frame.html       |    44 +
 .../bookkeeper/client/api/package-summary.html     |   288 +
 .../apache/bookkeeper/client/api/package-tree.html |   196 +
 .../apache/bookkeeper/client/api/package-use.html  |   388 +
 .../class-use/AsyncCallback.AddCallback.html       |   288 +
 .../AsyncCallback.AddCallbackWithLatency.html      |   239 +
 .../class-use/AsyncCallback.AddLacCallback.html    |   193 +
 .../class-use/AsyncCallback.CloseCallback.html     |   208 +
 .../class-use/AsyncCallback.CreateCallback.html    |   268 +
 .../class-use/AsyncCallback.DeleteCallback.html    |   213 +
 .../class-use/AsyncCallback.IsClosedCallback.html  |   172 +
 .../class-use/AsyncCallback.OpenCallback.html      |   250 +
 .../class-use/AsyncCallback.ReadCallback.html      |   212 +
 ...Callback.ReadLastConfirmedAndEntryCallback.html |   186 +
 .../AsyncCallback.ReadLastConfirmedCallback.html   |   202 +
 .../class-use/AsyncCallback.RecoverCallback.html   |   197 +
 .../bookkeeper/client/class-use/AsyncCallback.html |   125 +
 ...Exception.BKAddEntryQuorumTimeoutException.html |   125 +
 .../class-use/BKException.BKBookieException.html   |   125 +
 ...eption.BKBookieHandleNotAvailableException.html |   125 +
 .../BKException.BKClientClosedException.html       |   125 +
 .../BKException.BKDigestMatchException.html        |   125 +
 ...KException.BKDigestNotInitializedException.html |   125 +
 .../BKException.BKDuplicateEntryIdException.html   |   125 +
 .../BKException.BKIllegalOpException.html          |   125 +
 .../BKException.BKIncorrectParameterException.html |   125 +
 .../BKException.BKInterruptedException.html        |   125 +
 .../BKException.BKLedgerClosedException.html       |   125 +
 .../BKException.BKLedgerExistException.html        |   125 +
 .../BKException.BKLedgerFencedException.html       |   125 +
 .../BKException.BKLedgerIdOverflowException.html   |   125 +
 .../BKException.BKLedgerRecoveryException.html     |   125 +
 .../BKException.BKMetadataVersionException.html    |   125 +
 .../BKException.BKNoSuchEntryException.html        |   125 +
 .../BKException.BKNoSuchLedgerExistsException.html |   125 +
 .../BKException.BKNotEnoughBookiesException.html   |   412 +
 .../BKException.BKProtocolVersionException.html    |   125 +
 .../class-use/BKException.BKQuorumException.html   |   125 +
 .../class-use/BKException.BKReadException.html     |   125 +
 .../BKException.BKReplicationException.html        |   125 +
 .../class-use/BKException.BKSecurityException.html |   125 +
 .../class-use/BKException.BKTimeoutException.html  |   125 +
 .../BKException.BKTooManyRequestsException.html    |   125 +
 .../BKException.BKUnauthorizedAccessException.html |   125 +
 .../BKException.BKUnclosedFragmentException.html   |   125 +
 ...BKException.BKUnexpectedConditionException.html |   125 +
 .../class-use/BKException.BKWriteException.html    |   125 +
 ...Exception.BKWriteOnReadOnlyBookieException.html |   125 +
 .../client/class-use/BKException.Code.html         |   125 +
 .../class-use/BKException.MetaStoreException.html  |   125 +
 .../client/class-use/BKException.ZKException.html  |   125 +
 .../bookkeeper/client/class-use/BKException.html   |   782 ++
 .../client/class-use/BookKeeper.Builder.html       |   227 +
 .../client/class-use/BookKeeper.DigestType.html    |   485 +
 .../bookkeeper/client/class-use/BookKeeper.html    |   320 +
 .../client/class-use/BookKeeperAccessor.html       |   125 +
 .../BookKeeperAdmin.LedgerEntriesIterable.html     |   125 +
 .../BookKeeperAdmin.LedgerEntriesIterator.html     |   125 +
 .../BookKeeperAdmin.ReadMetadataCallback.html      |   125 +
 .../class-use/BookKeeperAdmin.ResultCallBack.html  |   125 +
 .../class-use/BookKeeperAdmin.SyncObject.html      |   125 +
 .../client/class-use/BookKeeperAdmin.html          |   166 +
 .../client/class-use/BookKeeperClientStats.html    |   125 +
 .../class-use/BookieInfoReader.BookieInfo.html     |   196 +
 .../client/class-use/BookieInfoReader.State.html   |   176 +
 .../client/class-use/BookieInfoReader.html         |   167 +
 .../bookkeeper/client/class-use/BookieWatcher.html |   180 +
 .../client/class-use/BookiesHealthInfo.html        |   273 +
 .../client/class-use/BookiesListener.html          |   125 +
 .../class-use/DefaultEnsemblePlacementPolicy.html  |   125 +
 .../DefaultSpeculativeRequestExecutionPolicy.html  |   125 +
 .../class-use/DistributionSchedule.AckSet.html     |   190 +
 .../DistributionSchedule.QuorumCoverageSet.html    |   188 +
 .../class-use/DistributionSchedule.WriteSet.html   |   389 +
 .../client/class-use/DistributionSchedule.html     |   198 +
 .../client/class-use/EnsemblePlacementPolicy.html  |   305 +
 ...tLacFlushPolicy.ExplicitLacFlushPolicyImpl.html |   125 +
 .../client/class-use/ExplicitLacFlushPolicy.html   |   184 +
 ...ologyAwareEnsemblePlacementPolicy.Ensemble.html |   366 +
 ...logyAwareEnsemblePlacementPolicy.Predicate.html |   351 +
 .../ITopologyAwareEnsemblePlacementPolicy.html     |   185 +
 .../LedgerChecker.InvalidFragmentException.html    |   125 +
 .../bookkeeper/client/class-use/LedgerChecker.html |   125 +
 .../LedgerCreateOp.CreateBuilderImpl.html          |   125 +
 .../client/class-use/LedgerCreateOp.html           |   125 +
 .../LedgerDeleteOp.DeleteBuilderImpl.html          |   125 +
 .../client/class-use/LedgerDeleteOp.html           |   125 +
 .../bookkeeper/client/class-use/LedgerEntry.html   |   351 +
 .../client/class-use/LedgerFragment.html           |   259 +
 ...rFragmentReplicator.SingleFragmentCallback.html |   125 +
 .../client/class-use/LedgerFragmentReplicator.html |   125 +
 .../class-use/LedgerHandle.EnsembleInfo.html       |   168 +
 .../class-use/LedgerHandle.LastConfirmedCtx.html   |   125 +
 .../class-use/LedgerHandle.NoopCloseCallback.html  |   167 +
 .../bookkeeper/client/class-use/LedgerHandle.html  |   702 ++
 .../LedgerHandleAdv.PendingOpsComparator.html      |   125 +
 .../client/class-use/LedgerHandleAdv.html          |   165 +
 .../client/class-use/LedgerMetadata.html           |   341 +
 .../class-use/LedgerOpenOp.OpenBuilderImpl.html    |   125 +
 .../bookkeeper/client/class-use/LedgerOpenOp.html  |   125 +
 .../client/class-use/LedgerReader.ReadResult.html  |   175 +
 .../bookkeeper/client/class-use/LedgerReader.html  |   125 +
 .../class-use/LedgerRecoveryOp.RecoveryReadOp.html |   125 +
 .../client/class-use/LedgerRecoveryOp.html         |   177 +
 .../class-use/ListenerBasedPendingReadOp.html      |   167 +
 .../bookkeeper/client/class-use/PendingAddOp.html  |   240 +
 .../class-use/PendingReadLacOp.LacCallback.html    |   179 +
 .../client/class-use/PendingReadLacOp.html         |   125 +
 .../PendingReadOp.LedgerEntryRequest.html          |   199 +
 .../PendingReadOp.ParallelReadRequest.html         |   125 +
 .../PendingReadOp.SequenceReadRequest.html         |   125 +
 .../bookkeeper/client/class-use/PendingReadOp.html |   184 +
 .../client/class-use/PendingWriteLacOp.html        |   125 +
 .../client/class-use/RackChangeNotifier.html       |   125 +
 .../RackawareEnsemblePlacementPolicy.html          |   188 +
 ...lePlacementPolicyImpl.DNSResolverDecorator.html |   125 +
 ...nsemblePlacementPolicyImpl.DefaultResolver.html |   125 +
 .../RackawareEnsemblePlacementPolicyImpl.html      |   236 +
 ...edAndEntryOp.LastConfirmedAndEntryCallback.html |   169 +
 ...astConfirmedAndEntryOp.ParallelReadRequest.html |   125 +
 ...ConfirmedAndEntryOp.ReadLACAndEntryRequest.html |   199 +
 ...astConfirmedAndEntryOp.SequenceReadRequest.html |   125 +
 .../class-use/ReadLastConfirmedAndEntryOp.html     |   167 +
 ...dLastConfirmedOp.LastConfirmedDataCallback.html |   188 +
 .../client/class-use/ReadLastConfirmedOp.html      |   125 +
 .../ReadOnlyLedgerHandle.MetadataUpdater.html      |   125 +
 .../client/class-use/ReadOnlyLedgerHandle.html     |   125 +
 .../RegionAwareEnsemblePlacementPolicy.html        |   171 +
 .../class-use/RoundRobinDistributionSchedule.html  |   125 +
 .../SpeculativeRequestExecutionPolicy.html         |   203 +
 .../class-use/SpeculativeRequestExecutor.html      |   204 +
 .../SyncCallbackUtils.FutureReadLastConfirmed.html |   125 +
 ...lbackUtils.FutureReadLastConfirmedAndEntry.html |   125 +
 ...SyncCallbackUtils.LastAddConfirmedCallback.html |   167 +
 .../SyncCallbackUtils.SyncAddCallback.html         |   125 +
 .../SyncCallbackUtils.SyncCloseCallback.html       |   125 +
 .../SyncCallbackUtils.SyncCreateAdvCallback.html   |   125 +
 .../SyncCallbackUtils.SyncCreateCallback.html      |   125 +
 .../SyncCallbackUtils.SyncDeleteCallback.html      |   125 +
 .../SyncCallbackUtils.SyncOpenCallback.html        |   125 +
 .../SyncCallbackUtils.SyncReadCallback.html        |   125 +
 ...allbackUtils.SyncReadLastConfirmedCallback.html |   125 +
 .../client/class-use/SyncCallbackUtils.html        |   125 +
 .../bookkeeper/client/class-use/SyncCounter.html   |   125 +
 ...ogyAwareEnsemblePlacementPolicy.BookieNode.html |   635 ++
 ...cy.EnsembleForReplacementWithNoConstraints.html |   167 +
 ...RTopologyAwareCoverageEnsemble.CoverageSet.html |   184 +
 ...Ensemble.RackOrRegionDurabilityCoverageSet.html |   167 +
 ...wareCoverageEnsemble.RackQuorumCoverageSet.html |   167 +
 ...mentPolicy.RRTopologyAwareCoverageEnsemble.html |   165 +
 ...AwareEnsemblePlacementPolicy.TruePredicate.html |   167 +
 .../TopologyAwareEnsemblePlacementPolicy.html      |   194 +
 .../client/class-use/TryReadLastConfirmedOp.html   |   125 +
 .../client/class-use/UpdateLedgerOp.html           |   125 +
 .../WeightedRandomSelection.WeightedObject.html    |   195 +
 .../client/class-use/WeightedRandomSelection.html  |   125 +
 .../client/impl/BookKeeperBuilderImpl.html         |   425 +
 .../client/impl/LastConfirmedAndEntryImpl.html     |   366 +
 .../bookkeeper/client/impl/LedgerEntriesImpl.html  |   338 +
 .../bookkeeper/client/impl/LedgerEntryImpl.html    |   499 +
 .../impl/class-use/BookKeeperBuilderImpl.html      |   125 +
 .../impl/class-use/LastConfirmedAndEntryImpl.html  |   179 +
 .../client/impl/class-use/LedgerEntriesImpl.html   |   169 +
 .../client/impl/class-use/LedgerEntryImpl.html     |   224 +
 .../bookkeeper/client/impl/package-frame.html      |    23 +
 .../bookkeeper/client/impl/package-summary.html    |   176 +
 .../bookkeeper/client/impl/package-tree.html       |   141 +
 .../apache/bookkeeper/client/impl/package-use.html |   195 +
 .../apache/bookkeeper/client/package-frame.html    |   168 +
 .../apache/bookkeeper/client/package-summary.html  |   972 ++
 .../org/apache/bookkeeper/client/package-tree.html |   372 +
 .../org/apache/bookkeeper/client/package-use.html  |   515 +
 .../InterfaceAudience.LimitedPrivate.html          |   168 +
 .../annotation/InterfaceAudience.Private.html      |   167 +
 .../annotation/InterfaceAudience.Public.html       |   167 +
 .../common/annotation/InterfaceAudience.html       |   234 +
 .../annotation/InterfaceStability.Evolving.html    |   166 +
 .../annotation/InterfaceStability.Stable.html      |   167 +
 .../annotation/InterfaceStability.Unstable.html    |   167 +
 .../common/annotation/InterfaceStability.html      |   237 +
 .../InterfaceAudience.LimitedPrivate.html          |   169 +
 .../class-use/InterfaceAudience.Private.html       |   175 +
 .../class-use/InterfaceAudience.Public.html        |   411 +
 .../annotation/class-use/InterfaceAudience.html    |   125 +
 .../class-use/InterfaceStability.Evolving.html     |   188 +
 .../class-use/InterfaceStability.Stable.html       |   294 +
 .../class-use/InterfaceStability.Unstable.html     |   253 +
 .../annotation/class-use/InterfaceStability.html   |   125 +
 .../common/annotation/package-frame.html           |    30 +
 .../common/annotation/package-summary.html         |   210 +
 .../bookkeeper/common/annotation/package-tree.html |   148 +
 .../bookkeeper/common/annotation/package-use.html  |   270 +
 .../bookkeeper/conf/AbstractConfiguration.html     |  2103 ++++
 .../bookkeeper/conf/ClientConfiguration.html       |  4575 ++++++++
 .../org/apache/bookkeeper/conf/Configurable.html   |   252 +
 .../bookkeeper/conf/ServerConfiguration.html       |  6788 ++++++++++++
 .../conf/class-use/AbstractConfiguration.html      |   208 +
 .../conf/class-use/ClientConfiguration.html        |   780 ++
 .../bookkeeper/conf/class-use/Configurable.html    |   125 +
 .../conf/class-use/ServerConfiguration.html        |   790 ++
 .../org/apache/bookkeeper/conf/package-frame.html  |    26 +
 .../apache/bookkeeper/conf/package-summary.html    |   183 +
 .../org/apache/bookkeeper/conf/package-tree.html   |   159 +
 .../org/apache/bookkeeper/conf/package-use.html    |   223 +
 .../feature/CacheableFeatureProvider.html          |   422 +
 .../org/apache/bookkeeper/feature/Feature.html     |   314 +
 .../apache/bookkeeper/feature/FeatureProvider.html |   258 +
 .../bookkeeper/feature/FixedValueFeature.html      |   410 +
 .../apache/bookkeeper/feature/SettableFeature.html |   340 +
 .../feature/SettableFeatureProvider.html           |   368 +
 .../class-use/CacheableFeatureProvider.html        |   170 +
 .../bookkeeper/feature/class-use/Feature.html      |   293 +
 .../feature/class-use/FeatureProvider.html         |   379 +
 .../feature/class-use/FixedValueFeature.html       |   170 +
 .../feature/class-use/SettableFeature.html         |   168 +
 .../feature/class-use/SettableFeatureProvider.html |   125 +
 .../apache/bookkeeper/feature/package-frame.html   |    28 +
 .../apache/bookkeeper/feature/package-summary.html |   206 +
 .../apache/bookkeeper/feature/package-tree.html    |   152 +
 .../org/apache/bookkeeper/feature/package-use.html |   280 +
 .../apache/bookkeeper/stats/AlertStatsLogger.html  |   332 +
 .../bookkeeper/stats/CachingStatsLogger.html       |   537 +
 .../bookkeeper/stats/CachingStatsProvider.html     |   386 +
 .../bookkeeper/stats/CodahaleMetricsProvider.html  |   464 +
 .../bookkeeper/stats/CodahaleOpStatsLogger.html    |   476 +
 .../bookkeeper/stats/CodahaleStatsLogger.html      |   487 +
 .../org/apache/bookkeeper/stats/Counter.html       |   300 +
 .../javadoc/org/apache/bookkeeper/stats/Gauge.html |   238 +
 .../stats/NullStatsLogger.NullCounter.html         |   374 +
 .../stats/NullStatsLogger.NullOpStatsLogger.html   |   440 +
 .../apache/bookkeeper/stats/NullStatsLogger.html   |   503 +
 .../apache/bookkeeper/stats/NullStatsProvider.html |   370 +
 .../org/apache/bookkeeper/stats/OpStatsData.html   |   385 +
 .../org/apache/bookkeeper/stats/OpStatsLogger.html |   332 +
 .../javadoc/org/apache/bookkeeper/stats/Stats.html |   352 +
 .../org/apache/bookkeeper/stats/StatsLogger.html   |   345 +
 .../stats/StatsLoggerBenchmark.LoggerState.html    |   280 +
 .../bookkeeper/stats/StatsLoggerBenchmark.html     |   309 +
 .../org/apache/bookkeeper/stats/StatsProvider.html |   272 +
 .../stats/class-use/AlertStatsLogger.html          |   125 +
 .../stats/class-use/CachingStatsLogger.html        |   125 +
 .../stats/class-use/CachingStatsProvider.html      |   125 +
 .../stats/class-use/CodahaleMetricsProvider.html   |   125 +
 .../stats/class-use/CodahaleOpStatsLogger.html     |   125 +
 .../stats/class-use/CodahaleStatsLogger.html       |   125 +
 .../apache/bookkeeper/stats/class-use/Counter.html |   437 +
 .../apache/bookkeeper/stats/class-use/Gauge.html   |   385 +
 .../class-use/NullStatsLogger.NullCounter.html     |   167 +
 .../NullStatsLogger.NullOpStatsLogger.html         |   167 +
 .../stats/class-use/NullStatsLogger.html           |   167 +
 .../stats/class-use/NullStatsProvider.html         |   125 +
 .../bookkeeper/stats/class-use/OpStatsData.html    |   318 +
 .../bookkeeper/stats/class-use/OpStatsLogger.html  |   475 +
 .../apache/bookkeeper/stats/class-use/Stats.html   |   125 +
 .../bookkeeper/stats/class-use/StatsLogger.html    |   807 ++
 .../StatsLoggerBenchmark.LoggerState.html          |   205 +
 .../stats/class-use/StatsLoggerBenchmark.html      |   177 +
 .../bookkeeper/stats/class-use/StatsProvider.html  |   367 +
 .../stats/codahale/CodahaleMetricsProvider.html    |   435 +
 .../stats/codahale/CodahaleOpStatsLogger.html      |   453 +
 .../stats/codahale/CodahaleStatsLogger.html        |   462 +
 .../class-use/CodahaleMetricsProvider.html         |   125 +
 .../codahale/class-use/CodahaleOpStatsLogger.html  |   125 +
 .../codahale/class-use/CodahaleStatsLogger.html    |   125 +
 .../bookkeeper/stats/codahale/package-frame.html   |    22 +
 .../bookkeeper/stats/codahale/package-summary.html |   164 +
 .../bookkeeper/stats/codahale/package-tree.html    |   140 +
 .../bookkeeper/stats/codahale/package-use.html     |   125 +
 .../StatsLoggerBenchmark_LoggerState_jmhType.html  |   287 +
 ...tatsLoggerBenchmark_LoggerState_jmhType_B1.html |  3605 +++++++
 ...tatsLoggerBenchmark_LoggerState_jmhType_B2.html |   484 +
 ...tatsLoggerBenchmark_LoggerState_jmhType_B3.html |  3622 +++++++
 ...tsLoggerBenchmark_counterIncrement_jmhTest.html |  3984 +++++++
 .../generated/StatsLoggerBenchmark_jmhType.html    |   302 +
 .../generated/StatsLoggerBenchmark_jmhType_B1.html |  3620 +++++++
 .../generated/StatsLoggerBenchmark_jmhType_B2.html |   460 +
 .../generated/StatsLoggerBenchmark_jmhType_B3.html |  3637 +++++++
 ...StatsLoggerBenchmark_recordLatency_jmhTest.html |  3984 +++++++
 .../StatsLoggerBenchmark_LoggerState_jmhType.html  |   309 +
 ...tatsLoggerBenchmark_LoggerState_jmhType_B1.html |   173 +
 ...tatsLoggerBenchmark_LoggerState_jmhType_B2.html |   202 +
 ...tatsLoggerBenchmark_LoggerState_jmhType_B3.html |   165 +
 ...tsLoggerBenchmark_counterIncrement_jmhTest.html |   125 +
 .../class-use/StatsLoggerBenchmark_jmhType.html    |   309 +
 .../class-use/StatsLoggerBenchmark_jmhType_B1.html |   173 +
 .../class-use/StatsLoggerBenchmark_jmhType_B2.html |   202 +
 .../class-use/StatsLoggerBenchmark_jmhType_B3.html |   165 +
 ...StatsLoggerBenchmark_recordLatency_jmhTest.html |   125 +
 .../bookkeeper/stats/generated/package-frame.html  |    29 +
 .../stats/generated/package-summary.html           |   179 +
 .../bookkeeper/stats/generated/package-tree.html   |   173 +
 .../bookkeeper/stats/generated/package-use.html    |   179 +
 .../org/apache/bookkeeper/stats/package-frame.html |    41 +
 .../apache/bookkeeper/stats/package-summary.html   |   266 +
 .../org/apache/bookkeeper/stats/package-tree.html  |   159 +
 .../org/apache/bookkeeper/stats/package-use.html   |   519 +
 .../prometheus/DataSketchesOpStatsLogger.html      |   454 +
 .../stats/prometheus/LongAdderCounter.html         |   373 +
 .../prometheus/PrometheusMetricsProvider.html      |   440 +
 .../stats/prometheus/PrometheusServlet.html        |   340 +
 .../stats/prometheus/PrometheusStatsLogger.html    |   413 +
 .../stats/prometheus/PrometheusTextFormatUtil.html |   331 +
 .../bookkeeper/stats/prometheus/SimpleGauge.html   |   273 +
 .../class-use/DataSketchesOpStatsLogger.html       |   182 +
 .../prometheus/class-use/LongAdderCounter.html     |   167 +
 .../class-use/PrometheusMetricsProvider.html       |   169 +
 .../prometheus/class-use/PrometheusServlet.html    |   125 +
 .../class-use/PrometheusStatsLogger.html           |   125 +
 .../class-use/PrometheusTextFormatUtil.html        |   125 +
 .../stats/prometheus/class-use/SimpleGauge.html    |   182 +
 .../bookkeeper/stats/prometheus/package-frame.html |    26 +
 .../stats/prometheus/package-summary.html          |   190 +
 .../bookkeeper/stats/prometheus/package-tree.html  |   152 +
 .../bookkeeper/stats/prometheus/package-use.html   |   177 +
 .../stats/twitter/finagle/CounterImpl.html         |   373 +
 .../twitter/finagle/FinagleStatsLoggerImpl.html    |   447 +
 .../twitter/finagle/FinagleStatsProvider.html      |   336 +
 .../stats/twitter/finagle/OpStatsLoggerImpl.html   |   409 +
 .../twitter/finagle/class-use/CounterImpl.html     |   125 +
 .../finagle/class-use/FinagleStatsLoggerImpl.html  |   125 +
 .../finagle/class-use/FinagleStatsProvider.html    |   125 +
 .../finagle/class-use/OpStatsLoggerImpl.html       |   125 +
 .../stats/twitter/finagle/package-frame.html       |    23 +
 .../stats/twitter/finagle/package-summary.html     |   173 +
 .../stats/twitter/finagle/package-tree.html        |   141 +
 .../stats/twitter/finagle/package-use.html         |   125 +
 .../stats/twitter/ostrich/CounterImpl.html         |   369 +
 .../stats/twitter/ostrich/OpStatsLoggerImpl.html   |   450 +
 .../stats/twitter/ostrich/OstrichProvider.html     |   420 +
 .../twitter/ostrich/OstrichStatsLoggerImpl.html    |   462 +
 .../twitter/ostrich/class-use/CounterImpl.html     |   125 +
 .../ostrich/class-use/OpStatsLoggerImpl.html       |   125 +
 .../twitter/ostrich/class-use/OstrichProvider.html |   125 +
 .../ostrich/class-use/OstrichStatsLoggerImpl.html  |   125 +
 .../stats/twitter/ostrich/package-frame.html       |    23 +
 .../stats/twitter/ostrich/package-summary.html     |   168 +
 .../stats/twitter/ostrich/package-tree.html        |   141 +
 .../stats/twitter/ostrich/package-use.html         |   125 +
 .../stats/twitter/science/CounterImpl.html         |   370 +
 .../stats/twitter/science/HTTPStatsExporter.html   |   358 +
 .../stats/twitter/science/OpStatsLoggerImpl.html   |   404 +
 .../twitter/science/TwitterStatsLoggerImpl.html    |   447 +
 .../twitter/science/TwitterStatsProvider.html      |   404 +
 .../twitter/science/class-use/CounterImpl.html     |   125 +
 .../science/class-use/HTTPStatsExporter.html       |   125 +
 .../science/class-use/OpStatsLoggerImpl.html       |   125 +
 .../science/class-use/TwitterStatsLoggerImpl.html  |   125 +
 .../science/class-use/TwitterStatsProvider.html    |   125 +
 .../stats/twitter/science/package-frame.html       |    24 +
 .../stats/twitter/science/package-summary.html     |   178 +
 .../stats/twitter/science/package-tree.html        |   142 +
 .../stats/twitter/science/package-use.html         |   125 +
 content/docs/4.6.2/api/javadoc/overview-frame.html |    33 +
 .../docs/4.6.2/api/javadoc/overview-summary.html   |   256 +
 content/docs/4.6.2/api/javadoc/overview-tree.html  |   559 +
 content/docs/4.6.2/api/javadoc/package-list        |    13 +
 content/docs/4.6.2/api/javadoc/script.js           |    30 +
 .../docs/4.6.2/api/javadoc/serialized-form.html    |   338 +
 content/docs/4.6.2/api/javadoc/stylesheet.css      |   574 +
 content/docs/4.6.2/api/ledger-adv-api/index.html   |   708 ++
 content/docs/4.6.2/api/ledger-api/index.html       |  1449 +++
 content/docs/4.6.2/api/overview/index.html         |   640 ++
 content/docs/4.6.2/deployment/dcos/index.html      |   824 ++
 .../docs/4.6.2/deployment/kubernetes/index.html    |   801 ++
 content/docs/4.6.2/deployment/manual/index.html    |   706 ++
 content/docs/4.6.2/development/codebase/index.html |   625 ++
 content/docs/4.6.2/development/protocol/index.html |   865 ++
 .../docs/4.6.2/getting-started/concepts/index.html |   919 ++
 .../4.6.2/getting-started/installation/index.html  |   761 ++
 .../4.6.2/getting-started/run-locally/index.html   |   635 ++
 content/docs/4.6.2/overview/overview/index.html    |   691 ++
 .../docs/4.6.2/overview/releaseNotes/index.html    |   642 ++
 .../4.6.2/overview/releaseNotesTemplate/index.html |   639 ++
 content/docs/4.6.2/reference/cli/index.html        |  1599 +++
 content/docs/4.6.2/reference/config/index.html     |  1634 +++
 content/docs/4.6.2/reference/metrics/index.html    |   625 ++
 content/docs/4.6.2/security/overview/index.html    |   653 ++
 content/docs/4.6.2/security/sasl/index.html        |   850 ++
 content/docs/4.6.2/security/tls/index.html         |   842 ++
 content/docs/4.6.2/security/zookeeper/index.html   |   679 ++
 586 files changed, 228860 insertions(+)

diff --git a/content/docs/4.6.2/admin/autorecovery/index.html b/content/docs/4.6.2/admin/autorecovery/index.html
new file mode 100644
index 0000000..a211966
--- /dev/null
+++ b/content/docs/4.6.2/admin/autorecovery/index.html
@@ -0,0 +1,772 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <title>Apache BookKeeper&trade; - Using AutoRecovery</title>
+
+<meta charset="utf-8">
+<meta http-equiv="X-UA-Compatible" content="IE=edge">
+<meta name="viewport" content="width=device-width, initial-scale=1">
+
+<link rel="stylesheet" href="/css/normalize.css">
+<link rel="stylesheet" href="/css/tippy.css">
+<link rel="stylesheet" href="/css/style.css">
+
+<link rel="shortcut icon" href="/img/favicon.ico">
+
+<script src="/js/tippy.min.js"></script>
+
+<script type="text/javascript">
+  var shiftWindow = function() { scrollBy(0, -25); };
+  window.addEventListener("hashchange", shiftWindow);
+  window.addEventListener("pageshow", shiftWindow);
+  function load() { if (window.location.hash) shiftWindow(); }
+</script>
+  </head>
+  <body class="body">
+    <main class="main">
+      
+<nav class="navbar bk-topnav">
+  <div class="navbar-brand">
+    <a class="navbar-item bk-brand" href="/">
+      Apache BookKeeper&trade;
+    </a>
+
+    <div class="navbar-burger burger" data-target="bkNav">
+      <span></span>
+      <span></span>
+      <span></span>
+    </div>
+  </div>
+
+  <div id="bkNav" class="navbar-menu">
+    <div class="navbar-start">
+      <div class="navbar-item has-dropdown is-hoverable">
+        <a class="navbar-link">Documentation</a>
+        <div class="navbar-dropdown is-boxed">
+          <a class="navbar-item" href="/docs/latest/overview/overview">
+            Version 4.7.0-SNAPSHOT
+            <span class="tag is-warning">Development</span>
+          </a>
+          <a class="navbar-item" href="/docs/latest/api/javadoc">
+            <span class="icon bk-javadoc-icon">
+              <img src="/img/java-icon.svg">
+            </span>
+            Javadoc
+          </a>
+          <hr class="dropdown-divider">
+          
+          <a class="navbar-item" href="/docs/4.6.1/overview/overview">
+            Release 4.6.1
+            
+          </a>
+          
+          <a class="navbar-item" href="/docs/4.6.0/overview/overview">
+            Release 4.6.0
+            
+          </a>
+          
+          <a class="navbar-item" href="/docs/4.5.1/overview/overview">
+            Release 4.5.1
+            
+          </a>
+          
+          <a class="navbar-item" href="/docs/4.5.0/overview/overview">
+            Release 4.5.0
+            <span class="tag is-success">Stable</span>
+          </a>
+          
+          
+          <a class="navbar-item" href="/archives/docs/r4.4.0">
+            Release 4.4.0
+            
+          </a>
+          
+          <a class="navbar-item" href="/archives/docs/r4.3.2">
+            Release 4.3.2
+            
+          </a>
+          
+          <a class="navbar-item" href="/archives/docs/r4.3.1">
+            Release 4.3.1
+            
+          </a>
+          
+          <a class="navbar-item" href="/archives/docs/r4.3.0">
+            Release 4.3.0
+            
+          </a>
+          
+          <a class="navbar-item" href="/archives/docs/r4.2.4">
+            Release 4.2.4
+            
+          </a>
+          
+          <a class="navbar-item" href="/archives/docs/r4.2.3">
+            Release 4.2.3
+            
+          </a>
+          
+          <a class="navbar-item" href="/archives/docs/r4.2.2">
+            Release 4.2.2
+            
+          </a>
+          
+          <a class="navbar-item" href="/archives/docs/r4.2.1">
+            Release 4.2.1
+            
+          </a>
+          
+          <a class="navbar-item" href="/archives/docs/r4.2.0">
+            Release 4.2.0
+            
+          </a>
+          
+          <a class="navbar-item" href="/archives/docs/r4.1.0">
+            Release 4.1.0
+            
+          </a>
+          
+          <a class="navbar-item" href="/archives/docs/r4.0.0">
+            Release 4.0.0
+            
+          </a>
+          
+        </div>
+      </div>
+
+      <div class="navbar-item has-dropdown is-hoverable">
+        <a class="navbar-link">Community</a>
+        <div class="navbar-dropdown is-boxed">
+          <a class="navbar-item" href="/community/mailing-lists">Mailing lists</a>
+          <a class="navbar-item" href="/community/slack">Slack</a>
+          <a class="navbar-item" href="https://github.com/apache/bookkeeper/issues">Github Issues</a>
+          <a class="navbar-item" href="/community/releases">Release Management</a>
+          <a class="navbar-item" href="/community/meeting">Community Meetings</a>
+          <hr class="dropdown-divider">
+          <a class="navbar-item" href="/community/contributing">Contribution Guide</a>
+          <a class="navbar-item" href="/community/coding_guide">Coding Guide</a>
+          <a class="navbar-item" href="/community/testing">Testing Guide</a>
+          <a class="navbar-item" href="/community/issue-report">Issue Report Guide</a>
+          <a class="navbar-item" href="/community/release_guide">Release Guide</a>
+          <hr class="dropdown-divider">
+          <a class="navbar-item" href="/community/presentations">Presentations</a>
+          <a class="navbar-item" href="/community/bookkeeper_proposals">BookKeeper Proposals</a>
+        </div>
+      </div>
+
+      <div class="navbar-item has-dropdown is-hoverable">
+        <a class="navbar-link">Project</a>
+        <div class="navbar-dropdown is-boxed">
+          <a class="navbar-item" href="/project/who">Who are we?</a>
+          <a class="navbar-item" href="/project/bylaws">Bylaws</a>
+          <a class="navbar-item" href="http://www.apache.org/licenses/">License</a>
+          <hr class="dropdown-divider">
+          <a class="navbar-item" href="/project/privacy">Privacy policy</a>
+          <a class="navbar-item" href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a>
+          <a class="navbar-item" href="http://www.apache.org/foundation/thanks.html">Thanks</a>
+        </div>
+      </div>
+    </div>
+
+    <div class="navbar-end">
+      <div class="navbar-item">
+        <div class="field is-grouped">
+          <p class="control">
+            <a class="button bk-twitter" href="https://twitter.com/asfbookkeeper">
+              <span class="icon">
+                <i class="fa fa-twitter"></i>
+              </span>
+              <span>Twitter</span>
+            </a>
+          </p>
+          <p class="control">
+            <a class="button" href="https://github.com/apache/bookkeeper">
+              <span class="icon">
+                <i class="fa fa-github"></i>
+              </span>
+              <span>GitHub</span>
+            </a>
+          </p>
+          <p class="control">
+            <a class="button is-primary" href="/releases">
+              <span class="icon">
+                <i class="fa fa-download"></i>
+              </span>
+              <span>Download</span>
+            </a>
+          </p>
+        </div>
+      </div>
+    </div>
+  </div>
+</nav>
+
+
+      <div class="bk-docs-container">
+  <div class="columns is-gapless">
+    <div class="column is-2 is-hidden-mobile">
+      <div class="container">
+        
+<aside class="sidebar">
+  
+  <a class="button is-info">
+    Version: 4.6.2
+  </a>
+  <hr />
+  
+  <p>
+    Getting started
+  </p>
+  <ul class="sidebar-items">
+    
+    
+    <li>
+      <a href="../../getting-started/installation">
+      Installation
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../getting-started/run-locally">
+      Run bookies locally
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../getting-started/concepts">
+      Concepts and architecture
+      </a>
+    </li>
+    
+  </ul>
+  
+  <p>
+    Deployment
+  </p>
+  <ul class="sidebar-items">
+    
+    
+    <li>
+      <a href="../../deployment/manual">
+      Manual deployment
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../deployment/dcos">
+      BookKeeper on DC/OS
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../deployment/kubernetes">
+      BookKeeper on Kubernetes
+      </a>
+    </li>
+    
+  </ul>
+  
+  <p>
+    Administration
+  </p>
+  <ul class="sidebar-items">
+    
+    
+    <li>
+      <a href="../../admin/bookies">
+      BookKeeper administration
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../admin/autorecovery">
+      AutoRecovery
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../admin/metrics">
+      Metric collection
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../admin/upgrade">
+      Upgrade
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../admin/http">
+      BookKeeper Admin REST API
+      </a>
+    </li>
+    
+  </ul>
+  
+  <p>
+    API
+  </p>
+  <ul class="sidebar-items">
+    
+    
+    <li>
+      <a href="../../api/overview">
+      Overview
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../api/ledger-api">
+      Ledger API
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../api/ledger-adv-api">
+      Advanced Ledger API
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../api/distributedlog-api">
+      DistributedLog
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../api/javadoc">
+      Java API Docs
+      </a>
+    </li>
+    
+  </ul>
+  
+  <p>
+    Security
+  </p>
+  <ul class="sidebar-items">
+    
+    
+    <li>
+      <a href="../../security/overview">
+      Overview
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../security/tls">
+      TLS Authentication
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../security/sasl">
+      SASL Authentication
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../security/zookeeper">
+      ZooKeeper Authentication
+      </a>
+    </li>
+    
+  </ul>
+  
+  <p>
+    Development
+  </p>
+  <ul class="sidebar-items">
+    
+    
+    <li>
+      <a href="../../development/protocol">
+      BookKeeper protocol
+      </a>
+    </li>
+    
+  </ul>
+  
+  <p>
+    Reference
+  </p>
+  <ul class="sidebar-items">
+    
+    
+    <li>
+      <a href="../../reference/config">
+      Configuration
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../reference/cli">
+      Command-line tools
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../reference/metrics">
+      Metrics
+      </a>
+    </li>
+    
+  </ul>
+  
+</aside>
+
+
+      </div>
+    </div>
+
+    <div class="column is-8 bk-docs-block">
+      <header class="docs-title">
+        <nav class="level bk-level">
+          <div class="level-left">
+            <div class="level-item">
+              <h1 class="title">Using AutoRecovery</h1>
+            </div>
+          </div>
+          
+        </nav>
+
+        
+      </header>
+
+      <hr />
+
+      <div class="content">
+        <section class="bk-main-content">
+          <p>When a <span class="pop" id="bookie-popover">bookie</span> crashes, all <span class="pop" id="ledger-popover">ledgers</span> on that bookie become under-replicated. In order to bring all ledgers in your BookKeeper cluster back to full replication, you’ll need to <em>recover</em> the data from any offline bookies. There are two ways to recover bookies’ data:</p>
+
+<ol>
+  <li>Using <a href="#manual-recovery">manual recovery</a></li>
+  <li>Automatically, using <a href="#autorecovery"><em>AutoRecovery</em></a></li>
+</ol>
+
+<h2 id="manual-recovery">Manual recovery</h2>
+
+<p>You can manually recover failed bookies using the <a href="../../reference/cli"><code class="highlighter-rouge">bookkeeper</code></a> command-line tool. You need to specify:</p>
+
+<ul>
+  <li>the <code class="highlighter-rouge">shell recover</code> option</li>
+  <li>an IP and port for your BookKeeper cluster’s ZooKeeper ensemble</li>
+  <li>the IP and port for the failed bookie</li>
+</ul>
+
+<p>Here’s an example:</p>
+
+<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nv">$ </span>bookkeeper-server/bin/bookkeeper shell recover <span class="se">\</span>
+  zk1.example.com:2181 <span class="se">\ </span><span class="c"># IP and port for ZooKeeper</span>
+  192.168.1.10:3181      <span class="c"># IP and port for the failed bookie</span>
+</code></pre></div></div>
+
+<p>If you wish, you can also specify which bookie you’d like to rereplicate to. Here’s an example:</p>
+
+<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nv">$ </span>bookkeeper-server/bin/bookkeeper shell recover <span class="se">\</span>
+  zk1.example.com:2181 <span class="se">\ </span><span class="c"># IP and port for ZooKeeper</span>
+  192.168.1.10:3181 <span class="se">\ </span>   <span class="c"># IP and port for the failed bookie</span>
+  192.168.1.11:3181      <span class="c"># IP and port for the bookie to rereplicate to</span>
+</code></pre></div></div>
+
+<h3 id="the-manual-recovery-process">The manual recovery process</h3>
+
+<p>When you initiate a manual recovery process, the following happens:</p>
+
+<ol>
+  <li>The client (the process running ) reads the metadata of active ledgers from ZooKeeper.</li>
+  <li>The ledgers that contain fragments from the failed bookie in their ensemble are selected.</li>
+  <li>A recovery process is initiated for each ledger in this list and the rereplication process is run for each ledger.</li>
+  <li>Once all the ledgers are marked as fully replicated, bookie recovery is finished.</li>
+</ol>
+
+<h2 id="autorecovery">AutoRecovery</h2>
+
+<p>AutoRecovery is a process that:</p>
+
+<ul>
+  <li>automatically detects when a <span class="pop" id="bookie-popover">bookie</span> in your BookKeeper cluster has become unavailable and then</li>
+  <li>rereplicates all the <span class="pop" id="ledger-popover">ledgers</span> that were stored on that bookie.</li>
+</ul>
+
+<p>AutoRecovery can be run in two ways:</p>
+
+<ol>
+  <li>On dedicated nodes in your BookKeeper cluster</li>
+  <li>On the same machines on which your bookies are running</li>
+</ol>
+
+<h2 id="running-autorecovery">Running AutoRecovery</h2>
+
+<p>You can start up AutoRecovery using the <a href="../../reference/cli#bookkeeper-autorecovery"><code class="highlighter-rouge">autorecovery</code></a> command of the <a href="../../reference/cli"><code class="highlighter-rouge">bookkeeper</code></a> CLI tool.</p>
+
+<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nv">$ </span>bookkeeper-server/bin/bookkeeper autorecovery
+</code></pre></div></div>
+
+<blockquote>
+  <p>The most important thing to ensure when starting up AutoRecovery is that the ZooKeeper connection string specified by the <a href="../../reference/config#zkServers"><code class="highlighter-rouge">zkServers</code></a> parameter points to the right ZooKeeper cluster.</p>
+</blockquote>
+
+<p>If you start up AutoRecovery on a machine that is already running a bookie, then the AutoRecovery process will run alongside the bookie on a separate thread.</p>
+
+<p>You can also start up AutoRecovery on a fresh machine if you’d like to create a dedicated cluster of AutoRecovery nodes.</p>
+
+<h2 id="configuration">Configuration</h2>
+
+<p>There are a handful of AutoRecovery-related configs in the <a href="../../reference/config"><code class="highlighter-rouge">bk_server.conf</code></a> configuration file. For a listing of those configs, see <a href="../../reference/config#autorecovery-settings">AutoRecovery settings</a>.</p>
+
+<h2 id="disable-autorecovery">Disable AutoRecovery</h2>
+
+<p>You can disable AutoRecovery at any time, for example during maintenance. Disabling AutoRecovery ensures that bookies’ data isn’t unnecessarily rereplicated when the bookie is only taken down for a short period of time, for example when the bookie is being updated or the configuration if being changed.</p>
+
+<p>You can disable AutoRecover using the <a href="../../reference/cli#bookkeeper-shell-autorecovery"><code class="highlighter-rouge">bookkeeper</code></a> CLI tool:</p>
+
+<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nv">$ </span>bookkeeper-server/bin/bookkeeper shell autorecovery <span class="nt">-disable</span>
+</code></pre></div></div>
+
+<p>Once disabled, you can reenable AutoRecovery using the <a href="../../reference/cli#bookkeeper-shell-autorecovery"><code class="highlighter-rouge">enable</code></a> shell command:</p>
+
+<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nv">$ </span>bookkeeper-server/bin/bookkeeper shell autorecovery <span class="nt">-enable</span>
+</code></pre></div></div>
+
+<h2 id="autorecovery-architecture">AutoRecovery architecture</h2>
+
+<p>AutoRecovery has two components:</p>
+
+<ol>
+  <li>The <a href="#auditor"><strong>auditor</strong></a> (see the <a href="../../api/javadoc/org/apache/bookkeeper/replication/Auditor.html"><code class="highlighter-rouge">Auditor</code></a> class) is a singleton node that watches bookies to see if they fail and creates rereplication tasks for the ledgers on failed bookies.</li>
+  <li>The <a href="#replication-worker"><strong>replication worker</strong></a> (see the <a href="../../api/javadoc/org/apache/bookkeeper/replication/ReplicationWorker.html"><code class="highlighter-rouge">ReplicationWorker</code></a> class) runs on each bookie and executes rereplication tasks provided by the auditor.</li>
+</ol>
+
+<p>Both of these components run as threads in the <a href="../../api/javadoc/org/apache/bookkeeper/replication/AutoRecoveryMain"><code class="highlighter-rouge">AutoRecoveryMain</code></a> process, which runs on each bookie in the cluster. All recovery nodes participate in leader election—using ZooKeeper—to decide which node becomes the auditor. Nodes that fail to become the auditor watch the elected auditor and run an election process again if they see that the auditor node has failed.</p>
+
+<h3 id="auditor">Auditor</h3>
+
+<p>The auditor watches all bookies in the cluster that are registered with ZooKeeper. Bookies register with ZooKeeper at startup. If the bookie crashes or is killed, the bookie’s registration in ZooKeeper disappears and the auditor is notified of the change in the list of registered bookies.</p>
+
+<p>When the auditor sees that a bookie has disappeared, it immediately scans the complete <span class="pop" id="ledger-popover">ledger</span> list to find ledgers that have data stored on the failed bookie. Once it has a list of ledgers for that bookie, the auditor will publish a rereplication task for each ledger under the <code class="highlighter-rouge">/underreplicated/</code> <a href="https://zookeeper.apache.org/doc/current/zookeeperOver.html">znode</a> in ZooKeeper.</p>
+
+<h3 id="replication-worker">Replication Worker</h3>
+
+<p>Each replication worker watches for tasks being published by the auditor on the <code class="highlighter-rouge">/underreplicated/</code> znode in ZooKeeper. When a new task appears, the replication worker will try to get a lock on it. If it cannot acquire the lock, it will try the next entry. The locks are implemented using ZooKeeper ephemeral znodes.</p>
+
+<p>The replication worker will scan through the rereplication task’s ledger for fragments of which its local bookie is not a member. When it finds fragments matching this criterion, it will replicate the entries of that fragment to the local bookie. If, after this process, the ledger is fully replicated, the ledgers entry under /underreplicated/ is deleted, and the lock is released. If there is a problem replicating, or there are still fragments in the ledger which are still underreplica [...]
+
+<p>If the replication worker finds a fragment which needs rereplication, but does not have a defined endpoint (i.e. the final fragment of a ledger currently being written to), it will wait for a grace period before attempting rereplication. If the fragment needing rereplication still does not have a defined endpoint, the ledger is fenced and rereplication then takes place.</p>
+
+<p>This avoids the situation in which a client is writing to a ledger and one of the bookies goes down, but the client has not written an entry to that bookie before rereplication takes place. The client could continue writing to the old fragment, even though the ensemble for the fragment had changed. This could lead to data loss. Fencing prevents this scenario from happening. In the normal case, the client will try to write to the failed bookie within the grace period, and will have sta [...]
+
+<p>You can configure this grace period using the <a href="../../reference/config#openLedgerRereplicationGracePeriod"><code class="highlighter-rouge">openLedgerRereplicationGracePeriod</code></a> parameter.</p>
+
+<h3 id="the-rereplication-process">The rereplication process</h3>
+
+<p>The ledger rereplication process happens in these steps:</p>
+
+<ol>
+  <li>The client goes through all ledger fragments in the ledger, selecting those that contain the failed bookie.</li>
+  <li>A recovery process is initiated for each ledger fragment in this list.
+    <ol>
+      <li>The client selects a bookie to which all entries in the ledger fragment will be replicated; In the case of autorecovery, this will always be the local bookie.</li>
+      <li>The client reads entries that belong to the ledger fragment from other bookies in the ensemble and writes them to the selected bookie.</li>
+      <li>Once all entries have been replicated, the zookeeper metadata for the fragment is updated to reflect the new ensemble.</li>
+      <li>The fragment is marked as fully replicated in the recovery tool.</li>
+    </ol>
+  </li>
+  <li>Once all ledger fragments are marked as fully replicated, the ledger is marked as fully replicated.</li>
+</ol>
+
+
+        </section>
+
+        
+      </div>
+    </div>
+
+    <div class="column is-2 is-hidden-mobile">
+      
+      
+<div class="toc">
+  <h2 class="title">Using AutoRecovery</h2>
+  <ul class="section-nav">
+<li class="toc-entry toc-h2"><a href="#manual-recovery">Manual recovery</a></li>
+<li class="toc-entry toc-h3"><a href="#the-manual-recovery-process">The manual recovery process</a></li>
+<li class="toc-entry toc-h2"><a href="#autorecovery">AutoRecovery</a></li>
+<li class="toc-entry toc-h2"><a href="#running-autorecovery">Running AutoRecovery</a></li>
+<li class="toc-entry toc-h2"><a href="#configuration">Configuration</a></li>
+<li class="toc-entry toc-h2"><a href="#disable-autorecovery">Disable AutoRecovery</a></li>
+<li class="toc-entry toc-h2"><a href="#autorecovery-architecture">AutoRecovery architecture</a></li>
+<li class="toc-entry toc-h3"><a href="#auditor">Auditor</a></li>
+<li class="toc-entry toc-h3"><a href="#replication-worker">Replication Worker</a></li>
+<li class="toc-entry toc-h3"><a href="#the-rereplication-process">The rereplication process</a></li>
+</ul>
+</div>
+
+
+      
+    </div>
+  </div>
+</div>
+
+
+
+<div id="entry-popover-html" class="popover-template">
+  <p>An entry is a sequence of bytes (plus some metadata) written to a BookKeeper ledger. Entries are also known as records.</p>
+
+</div>
+
+<div id="ledger-popover-html" class="popover-template">
+  <p>A ledger is a sequence of entries written to BookKeeper. Entries are written sequentially to ledgers and at most once, giving ledgers append-only semantics.</p>
+
+</div>
+
+<div id="bookie-popover-html" class="popover-template">
+  <p>A bookie is an individual BookKeeper storage server.</p>
+
+<p>Bookies store the content of ledgers and act as a distributed ensemble.</p>
+
+</div>
+
+<div id="rereplication-popover-html" class="popover-template">
+  <p>A subsystem that runs in the background on bookies to ensure that ledgers are fully replicated even if one bookie from the ensemble is down.</p>
+
+</div>
+
+<div id="striping-popover-html" class="popover-template">
+  <p>Striping is the process of distributing BookKeeper ledgers to sub-groups of bookies rather than to all bookies in a BookKeeper ensemble.</p>
+
+<p>Striping is essential to ensuring fast performance.</p>
+
+</div>
+
+<div id="journal-popover-html" class="popover-template">
+  <p>A journal file stores BookKeeper transaction logs.</p>
+
+</div>
+
+<div id="fencing-popover-html" class="popover-template">
+  <p>When a reader forces a ledger to close, preventing any further entries from being written to the ledger.</p>
+
+</div>
+
+<div id="record-popover-html" class="popover-template">
+  <p>A record is a sequence of bytes (plus some metadata) written to a BookKeeper ledger. Records are also known as entries.</p>
+
+</div>
+
+
+<script type="text/javascript">
+
+tippy('#entry-popover', {
+  html: '#entry-popover-html',
+  arrow: true,
+  animation: 'fade'
+});
+
+tippy('#ledger-popover', {
+  html: '#ledger-popover-html',
+  arrow: true,
+  animation: 'fade'
+});
+
+tippy('#bookie-popover', {
+  html: '#bookie-popover-html',
+  arrow: true,
+  animation: 'fade'
+});
+
+tippy('#rereplication-popover', {
+  html: '#rereplication-popover-html',
+  arrow: true,
+  animation: 'fade'
+});
+
+tippy('#striping-popover', {
+  html: '#striping-popover-html',
+  arrow: true,
+  animation: 'fade'
+});
+
+tippy('#journal-popover', {
+  html: '#journal-popover-html',
+  arrow: true,
+  animation: 'fade'
+});
+
+tippy('#fencing-popover', {
+  html: '#fencing-popover-html',
+  arrow: true,
+  animation: 'fade'
+});
+
+tippy('#record-popover', {
+  html: '#record-popover-html',
+  arrow: true,
+  animation: 'fade'
+});
+
+</script>
+
+    </main>
+
+    <footer class="footer">
+  <div class="container">
+    <div class="content has-text-centered">
+      <p>
+        Copyright &copy; 2016 - 2018 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br /> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+      </p>
+    </div>
+  </div>
+</footer>
+
+  </body>
+
+  <script src="/js/app.js"></script>
+
+  
+  <!--
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+      http://www.apache.org/licenses/LICENSE-2.0
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+-->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-104419626-1', 'auto');
+  ga('send', 'pageview');
+
+</script>
+
+  
+</html>
diff --git a/content/docs/4.6.2/admin/bookies/index.html b/content/docs/4.6.2/admin/bookies/index.html
new file mode 100644
index 0000000..4112935
--- /dev/null
+++ b/content/docs/4.6.2/admin/bookies/index.html
@@ -0,0 +1,851 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <title>Apache BookKeeper&trade; - BookKeeper administration</title>
+
+<meta charset="utf-8">
+<meta http-equiv="X-UA-Compatible" content="IE=edge">
+<meta name="viewport" content="width=device-width, initial-scale=1">
+
+<link rel="stylesheet" href="/css/normalize.css">
+<link rel="stylesheet" href="/css/tippy.css">
+<link rel="stylesheet" href="/css/style.css">
+
+<link rel="shortcut icon" href="/img/favicon.ico">
+
+<script src="/js/tippy.min.js"></script>
+
+<script type="text/javascript">
+  var shiftWindow = function() { scrollBy(0, -25); };
+  window.addEventListener("hashchange", shiftWindow);
+  window.addEventListener("pageshow", shiftWindow);
+  function load() { if (window.location.hash) shiftWindow(); }
+</script>
+  </head>
+  <body class="body">
+    <main class="main">
+      
+<nav class="navbar bk-topnav">
+  <div class="navbar-brand">
+    <a class="navbar-item bk-brand" href="/">
+      Apache BookKeeper&trade;
+    </a>
+
+    <div class="navbar-burger burger" data-target="bkNav">
+      <span></span>
+      <span></span>
+      <span></span>
+    </div>
+  </div>
+
+  <div id="bkNav" class="navbar-menu">
+    <div class="navbar-start">
+      <div class="navbar-item has-dropdown is-hoverable">
+        <a class="navbar-link">Documentation</a>
+        <div class="navbar-dropdown is-boxed">
+          <a class="navbar-item" href="/docs/latest/overview/overview">
+            Version 4.7.0-SNAPSHOT
+            <span class="tag is-warning">Development</span>
+          </a>
+          <a class="navbar-item" href="/docs/latest/api/javadoc">
+            <span class="icon bk-javadoc-icon">
+              <img src="/img/java-icon.svg">
+            </span>
+            Javadoc
+          </a>
+          <hr class="dropdown-divider">
+          
+          <a class="navbar-item" href="/docs/4.6.1/overview/overview">
+            Release 4.6.1
+            
+          </a>
+          
+          <a class="navbar-item" href="/docs/4.6.0/overview/overview">
+            Release 4.6.0
+            
+          </a>
+          
+          <a class="navbar-item" href="/docs/4.5.1/overview/overview">
+            Release 4.5.1
+            
+          </a>
+          
+          <a class="navbar-item" href="/docs/4.5.0/overview/overview">
+            Release 4.5.0
+            <span class="tag is-success">Stable</span>
+          </a>
+          
+          
+          <a class="navbar-item" href="/archives/docs/r4.4.0">
+            Release 4.4.0
+            
+          </a>
+          
+          <a class="navbar-item" href="/archives/docs/r4.3.2">
+            Release 4.3.2
+            
+          </a>
+          
+          <a class="navbar-item" href="/archives/docs/r4.3.1">
+            Release 4.3.1
+            
+          </a>
+          
+          <a class="navbar-item" href="/archives/docs/r4.3.0">
+            Release 4.3.0
+            
+          </a>
+          
+          <a class="navbar-item" href="/archives/docs/r4.2.4">
+            Release 4.2.4
+            
+          </a>
+          
+          <a class="navbar-item" href="/archives/docs/r4.2.3">
+            Release 4.2.3
+            
+          </a>
+          
+          <a class="navbar-item" href="/archives/docs/r4.2.2">
+            Release 4.2.2
+            
+          </a>
+          
+          <a class="navbar-item" href="/archives/docs/r4.2.1">
+            Release 4.2.1
+            
+          </a>
+          
+          <a class="navbar-item" href="/archives/docs/r4.2.0">
+            Release 4.2.0
+            
+          </a>
+          
+          <a class="navbar-item" href="/archives/docs/r4.1.0">
+            Release 4.1.0
+            
+          </a>
+          
+          <a class="navbar-item" href="/archives/docs/r4.0.0">
+            Release 4.0.0
+            
+          </a>
+          
+        </div>
+      </div>
+
+      <div class="navbar-item has-dropdown is-hoverable">
+        <a class="navbar-link">Community</a>
+        <div class="navbar-dropdown is-boxed">
+          <a class="navbar-item" href="/community/mailing-lists">Mailing lists</a>
+          <a class="navbar-item" href="/community/slack">Slack</a>
+          <a class="navbar-item" href="https://github.com/apache/bookkeeper/issues">Github Issues</a>
+          <a class="navbar-item" href="/community/releases">Release Management</a>
+          <a class="navbar-item" href="/community/meeting">Community Meetings</a>
+          <hr class="dropdown-divider">
+          <a class="navbar-item" href="/community/contributing">Contribution Guide</a>
+          <a class="navbar-item" href="/community/coding_guide">Coding Guide</a>
+          <a class="navbar-item" href="/community/testing">Testing Guide</a>
+          <a class="navbar-item" href="/community/issue-report">Issue Report Guide</a>
+          <a class="navbar-item" href="/community/release_guide">Release Guide</a>
+          <hr class="dropdown-divider">
+          <a class="navbar-item" href="/community/presentations">Presentations</a>
+          <a class="navbar-item" href="/community/bookkeeper_proposals">BookKeeper Proposals</a>
+        </div>
+      </div>
+
+      <div class="navbar-item has-dropdown is-hoverable">
+        <a class="navbar-link">Project</a>
+        <div class="navbar-dropdown is-boxed">
+          <a class="navbar-item" href="/project/who">Who are we?</a>
+          <a class="navbar-item" href="/project/bylaws">Bylaws</a>
+          <a class="navbar-item" href="http://www.apache.org/licenses/">License</a>
+          <hr class="dropdown-divider">
+          <a class="navbar-item" href="/project/privacy">Privacy policy</a>
+          <a class="navbar-item" href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a>
+          <a class="navbar-item" href="http://www.apache.org/foundation/thanks.html">Thanks</a>
+        </div>
+      </div>
+    </div>
+
+    <div class="navbar-end">
+      <div class="navbar-item">
+        <div class="field is-grouped">
+          <p class="control">
+            <a class="button bk-twitter" href="https://twitter.com/asfbookkeeper">
+              <span class="icon">
+                <i class="fa fa-twitter"></i>
+              </span>
+              <span>Twitter</span>
+            </a>
+          </p>
+          <p class="control">
+            <a class="button" href="https://github.com/apache/bookkeeper">
+              <span class="icon">
+                <i class="fa fa-github"></i>
+              </span>
+              <span>GitHub</span>
+            </a>
+          </p>
+          <p class="control">
+            <a class="button is-primary" href="/releases">
+              <span class="icon">
+                <i class="fa fa-download"></i>
+              </span>
+              <span>Download</span>
+            </a>
+          </p>
+        </div>
+      </div>
+    </div>
+  </div>
+</nav>
+
+
+      <div class="bk-docs-container">
+  <div class="columns is-gapless">
+    <div class="column is-2 is-hidden-mobile">
+      <div class="container">
+        
+<aside class="sidebar">
+  
+  <a class="button is-info">
+    Version: 4.6.2
+  </a>
+  <hr />
+  
+  <p>
+    Getting started
+  </p>
+  <ul class="sidebar-items">
+    
+    
+    <li>
+      <a href="../../getting-started/installation">
+      Installation
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../getting-started/run-locally">
+      Run bookies locally
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../getting-started/concepts">
+      Concepts and architecture
+      </a>
+    </li>
+    
+  </ul>
+  
+  <p>
+    Deployment
+  </p>
+  <ul class="sidebar-items">
+    
+    
+    <li>
+      <a href="../../deployment/manual">
+      Manual deployment
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../deployment/dcos">
+      BookKeeper on DC/OS
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../deployment/kubernetes">
+      BookKeeper on Kubernetes
+      </a>
+    </li>
+    
+  </ul>
+  
+  <p>
+    Administration
+  </p>
+  <ul class="sidebar-items">
+    
+    
+    <li>
+      <a href="../../admin/bookies">
+      BookKeeper administration
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../admin/autorecovery">
+      AutoRecovery
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../admin/metrics">
+      Metric collection
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../admin/upgrade">
+      Upgrade
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../admin/http">
+      BookKeeper Admin REST API
+      </a>
+    </li>
+    
+  </ul>
+  
+  <p>
+    API
+  </p>
+  <ul class="sidebar-items">
+    
+    
+    <li>
+      <a href="../../api/overview">
+      Overview
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../api/ledger-api">
+      Ledger API
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../api/ledger-adv-api">
+      Advanced Ledger API
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../api/distributedlog-api">
+      DistributedLog
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../api/javadoc">
+      Java API Docs
+      </a>
+    </li>
+    
+  </ul>
+  
+  <p>
+    Security
+  </p>
+  <ul class="sidebar-items">
+    
+    
+    <li>
+      <a href="../../security/overview">
+      Overview
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../security/tls">
+      TLS Authentication
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../security/sasl">
+      SASL Authentication
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../security/zookeeper">
+      ZooKeeper Authentication
+      </a>
+    </li>
+    
+  </ul>
+  
+  <p>
+    Development
+  </p>
+  <ul class="sidebar-items">
+    
+    
+    <li>
+      <a href="../../development/protocol">
+      BookKeeper protocol
+      </a>
+    </li>
+    
+  </ul>
+  
+  <p>
+    Reference
+  </p>
+  <ul class="sidebar-items">
+    
+    
+    <li>
+      <a href="../../reference/config">
+      Configuration
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../reference/cli">
+      Command-line tools
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../reference/metrics">
+      Metrics
+      </a>
+    </li>
+    
+  </ul>
+  
+</aside>
+
+
+      </div>
+    </div>
+
+    <div class="column is-8 bk-docs-block">
+      <header class="docs-title">
+        <nav class="level bk-level">
+          <div class="level-left">
+            <div class="level-item">
+              <h1 class="title">BookKeeper administration</h1>
+            </div>
+          </div>
+          
+        </nav>
+
+        <h2 class="subtitle">A guide to deploying and administering BookKeeper</h2>
+      </header>
+
+      <hr />
+
+      <div class="content">
+        <section class="bk-main-content">
+          <p>This document is a guide to deploying, administering, and maintaining BookKeeper. It also discusses <a href="#best-practices">best practices</a> and <a href="#common-problems">common problems</a>.</p>
+
+<h2 id="requirements">Requirements</h2>
+
+<p>A typical BookKeeper installation consists of an ensemble of <span class="pop" id="bookie-popover">bookies</span> and a ZooKeeper quorum. The exact number of bookies depends on the quorum mode that you choose, desired throughput, and the number of clients using the installation simultaneously.</p>
+
+<p>The minimum number of bookies depends on the type of installation:</p>
+
+<ul>
+  <li>For <em>self-verifying</em> entries you should run at least three bookies. In this mode, clients store a message authentication code along with each <span class="pop" id="entry-popover">entry</span>.</li>
+  <li>For <em>generic</em> entries you should run at least four</li>
+</ul>
+
+<p>There is no upper limit on the number of bookies that you can run in a single ensemble.</p>
+
+<h3 id="performance">Performance</h3>
+
+<p>To achieve optimal performance, BookKeeper requires each server to have at least two disks. It’s possible to run a bookie with a single disk but performance will be significantly degraded.</p>
+
+<h3 id="zookeeper">ZooKeeper</h3>
+
+<p>There is no constraint on the number of ZooKeeper nodes you can run with BookKeeper. A single machine running ZooKeeper in <a href="https://zookeeper.apache.org/doc/current/zookeeperStarted.html#sc_InstallingSingleMode">standalone mode</a> is sufficient for BookKeeper, although for the sake of higher resilience we recommend running ZooKeeper in <a href="https://zookeeper.apache.org/doc/current/zookeeperStarted.html#sc_RunningReplicatedZooKeeper">quorum mode</a> with multiple servers.</p>
+
+<h2 id="starting-and-stopping-bookies">Starting and stopping bookies</h2>
+
+<p>You can run bookies either in the foreground or in the background, using <a href="https://en.wikipedia.org/wiki/Nohup">nohup</a>. You can also run <a href="#local-bookie">local bookies</a> for development purposes.</p>
+
+<p>To start a bookie in the foreground, use the <a href="../../reference/cli#bookkeeper-bookie"><code class="highlighter-rouge">bookie</code></a> command of the <a href="../../reference/cli#bookkeeper"><code class="highlighter-rouge">bookkeeper</code></a> CLI tool:</p>
+
+<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nv">$ </span>bookkeeper-server/bin/bookkeeper bookie
+</code></pre></div></div>
+
+<p>To start a bookie in the background, use the <a href="../../reference/cli#bookkeeper-daemon.sh"><code class="highlighter-rouge">bookkeeper-daemon.sh</code></a> script and run <code class="highlighter-rouge">start bookie</code>:</p>
+
+<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nv">$ </span>bookkeeper-server/bin/bookkeeper-daemon.sh start bookie
+</code></pre></div></div>
+
+<h3 id="local-bookies">Local bookies</h3>
+
+<p>The instructions above showed you how to run bookies intended for production use. If you’d like to experiment with ensembles of bookies locally, you can use the <a href="../../reference/cli#bookkeeper-localbookie"><code class="highlighter-rouge">localbookie</code></a> command of the <code class="highlighter-rouge">bookkeeper</code> CLI tool and specify the number of bookies you’d like to run.</p>
+
+<p>This would spin up a local ensemble of 6 bookies:</p>
+
+<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nv">$ </span>bookkeeper-server/bin/bookkeeper localbookie 6
+</code></pre></div></div>
+
+<blockquote>
+  <p>When you run a local bookie ensemble, all bookies run in a single JVM process.</p>
+</blockquote>
+
+<h2 id="configuring-bookies">Configuring bookies</h2>
+
+<p>There’s a wide variety of parameters that you can set in the bookie configuration file in <code class="highlighter-rouge">bookkeeper-server/conf/bk_server.conf</code> of your <a href="../../reference/config">BookKeeper installation</a>. A full listing can be found in <a href="../../reference/config">Bookie configuration</a>.</p>
+
+<p>Some of the more important parameters to be aware of:</p>
+
+<table>
+  <thead>
+    <tr>
+      <th style="text-align: left">Parameter</th>
+      <th style="text-align: left">Description</th>
+      <th style="text-align: left">Default</th>
+    </tr>
+  </thead>
+  <tbody>
+    <tr>
+      <td style="text-align: left"><code class="highlighter-rouge">bookiePort</code></td>
+      <td style="text-align: left">The TCP port that the bookie listens on</td>
+      <td style="text-align: left"><code class="highlighter-rouge">3181</code></td>
+    </tr>
+    <tr>
+      <td style="text-align: left"><code class="highlighter-rouge">zkServers</code></td>
+      <td style="text-align: left">A comma-separated list of ZooKeeper servers in <code class="highlighter-rouge">hostname:port</code> format</td>
+      <td style="text-align: left"><code class="highlighter-rouge">localhost:2181</code></td>
+    </tr>
+    <tr>
+      <td style="text-align: left"><code class="highlighter-rouge">journalDirectory</code></td>
+      <td style="text-align: left">The directory where the <a href="../../getting-started/concepts#log-device">log device</a> stores the bookie’s write-ahead log (WAL)</td>
+      <td style="text-align: left"><code class="highlighter-rouge">/tmp/bk-txn</code></td>
+    </tr>
+    <tr>
+      <td style="text-align: left"><code class="highlighter-rouge">ledgerDirectories</code></td>
+      <td style="text-align: left">The directories where the <a href="../../getting-started/concepts#ledger-device">ledger device</a> stores the bookie’s ledger entries (as a comma-separated list)</td>
+      <td style="text-align: left"><code class="highlighter-rouge">/tmp/bk-data</code></td>
+    </tr>
+  </tbody>
+</table>
+
+<blockquote>
+  <p>Ideally, the directories specified <code class="highlighter-rouge">journalDirectory</code> and <code class="highlighter-rouge">ledgerDirectories</code> should be on difference devices.</p>
+</blockquote>
+
+<h2 id="logging">Logging</h2>
+
+<p>BookKeeper uses <a href="http://www.slf4j.org/">slf4j</a> for logging, with <a href="https://logging.apache.org/log4j/2.x/">log4j</a> bindings enabled by default.</p>
+
+<p>To enable logging for a bookie, create a <code class="highlighter-rouge">log4j.properties</code> file and point the <code class="highlighter-rouge">BOOKIE_LOG_CONF</code> environment variable to the configuration file. Here’s an example:</p>
+
+<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nv">$ </span><span class="nb">export </span><span class="nv">BOOKIE_LOG_CONF</span><span class="o">=</span>/some/path/log4j.properties
+<span class="nv">$ </span>bookkeeper-server/bin/bookkeeper bookie
+</code></pre></div></div>
+
+<h2 id="upgrading">Upgrading</h2>
+
+<p>From time to time you may need to make changes to the filesystem layout of bookies—changes that are incompatible with previous versions of BookKeeper and require that directories used with previous versions are upgraded. If a filesystem upgrade is required when updating BookKeeper, the bookie will fail to start and return an error like this:</p>
+
+<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>2017-05-25 10:41:50,494 - ERROR - [main:Bookie@246] - Directory layout version is less than 3, upgrade needed
+</code></pre></div></div>
+
+<p>BookKeeper provides a utility for upgrading the filesystem. You can perform an upgrade using the <a href="../../reference/cli#bookkeeper-upgrade"><code class="highlighter-rouge">upgrade</code></a> command of the <code class="highlighter-rouge">bookkeeper</code> CLI tool. When running <code class="highlighter-rouge">bookkeeper upgrade</code> you need to specify one of three flags:</p>
+
+<table>
+  <thead>
+    <tr>
+      <th style="text-align: left">Flag</th>
+      <th style="text-align: left">Action</th>
+    </tr>
+  </thead>
+  <tbody>
+    <tr>
+      <td style="text-align: left"><code class="highlighter-rouge">--upgrade</code></td>
+      <td style="text-align: left">Performs an upgrade</td>
+    </tr>
+    <tr>
+      <td style="text-align: left"><code class="highlighter-rouge">--rollback</code></td>
+      <td style="text-align: left">Performs a rollback to the initial filesystem version</td>
+    </tr>
+    <tr>
+      <td style="text-align: left"><code class="highlighter-rouge">--finalize</code></td>
+      <td style="text-align: left">Marks the upgrade as complete</td>
+    </tr>
+  </tbody>
+</table>
+
+<h3 id="upgrade-pattern">Upgrade pattern</h3>
+
+<p>A standard upgrade pattern is to run an upgrade…</p>
+
+<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nv">$ </span>bookkeeper-server/bin/bookkeeper upgrade <span class="nt">--upgrade</span>
+</code></pre></div></div>
+
+<p>…then check that everything is working normally, then kill the bookie. If everything is okay, finalize the upgrade…</p>
+
+<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nv">$ </span>bookkeeper-server/bin/bookkeeper upgrade <span class="nt">--finalize</span>
+</code></pre></div></div>
+
+<p>…and then restart the server:</p>
+
+<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nv">$ </span>bookkeeper-server/bin/bookkeeper bookie
+</code></pre></div></div>
+
+<p>If something has gone wrong, you can always perform a rollback:</p>
+
+<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nv">$ </span>bookkeeper-server/bin/bookkeeper upgrade <span class="nt">--rollback</span>
+</code></pre></div></div>
+
+<h2 id="formatting">Formatting</h2>
+
+<p>You can format bookie metadata in ZooKeeper using the <a href="../../reference/cli#bookkeeper-shell-metaformat"><code class="highlighter-rouge">metaformat</code></a> command of the <a href="../../reference/cli#the-bookkeeper-shell">BookKeeper shell</a>.</p>
+
+<p>By default, formatting is done in interactive mode, which prompts you to confirm the format operation if old data exists. You can disable confirmation using the <code class="highlighter-rouge">-nonInteractive</code> flag. If old data does exist, the format operation will abort <em>unless</em> you set the <code class="highlighter-rouge">-force</code> flag. Here’s an example:</p>
+
+<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nv">$ </span>bookkeeper-server/bin/bookkeeper shell metaformat
+</code></pre></div></div>
+
+<p>You can format the local filesystem data on a bookie using the <a href="../../reference/cli#bookkeeper-shell-bookieformat"><code class="highlighter-rouge">bookieformat</code></a> command on each bookie. Here’s an example:</p>
+
+<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nv">$ </span>bookkeeper-server/bin/bookkeeper shell bookieformat
+</code></pre></div></div>
+
+<blockquote>
+  <p>The <code class="highlighter-rouge">-force</code> and <code class="highlighter-rouge">-nonInteractive</code> flags are also available for the <code class="highlighter-rouge">bookieformat</code> command.</p>
+</blockquote>
+
+<h2 id="autorecovery">AutoRecovery</h2>
+
+<p>For a guide to AutoRecovery in BookKeeper, see <a href="../autorecovery">this doc</a>.</p>
+
+<h2 id="missing-disks-or-directories">Missing disks or directories</h2>
+
+<p>Accidentally replacing disks or removing directories can cause a bookie to fail while trying to read a ledger fragment that, according to the ledger metadata, exists on the bookie. For this reason, when a bookie is started for the first time, its disk configuration is fixed for the lifetime of that bookie. Any change to its disk configuration, such as a crashed disk or an accidental configuration change, will result in the bookie being unable to start. That will throw an error like this:</p>
+
+<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>2017-05-29 18:19:13,790 - ERROR - [main:BookieServer314] – Exception running bookie server : @
+org.apache.bookkeeper.bookie.BookieException$InvalidCookieException
+.......at org.apache.bookkeeper.bookie.Cookie.verify(Cookie.java:82)
+.......at org.apache.bookkeeper.bookie.Bookie.checkEnvironment(Bookie.java:275)
+.......at org.apache.bookkeeper.bookie.Bookie.&lt;init&gt;(Bookie.java:351)
+</code></pre></div></div>
+
+<p>If the change was the result of an accidental configuration change, the change can be reverted and the bookie can be restarted. However, if the change <em>cannot</em> be reverted, such as is the case when you want to add a new disk or replace a disk, the bookie must be wiped and then all its data re-replicated onto it.</p>
+
+<ol>
+  <li>Increment the <a href="../../reference/config#bookiePort"><code class="highlighter-rouge">bookiePort</code></a> parameter in the <a href="../../reference/config"><code class="highlighter-rouge">bk_server.conf</code></a></li>
+  <li>Ensure that all directories specified by <a href="../../reference/config#journalDirectory"><code class="highlighter-rouge">journalDirectory</code></a> and <a href="../../reference/config#ledgerDirectories"><code class="highlighter-rouge">ledgerDirectories</code></a> are empty.</li>
+  <li><a href="#starting-and-stopping-bookies">Start the bookie</a>.</li>
+  <li>
+    <p>Run the following command to re-replicate the data:</p>
+
+    <div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nv">$ </span>bookkeeper-server/bin/bookkeeper shell recover <span class="se">\</span>
+  &lt;zkserver&gt; <span class="se">\</span>
+  &lt;oldbookie&gt; <span class="se">\</span>
+  &lt;newbookie&gt;
+</code></pre></div>    </div>
+
+    <p>The ZooKeeper server, old bookie, and new bookie, are all identified by their external IP and <code class="highlighter-rouge">bookiePort</code> (3181 by default). Here’s an example:</p>
+
+    <div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nv">$ </span>bookkeeper-server/bin/bookkeeper shell recover <span class="se">\</span>
+  zk1.example.com <span class="se">\</span>
+  192.168.1.10:3181 <span class="se">\</span>
+  192.168.1.10:3181
+</code></pre></div>    </div>
+
+    <p>See the <a href="../autorecovery">AutoRecovery</a> documentation for more info on the re-replication process.</p>
+  </li>
+</ol>
+
+        </section>
+
+        
+      </div>
+    </div>
+
+    <div class="column is-2 is-hidden-mobile">
+      
+      
+<div class="toc">
+  <h2 class="title">BookKeeper administration</h2>
+  <ul class="section-nav">
+<li class="toc-entry toc-h2"><a href="#requirements">Requirements</a></li>
+<li class="toc-entry toc-h3"><a href="#performance">Performance</a></li>
+<li class="toc-entry toc-h3"><a href="#zookeeper">ZooKeeper</a></li>
+<li class="toc-entry toc-h2"><a href="#starting-and-stopping-bookies">Starting and stopping bookies</a></li>
+<li class="toc-entry toc-h3"><a href="#local-bookies">Local bookies</a></li>
+<li class="toc-entry toc-h2"><a href="#configuring-bookies">Configuring bookies</a></li>
+<li class="toc-entry toc-h2"><a href="#logging">Logging</a></li>
+<li class="toc-entry toc-h2"><a href="#upgrading">Upgrading</a></li>
+<li class="toc-entry toc-h3"><a href="#upgrade-pattern">Upgrade pattern</a></li>
+<li class="toc-entry toc-h2"><a href="#formatting">Formatting</a></li>
+<li class="toc-entry toc-h2"><a href="#autorecovery">AutoRecovery</a></li>
+<li class="toc-entry toc-h2"><a href="#missing-disks-or-directories">Missing disks or directories</a></li>
+</ul>
+</div>
+
+
+      
+    </div>
+  </div>
+</div>
+
+
+
+<div id="entry-popover-html" class="popover-template">
+  <p>An entry is a sequence of bytes (plus some metadata) written to a BookKeeper ledger. Entries are also known as records.</p>
+
+</div>
+
+<div id="ledger-popover-html" class="popover-template">
+  <p>A ledger is a sequence of entries written to BookKeeper. Entries are written sequentially to ledgers and at most once, giving ledgers append-only semantics.</p>
+
+</div>
+
+<div id="bookie-popover-html" class="popover-template">
+  <p>A bookie is an individual BookKeeper storage server.</p>
+
+<p>Bookies store the content of ledgers and act as a distributed ensemble.</p>
+
+</div>
+
+<div id="rereplication-popover-html" class="popover-template">
+  <p>A subsystem that runs in the background on bookies to ensure that ledgers are fully replicated even if one bookie from the ensemble is down.</p>
+
+</div>
+
+<div id="striping-popover-html" class="popover-template">
+  <p>Striping is the process of distributing BookKeeper ledgers to sub-groups of bookies rather than to all bookies in a BookKeeper ensemble.</p>
+
+<p>Striping is essential to ensuring fast performance.</p>
+
+</div>
+
+<div id="journal-popover-html" class="popover-template">
+  <p>A journal file stores BookKeeper transaction logs.</p>
+
+</div>
+
+<div id="fencing-popover-html" class="popover-template">
+  <p>When a reader forces a ledger to close, preventing any further entries from being written to the ledger.</p>
+
+</div>
+
+<div id="record-popover-html" class="popover-template">
+  <p>A record is a sequence of bytes (plus some metadata) written to a BookKeeper ledger. Records are also known as entries.</p>
+
+</div>
+
+
+<script type="text/javascript">
+
+tippy('#entry-popover', {
+  html: '#entry-popover-html',
+  arrow: true,
+  animation: 'fade'
+});
+
+tippy('#ledger-popover', {
+  html: '#ledger-popover-html',
+  arrow: true,
+  animation: 'fade'
+});
+
+tippy('#bookie-popover', {
+  html: '#bookie-popover-html',
+  arrow: true,
+  animation: 'fade'
+});
+
+tippy('#rereplication-popover', {
+  html: '#rereplication-popover-html',
+  arrow: true,
+  animation: 'fade'
+});
+
+tippy('#striping-popover', {
+  html: '#striping-popover-html',
+  arrow: true,
+  animation: 'fade'
+});
+
+tippy('#journal-popover', {
+  html: '#journal-popover-html',
+  arrow: true,
+  animation: 'fade'
+});
+
+tippy('#fencing-popover', {
+  html: '#fencing-popover-html',
+  arrow: true,
+  animation: 'fade'
+});
+
+tippy('#record-popover', {
+  html: '#record-popover-html',
+  arrow: true,
+  animation: 'fade'
+});
+
+</script>
+
+    </main>
+
+    <footer class="footer">
+  <div class="container">
+    <div class="content has-text-centered">
+      <p>
+        Copyright &copy; 2016 - 2018 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br /> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+      </p>
+    </div>
+  </div>
+</footer>
+
+  </body>
+
+  <script src="/js/app.js"></script>
+
+  
+  <!--
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+      http://www.apache.org/licenses/LICENSE-2.0
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+-->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-104419626-1', 'auto');
+  ga('send', 'pageview');
+
+</script>
+
+  
+</html>
diff --git a/content/docs/4.6.2/admin/geo-replication/index.html b/content/docs/4.6.2/admin/geo-replication/index.html
new file mode 100644
index 0000000..a3affdd
--- /dev/null
+++ b/content/docs/4.6.2/admin/geo-replication/index.html
@@ -0,0 +1,647 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <title>Apache BookKeeper&trade; - Geo-replication</title>
+
+<meta charset="utf-8">
+<meta http-equiv="X-UA-Compatible" content="IE=edge">
+<meta name="viewport" content="width=device-width, initial-scale=1">
+
+<link rel="stylesheet" href="/css/normalize.css">
+<link rel="stylesheet" href="/css/tippy.css">
+<link rel="stylesheet" href="/css/style.css">
+
+<link rel="shortcut icon" href="/img/favicon.ico">
+
+<script src="/js/tippy.min.js"></script>
+
+<script type="text/javascript">
+  var shiftWindow = function() { scrollBy(0, -25); };
+  window.addEventListener("hashchange", shiftWindow);
+  window.addEventListener("pageshow", shiftWindow);
+  function load() { if (window.location.hash) shiftWindow(); }
+</script>
+  </head>
+  <body class="body">
+    <main class="main">
+      
+<nav class="navbar bk-topnav">
+  <div class="navbar-brand">
+    <a class="navbar-item bk-brand" href="/">
+      Apache BookKeeper&trade;
+    </a>
+
+    <div class="navbar-burger burger" data-target="bkNav">
+      <span></span>
+      <span></span>
+      <span></span>
+    </div>
+  </div>
+
+  <div id="bkNav" class="navbar-menu">
+    <div class="navbar-start">
+      <div class="navbar-item has-dropdown is-hoverable">
+        <a class="navbar-link">Documentation</a>
+        <div class="navbar-dropdown is-boxed">
+          <a class="navbar-item" href="/docs/latest/overview/overview">
+            Version 4.7.0-SNAPSHOT
+            <span class="tag is-warning">Development</span>
+          </a>
+          <a class="navbar-item" href="/docs/latest/api/javadoc">
+            <span class="icon bk-javadoc-icon">
+              <img src="/img/java-icon.svg">
+            </span>
+            Javadoc
+          </a>
+          <hr class="dropdown-divider">
+          
+          <a class="navbar-item" href="/docs/4.6.1/overview/overview">
+            Release 4.6.1
+            
+          </a>
+          
+          <a class="navbar-item" href="/docs/4.6.0/overview/overview">
+            Release 4.6.0
+            
+          </a>
+          
+          <a class="navbar-item" href="/docs/4.5.1/overview/overview">
+            Release 4.5.1
+            
+          </a>
+          
+          <a class="navbar-item" href="/docs/4.5.0/overview/overview">
+            Release 4.5.0
+            <span class="tag is-success">Stable</span>
+          </a>
+          
+          
+          <a class="navbar-item" href="/archives/docs/r4.4.0">
+            Release 4.4.0
+            
+          </a>
+          
+          <a class="navbar-item" href="/archives/docs/r4.3.2">
+            Release 4.3.2
+            
+          </a>
+          
+          <a class="navbar-item" href="/archives/docs/r4.3.1">
+            Release 4.3.1
+            
+          </a>
+          
+          <a class="navbar-item" href="/archives/docs/r4.3.0">
+            Release 4.3.0
+            
+          </a>
+          
+          <a class="navbar-item" href="/archives/docs/r4.2.4">
+            Release 4.2.4
+            
+          </a>
+          
+          <a class="navbar-item" href="/archives/docs/r4.2.3">
+            Release 4.2.3
+            
+          </a>
+          
+          <a class="navbar-item" href="/archives/docs/r4.2.2">
+            Release 4.2.2
+            
+          </a>
+          
+          <a class="navbar-item" href="/archives/docs/r4.2.1">
+            Release 4.2.1
+            
+          </a>
+          
+          <a class="navbar-item" href="/archives/docs/r4.2.0">
+            Release 4.2.0
+            
+          </a>
+          
+          <a class="navbar-item" href="/archives/docs/r4.1.0">
+            Release 4.1.0
+            
+          </a>
+          
+          <a class="navbar-item" href="/archives/docs/r4.0.0">
+            Release 4.0.0
+            
+          </a>
+          
+        </div>
+      </div>
+
+      <div class="navbar-item has-dropdown is-hoverable">
+        <a class="navbar-link">Community</a>
+        <div class="navbar-dropdown is-boxed">
+          <a class="navbar-item" href="/community/mailing-lists">Mailing lists</a>
+          <a class="navbar-item" href="/community/slack">Slack</a>
+          <a class="navbar-item" href="https://github.com/apache/bookkeeper/issues">Github Issues</a>
+          <a class="navbar-item" href="/community/releases">Release Management</a>
+          <a class="navbar-item" href="/community/meeting">Community Meetings</a>
+          <hr class="dropdown-divider">
+          <a class="navbar-item" href="/community/contributing">Contribution Guide</a>
+          <a class="navbar-item" href="/community/coding_guide">Coding Guide</a>
+          <a class="navbar-item" href="/community/testing">Testing Guide</a>
+          <a class="navbar-item" href="/community/issue-report">Issue Report Guide</a>
+          <a class="navbar-item" href="/community/release_guide">Release Guide</a>
+          <hr class="dropdown-divider">
+          <a class="navbar-item" href="/community/presentations">Presentations</a>
+          <a class="navbar-item" href="/community/bookkeeper_proposals">BookKeeper Proposals</a>
+        </div>
+      </div>
+
+      <div class="navbar-item has-dropdown is-hoverable">
+        <a class="navbar-link">Project</a>
+        <div class="navbar-dropdown is-boxed">
+          <a class="navbar-item" href="/project/who">Who are we?</a>
+          <a class="navbar-item" href="/project/bylaws">Bylaws</a>
+          <a class="navbar-item" href="http://www.apache.org/licenses/">License</a>
+          <hr class="dropdown-divider">
+          <a class="navbar-item" href="/project/privacy">Privacy policy</a>
+          <a class="navbar-item" href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a>
+          <a class="navbar-item" href="http://www.apache.org/foundation/thanks.html">Thanks</a>
+        </div>
+      </div>
+    </div>
+
+    <div class="navbar-end">
+      <div class="navbar-item">
+        <div class="field is-grouped">
+          <p class="control">
+            <a class="button bk-twitter" href="https://twitter.com/asfbookkeeper">
+              <span class="icon">
+                <i class="fa fa-twitter"></i>
+              </span>
+              <span>Twitter</span>
+            </a>
+          </p>
+          <p class="control">
+            <a class="button" href="https://github.com/apache/bookkeeper">
+              <span class="icon">
+                <i class="fa fa-github"></i>
+              </span>
+              <span>GitHub</span>
+            </a>
+          </p>
+          <p class="control">
+            <a class="button is-primary" href="/releases">
+              <span class="icon">
+                <i class="fa fa-download"></i>
+              </span>
+              <span>Download</span>
+            </a>
+          </p>
+        </div>
+      </div>
+    </div>
+  </div>
+</nav>
+
+
+      <div class="bk-docs-container">
+  <div class="columns is-gapless">
+    <div class="column is-2 is-hidden-mobile">
+      <div class="container">
+        
+<aside class="sidebar">
+  
+  <a class="button is-info">
+    Version: 4.6.2
+  </a>
+  <hr />
+  
+  <p>
+    Getting started
+  </p>
+  <ul class="sidebar-items">
+    
+    
+    <li>
+      <a href="../../getting-started/installation">
+      Installation
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../getting-started/run-locally">
+      Run bookies locally
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../getting-started/concepts">
+      Concepts and architecture
+      </a>
+    </li>
+    
+  </ul>
+  
+  <p>
+    Deployment
+  </p>
+  <ul class="sidebar-items">
+    
+    
+    <li>
+      <a href="../../deployment/manual">
+      Manual deployment
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../deployment/dcos">
+      BookKeeper on DC/OS
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../deployment/kubernetes">
+      BookKeeper on Kubernetes
+      </a>
+    </li>
+    
+  </ul>
+  
+  <p>
+    Administration
+  </p>
+  <ul class="sidebar-items">
+    
+    
+    <li>
+      <a href="../../admin/bookies">
+      BookKeeper administration
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../admin/autorecovery">
+      AutoRecovery
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../admin/metrics">
+      Metric collection
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../admin/upgrade">
+      Upgrade
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../admin/http">
+      BookKeeper Admin REST API
+      </a>
+    </li>
+    
+  </ul>
+  
+  <p>
+    API
+  </p>
+  <ul class="sidebar-items">
+    
+    
+    <li>
+      <a href="../../api/overview">
+      Overview
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../api/ledger-api">
+      Ledger API
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../api/ledger-adv-api">
+      Advanced Ledger API
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../api/distributedlog-api">
+      DistributedLog
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../api/javadoc">
+      Java API Docs
+      </a>
+    </li>
+    
+  </ul>
+  
+  <p>
+    Security
+  </p>
+  <ul class="sidebar-items">
+    
+    
+    <li>
+      <a href="../../security/overview">
+      Overview
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../security/tls">
+      TLS Authentication
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../security/sasl">
+      SASL Authentication
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../security/zookeeper">
+      ZooKeeper Authentication
+      </a>
+    </li>
+    
+  </ul>
+  
+  <p>
+    Development
+  </p>
+  <ul class="sidebar-items">
+    
+    
+    <li>
+      <a href="../../development/protocol">
+      BookKeeper protocol
+      </a>
+    </li>
+    
+  </ul>
+  
+  <p>
+    Reference
+  </p>
+  <ul class="sidebar-items">
+    
+    
+    <li>
+      <a href="../../reference/config">
+      Configuration
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../reference/cli">
+      Command-line tools
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../reference/metrics">
+      Metrics
+      </a>
+    </li>
+    
+  </ul>
+  
+</aside>
+
+
+      </div>
+    </div>
+
+    <div class="column is-8 bk-docs-block">
+      <header class="docs-title">
+        <nav class="level bk-level">
+          <div class="level-left">
+            <div class="level-item">
+              <h1 class="title">Geo-replication</h1>
+            </div>
+          </div>
+          
+        </nav>
+
+        <h2 class="subtitle">Replicate data across BookKeeper clusters</h2>
+      </header>
+
+      <hr />
+
+      <div class="content">
+        <section class="bk-main-content">
+          <p><em>Geo-replication</em> is the replication of data across BookKeeper clusters. In order to enable geo-replication for a group of BookKeeper clusters,</p>
+
+<h2 id="global-zookeeper">Global ZooKeeper</h2>
+
+<p>Setting up a global ZooKeeper quorum is a lot like setting up a cluster-specific quorum. The crucial difference is that</p>
+
+<h3 id="geo-replication-across-three-clusters">Geo-replication across three clusters</h3>
+
+<p>Let’s say that you want to set up geo-replication across clusters in regions A, B, and C. First, the BookKeeper clusters in each region must have their own local (cluster-specific) ZooKeeper quorum.</p>
+
+<blockquote>
+  <p>BookKeeper clusters use global ZooKeeper only for metadata storage. Traffic from bookies to ZooKeeper should thus be fairly light in general.</p>
+</blockquote>
+
+<p>The crucial difference between using cluster-specific ZooKeeper and global ZooKeeper is that <span class="pop" id="bookie-popover">bookies</span> is that you need to point all bookies to use the global ZooKeeper setup.</p>
+
+<h2 id="region-aware-placement-polocy">Region-aware placement polocy</h2>
+
+<h2 id="autorecovery">Autorecovery</h2>
+
+        </section>
+
+        
+      </div>
+    </div>
+
+    <div class="column is-2 is-hidden-mobile">
+      
+      
+<div class="toc">
+  <h2 class="title">Geo-replication</h2>
+  <ul class="section-nav">
+<li class="toc-entry toc-h2"><a href="#global-zookeeper">Global ZooKeeper</a></li>
+<li class="toc-entry toc-h3"><a href="#geo-replication-across-three-clusters">Geo-replication across three clusters</a></li>
+<li class="toc-entry toc-h2"><a href="#region-aware-placement-polocy">Region-aware placement polocy</a></li>
+<li class="toc-entry toc-h2"><a href="#autorecovery">Autorecovery</a></li>
+</ul>
+</div>
+
+
+      
+    </div>
+  </div>
+</div>
+
+
+
+<div id="entry-popover-html" class="popover-template">
+  <p>An entry is a sequence of bytes (plus some metadata) written to a BookKeeper ledger. Entries are also known as records.</p>
+
+</div>
+
+<div id="ledger-popover-html" class="popover-template">
+  <p>A ledger is a sequence of entries written to BookKeeper. Entries are written sequentially to ledgers and at most once, giving ledgers append-only semantics.</p>
+
+</div>
+
+<div id="bookie-popover-html" class="popover-template">
+  <p>A bookie is an individual BookKeeper storage server.</p>
+
+<p>Bookies store the content of ledgers and act as a distributed ensemble.</p>
+
+</div>
+
+<div id="rereplication-popover-html" class="popover-template">
+  <p>A subsystem that runs in the background on bookies to ensure that ledgers are fully replicated even if one bookie from the ensemble is down.</p>
+
+</div>
+
+<div id="striping-popover-html" class="popover-template">
+  <p>Striping is the process of distributing BookKeeper ledgers to sub-groups of bookies rather than to all bookies in a BookKeeper ensemble.</p>
+
+<p>Striping is essential to ensuring fast performance.</p>
+
+</div>
+
+<div id="journal-popover-html" class="popover-template">
+  <p>A journal file stores BookKeeper transaction logs.</p>
+
+</div>
+
+<div id="fencing-popover-html" class="popover-template">
+  <p>When a reader forces a ledger to close, preventing any further entries from being written to the ledger.</p>
+
+</div>
+
+<div id="record-popover-html" class="popover-template">
+  <p>A record is a sequence of bytes (plus some metadata) written to a BookKeeper ledger. Records are also known as entries.</p>
+
+</div>
+
+
+<script type="text/javascript">
+
+tippy('#entry-popover', {
+  html: '#entry-popover-html',
+  arrow: true,
+  animation: 'fade'
+});
+
+tippy('#ledger-popover', {
+  html: '#ledger-popover-html',
+  arrow: true,
+  animation: 'fade'
+});
+
+tippy('#bookie-popover', {
+  html: '#bookie-popover-html',
+  arrow: true,
+  animation: 'fade'
+});
+
+tippy('#rereplication-popover', {
+  html: '#rereplication-popover-html',
+  arrow: true,
+  animation: 'fade'
+});
+
+tippy('#striping-popover', {
+  html: '#striping-popover-html',
+  arrow: true,
+  animation: 'fade'
+});
+
+tippy('#journal-popover', {
+  html: '#journal-popover-html',
+  arrow: true,
+  animation: 'fade'
+});
+
+tippy('#fencing-popover', {
+  html: '#fencing-popover-html',
+  arrow: true,
+  animation: 'fade'
+});
+
+tippy('#record-popover', {
+  html: '#record-popover-html',
+  arrow: true,
+  animation: 'fade'
+});
+
+</script>
+
+    </main>
+
+    <footer class="footer">
+  <div class="container">
+    <div class="content has-text-centered">
+      <p>
+        Copyright &copy; 2016 - 2018 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br /> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+      </p>
+    </div>
+  </div>
+</footer>
+
+  </body>
+
+  <script src="/js/app.js"></script>
+
+  
+  <!--
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+      http://www.apache.org/licenses/LICENSE-2.0
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+-->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-104419626-1', 'auto');
+  ga('send', 'pageview');
+
+</script>
+
+  
+</html>
diff --git a/content/docs/4.6.2/admin/http/index.html b/content/docs/4.6.2/admin/http/index.html
new file mode 100644
index 0000000..dc7bbe8
--- /dev/null
+++ b/content/docs/4.6.2/admin/http/index.html
@@ -0,0 +1,1710 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <title>Apache BookKeeper&trade; - BookKeeper Admin REST API</title>
+
+<meta charset="utf-8">
+<meta http-equiv="X-UA-Compatible" content="IE=edge">
+<meta name="viewport" content="width=device-width, initial-scale=1">
+
+<link rel="stylesheet" href="/css/normalize.css">
+<link rel="stylesheet" href="/css/tippy.css">
+<link rel="stylesheet" href="/css/style.css">
+
+<link rel="shortcut icon" href="/img/favicon.ico">
+
+<script src="/js/tippy.min.js"></script>
+
+<script type="text/javascript">
+  var shiftWindow = function() { scrollBy(0, -25); };
+  window.addEventListener("hashchange", shiftWindow);
+  window.addEventListener("pageshow", shiftWindow);
+  function load() { if (window.location.hash) shiftWindow(); }
+</script>
+  </head>
+  <body class="body">
+    <main class="main">
+      
+<nav class="navbar bk-topnav">
+  <div class="navbar-brand">
+    <a class="navbar-item bk-brand" href="/">
+      Apache BookKeeper&trade;
+    </a>
+
+    <div class="navbar-burger burger" data-target="bkNav">
+      <span></span>
+      <span></span>
+      <span></span>
+    </div>
+  </div>
+
+  <div id="bkNav" class="navbar-menu">
+    <div class="navbar-start">
+      <div class="navbar-item has-dropdown is-hoverable">
+        <a class="navbar-link">Documentation</a>
+        <div class="navbar-dropdown is-boxed">
+          <a class="navbar-item" href="/docs/latest/overview/overview">
+            Version 4.7.0-SNAPSHOT
+            <span class="tag is-warning">Development</span>
+          </a>
+          <a class="navbar-item" href="/docs/latest/api/javadoc">
+            <span class="icon bk-javadoc-icon">
+              <img src="/img/java-icon.svg">
+            </span>
+            Javadoc
+          </a>
+          <hr class="dropdown-divider">
+          
+          <a class="navbar-item" href="/docs/4.6.1/overview/overview">
+            Release 4.6.1
+            
+          </a>
+          
+          <a class="navbar-item" href="/docs/4.6.0/overview/overview">
+            Release 4.6.0
+            
+          </a>
+          
+          <a class="navbar-item" href="/docs/4.5.1/overview/overview">
+            Release 4.5.1
+            
+          </a>
+          
+          <a class="navbar-item" href="/docs/4.5.0/overview/overview">
+            Release 4.5.0
+            <span class="tag is-success">Stable</span>
+          </a>
+          
+          
+          <a class="navbar-item" href="/archives/docs/r4.4.0">
+            Release 4.4.0
+            
+          </a>
+          
+          <a class="navbar-item" href="/archives/docs/r4.3.2">
+            Release 4.3.2
+            
+          </a>
+          
+          <a class="navbar-item" href="/archives/docs/r4.3.1">
+            Release 4.3.1
+            
+          </a>
+          
+          <a class="navbar-item" href="/archives/docs/r4.3.0">
+            Release 4.3.0
+            
+          </a>
+          
+          <a class="navbar-item" href="/archives/docs/r4.2.4">
+            Release 4.2.4
+            
+          </a>
+          
+          <a class="navbar-item" href="/archives/docs/r4.2.3">
+            Release 4.2.3
+            
+          </a>
+          
+          <a class="navbar-item" href="/archives/docs/r4.2.2">
+            Release 4.2.2
+            
+          </a>
+          
+          <a class="navbar-item" href="/archives/docs/r4.2.1">
+            Release 4.2.1
+            
+          </a>
+          
+          <a class="navbar-item" href="/archives/docs/r4.2.0">
+            Release 4.2.0
+            
+          </a>
+          
+          <a class="navbar-item" href="/archives/docs/r4.1.0">
+            Release 4.1.0
+            
+          </a>
+          
+          <a class="navbar-item" href="/archives/docs/r4.0.0">
+            Release 4.0.0
+            
+          </a>
+          
+        </div>
+      </div>
+
+      <div class="navbar-item has-dropdown is-hoverable">
+        <a class="navbar-link">Community</a>
+        <div class="navbar-dropdown is-boxed">
+          <a class="navbar-item" href="/community/mailing-lists">Mailing lists</a>
+          <a class="navbar-item" href="/community/slack">Slack</a>
+          <a class="navbar-item" href="https://github.com/apache/bookkeeper/issues">Github Issues</a>
+          <a class="navbar-item" href="/community/releases">Release Management</a>
+          <a class="navbar-item" href="/community/meeting">Community Meetings</a>
+          <hr class="dropdown-divider">
+          <a class="navbar-item" href="/community/contributing">Contribution Guide</a>
+          <a class="navbar-item" href="/community/coding_guide">Coding Guide</a>
+          <a class="navbar-item" href="/community/testing">Testing Guide</a>
+          <a class="navbar-item" href="/community/issue-report">Issue Report Guide</a>
+          <a class="navbar-item" href="/community/release_guide">Release Guide</a>
+          <hr class="dropdown-divider">
+          <a class="navbar-item" href="/community/presentations">Presentations</a>
+          <a class="navbar-item" href="/community/bookkeeper_proposals">BookKeeper Proposals</a>
+        </div>
+      </div>
+
+      <div class="navbar-item has-dropdown is-hoverable">
+        <a class="navbar-link">Project</a>
+        <div class="navbar-dropdown is-boxed">
+          <a class="navbar-item" href="/project/who">Who are we?</a>
+          <a class="navbar-item" href="/project/bylaws">Bylaws</a>
+          <a class="navbar-item" href="http://www.apache.org/licenses/">License</a>
+          <hr class="dropdown-divider">
+          <a class="navbar-item" href="/project/privacy">Privacy policy</a>
+          <a class="navbar-item" href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a>
+          <a class="navbar-item" href="http://www.apache.org/foundation/thanks.html">Thanks</a>
+        </div>
+      </div>
+    </div>
+
+    <div class="navbar-end">
+      <div class="navbar-item">
+        <div class="field is-grouped">
+          <p class="control">
+            <a class="button bk-twitter" href="https://twitter.com/asfbookkeeper">
+              <span class="icon">
+                <i class="fa fa-twitter"></i>
+              </span>
+              <span>Twitter</span>
+            </a>
+          </p>
+          <p class="control">
+            <a class="button" href="https://github.com/apache/bookkeeper">
+              <span class="icon">
+                <i class="fa fa-github"></i>
+              </span>
+              <span>GitHub</span>
+            </a>
+          </p>
+          <p class="control">
+            <a class="button is-primary" href="/releases">
+              <span class="icon">
+                <i class="fa fa-download"></i>
+              </span>
+              <span>Download</span>
+            </a>
+          </p>
+        </div>
+      </div>
+    </div>
+  </div>
+</nav>
+
+
+      <div class="bk-docs-container">
+  <div class="columns is-gapless">
+    <div class="column is-2 is-hidden-mobile">
+      <div class="container">
+        
+<aside class="sidebar">
+  
+  <a class="button is-info">
+    Version: 4.6.2
+  </a>
+  <hr />
+  
+  <p>
+    Getting started
+  </p>
+  <ul class="sidebar-items">
+    
+    
+    <li>
+      <a href="../../getting-started/installation">
+      Installation
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../getting-started/run-locally">
+      Run bookies locally
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../getting-started/concepts">
+      Concepts and architecture
+      </a>
+    </li>
+    
+  </ul>
+  
+  <p>
+    Deployment
+  </p>
+  <ul class="sidebar-items">
+    
+    
+    <li>
+      <a href="../../deployment/manual">
+      Manual deployment
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../deployment/dcos">
+      BookKeeper on DC/OS
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../deployment/kubernetes">
+      BookKeeper on Kubernetes
+      </a>
+    </li>
+    
+  </ul>
+  
+  <p>
+    Administration
+  </p>
+  <ul class="sidebar-items">
+    
+    
+    <li>
+      <a href="../../admin/bookies">
+      BookKeeper administration
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../admin/autorecovery">
+      AutoRecovery
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../admin/metrics">
+      Metric collection
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../admin/upgrade">
+      Upgrade
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../admin/http">
+      BookKeeper Admin REST API
+      </a>
+    </li>
+    
+  </ul>
+  
+  <p>
+    API
+  </p>
+  <ul class="sidebar-items">
+    
+    
+    <li>
+      <a href="../../api/overview">
+      Overview
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../api/ledger-api">
+      Ledger API
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../api/ledger-adv-api">
+      Advanced Ledger API
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../api/distributedlog-api">
+      DistributedLog
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../api/javadoc">
+      Java API Docs
+      </a>
+    </li>
+    
+  </ul>
+  
+  <p>
+    Security
+  </p>
+  <ul class="sidebar-items">
+    
+    
+    <li>
+      <a href="../../security/overview">
+      Overview
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../security/tls">
+      TLS Authentication
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../security/sasl">
+      SASL Authentication
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../security/zookeeper">
+      ZooKeeper Authentication
+      </a>
+    </li>
+    
+  </ul>
+  
+  <p>
+    Development
+  </p>
+  <ul class="sidebar-items">
+    
+    
+    <li>
+      <a href="../../development/protocol">
+      BookKeeper protocol
+      </a>
+    </li>
+    
+  </ul>
+  
+  <p>
+    Reference
+  </p>
+  <ul class="sidebar-items">
+    
+    
+    <li>
+      <a href="../../reference/config">
+      Configuration
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../reference/cli">
+      Command-line tools
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../reference/metrics">
+      Metrics
+      </a>
+    </li>
+    
+  </ul>
+  
+</aside>
+
+
+      </div>
+    </div>
+
+    <div class="column is-8 bk-docs-block">
+      <header class="docs-title">
+        <nav class="level bk-level">
+          <div class="level-left">
+            <div class="level-item">
+              <h1 class="title">BookKeeper Admin REST API</h1>
+            </div>
+          </div>
+          
+        </nav>
+
+        
+      </header>
+
+      <hr />
+
+      <div class="content">
+        <section class="bk-main-content">
+          <p>This document introduces BookKeeper HTTP endpoints, which can be used for BookKeeper administration.
+To use this feature, set <code class="highlighter-rouge">httpServerEnabled</code> to <code class="highlighter-rouge">true</code> in file <code class="highlighter-rouge">conf/bk_server.conf</code>.</p>
+
+<h2 id="all-the-endpoints">All the endpoints</h2>
+
+<p>Currently all the HTTP endpoints could be divided into these 4 components:</p>
+<ol>
+  <li>Heartbeat: heartbeat for a specific bookie.</li>
+  <li>Config: doing the server configuration for a specific bookie.</li>
+  <li>Ledger: HTTP endpoints related to ledgers.</li>
+  <li>Bookie: HTTP endpoints related to bookies.</li>
+  <li>AutoRecovery: HTTP endpoints related to auto recovery.</li>
+</ol>
+
+<h2 id="heartbeat">Heartbeat</h2>
+
+<h3 id="endpoint-heartbeat">Endpoint: /heartbeat</h3>
+<ul>
+  <li>Method: GET</li>
+  <li>Description: Get heartbeat status for a specific bookie</li>
+  <li>Response:</li>
+</ul>
+
+<table>
+  <thead>
+    <tr>
+      <th style="text-align: left">Code</th>
+      <th style="text-align: left">Description</th>
+    </tr>
+  </thead>
+  <tbody>
+    <tr>
+      <td style="text-align: left">200</td>
+      <td style="text-align: left">Successful operation</td>
+    </tr>
+  </tbody>
+</table>
+
+<h2 id="config">Config</h2>
+
+<h3 id="endpoint-apiv1configserver_config">Endpoint: /api/v1/config/server_config</h3>
+<ol>
+  <li>Method: GET
+    <ul>
+      <li>Description: Get value of all configured values overridden on local server config</li>
+      <li>
+        <p>Response:</p>
+
+        <table>
+          <thead>
+            <tr>
+              <th style="text-align: left">Code</th>
+              <th style="text-align: left">Description</th>
+            </tr>
+          </thead>
+          <tbody>
+            <tr>
+              <td style="text-align: left">200</td>
+              <td style="text-align: left">Successful operation</td>
+            </tr>
+            <tr>
+              <td style="text-align: left">403</td>
+              <td style="text-align: left">Permission denied</td>
+            </tr>
+            <tr>
+              <td style="text-align: left">404</td>
+              <td style="text-align: left">Not found</td>
+            </tr>
+          </tbody>
+        </table>
+      </li>
+    </ul>
+  </li>
+  <li>Method: PUT
+    <ul>
+      <li>Description: Update a local server config</li>
+      <li>
+        <p>Parameters:</p>
+
+        <table>
+          <thead>
+            <tr>
+              <th style="text-align: left">Name</th>
+              <th style="text-align: left">Type</th>
+              <th style="text-align: left">Required</th>
+              <th style="text-align: left">Description</th>
+            </tr>
+          </thead>
+          <tbody>
+            <tr>
+              <td style="text-align: left">configName</td>
+              <td style="text-align: left">String</td>
+              <td style="text-align: left">Yes</td>
+              <td style="text-align: left">Configuration name(key)</td>
+            </tr>
+            <tr>
+              <td style="text-align: left">configValue</td>
+              <td style="text-align: left">String</td>
+              <td style="text-align: left">Yes</td>
+              <td style="text-align: left">Configuration value(value)</td>
+            </tr>
+          </tbody>
+        </table>
+      </li>
+      <li>Body:
+        <div class="language-json highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="w">  </span><span class="p">{</span><span class="w">
+     </span><span class="s2">"configName1"</span><span class="p">:</span><span class="w"> </span><span class="s2">"configValue1"</span><span class="p">,</span><span class="w">
+     </span><span class="s2">"configName2"</span><span class="p">:</span><span class="w"> </span><span class="s2">"configValue2"</span><span class="w">
+  </span><span class="p">}</span><span class="w">
+</span></code></pre></div>        </div>
+      </li>
+      <li>
+        <p>Response:</p>
+
+        <table>
+          <thead>
+            <tr>
+              <th style="text-align: left">Code</th>
+              <th style="text-align: left">Description</th>
+            </tr>
+          </thead>
+          <tbody>
+            <tr>
+              <td style="text-align: left">200</td>
+              <td style="text-align: left">Successful operation</td>
+            </tr>
+            <tr>
+              <td style="text-align: left">403</td>
+              <td style="text-align: left">Permission denied</td>
+            </tr>
+            <tr>
+              <td style="text-align: left">404</td>
+              <td style="text-align: left">Not found</td>
+            </tr>
+          </tbody>
+        </table>
+      </li>
+    </ul>
+  </li>
+</ol>
+
+<h2 id="ledger">Ledger</h2>
+
+<h3 id="endpoint-apiv1ledgerdeleteledger_idledger_id">Endpoint: /api/v1/ledger/delete/?ledger_id=&lt;ledger_id&gt;</h3>
+<ol>
+  <li>Method: DELETE
+    <ul>
+      <li>Description: Delete a ledger.</li>
+      <li>
+        <p>Parameters:</p>
+
+        <table>
+          <thead>
+            <tr>
+              <th style="text-align: left">Name</th>
+              <th style="text-align: left">Type</th>
+              <th style="text-align: left">Required</th>
+              <th style="text-align: left">Description</th>
+            </tr>
+          </thead>
+          <tbody>
+            <tr>
+              <td style="text-align: left">ledger_id</td>
+              <td style="text-align: left">Long</td>
+              <td style="text-align: left">Yes</td>
+              <td style="text-align: left">ledger id of the ledger.</td>
+            </tr>
+          </tbody>
+        </table>
+      </li>
+      <li>
+        <p>Response:</p>
+
+        <table>
+          <thead>
+            <tr>
+              <th style="text-align: left">Code</th>
+              <th style="text-align: left">Description</th>
+            </tr>
+          </thead>
+          <tbody>
+            <tr>
+              <td style="text-align: left">200</td>
+              <td style="text-align: left">Successful operation</td>
+            </tr>
+            <tr>
+              <td style="text-align: left">403</td>
+              <td style="text-align: left">Permission denied</td>
+            </tr>
+            <tr>
+              <td style="text-align: left">404</td>
+              <td style="text-align: left">Not found</td>
+            </tr>
+          </tbody>
+        </table>
+      </li>
+    </ul>
+  </li>
+</ol>
+
+<h3 id="endpoint-apiv1ledgerlistprint_metadatametadata">Endpoint: /api/v1/ledger/list/?print_metadata=&lt;metadata&gt;</h3>
+<ol>
+  <li>Method: GET
+    <ul>
+      <li>Description: List all the ledgers.</li>
+      <li>
+        <p>Parameters:</p>
+
+        <table>
+          <thead>
+            <tr>
+              <th style="text-align: left">Name</th>
+              <th style="text-align: left">Type</th>
+              <th style="text-align: left">Required</th>
+              <th style="text-align: left">Description</th>
+            </tr>
+          </thead>
+          <tbody>
+            <tr>
+              <td style="text-align: left">print_metadata</td>
+              <td style="text-align: left">Boolean</td>
+              <td style="text-align: left">No</td>
+              <td style="text-align: left">whether print out metadata</td>
+            </tr>
+          </tbody>
+        </table>
+      </li>
+      <li>
+        <p>Response:</p>
+
+        <table>
+          <thead>
+            <tr>
+              <th style="text-align: left">Code</th>
+              <th style="text-align: left">Description</th>
+            </tr>
+          </thead>
+          <tbody>
+            <tr>
+              <td style="text-align: left">200</td>
+              <td style="text-align: left">Successful operation</td>
+            </tr>
+            <tr>
+              <td style="text-align: left">403</td>
+              <td style="text-align: left">Permission denied</td>
+            </tr>
+            <tr>
+              <td style="text-align: left">404</td>
+              <td style="text-align: left">Not found</td>
+            </tr>
+          </tbody>
+        </table>
+      </li>
+      <li>
+        <p>Response Body format:</p>
+
+        <div class="language-json highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="w">  </span><span class="p">{</span><span class="w">
+    </span><span class="s2">"ledgerId1"</span><span class="p">:</span><span class="w"> </span><span class="s2">"ledgerMetadata1"</span><span class="p">,</span><span class="w">
+    </span><span class="s2">"ledgerId2"</span><span class="p">:</span><span class="w"> </span><span class="s2">"ledgerMetadata2"</span><span class="p">,</span><span class="w">
+    </span><span class="err">...</span><span class="w">
+  </span><span class="p">}</span><span class="w">
+</span></code></pre></div>        </div>
+      </li>
+    </ul>
+  </li>
+</ol>
+
+<h3 id="endpoint-apiv1ledgermetadataledger_idledger_id">Endpoint: /api/v1/ledger/metadata/?ledger_id=&lt;ledger_id&gt;</h3>
+<ol>
+  <li>Method: GET
+    <ul>
+      <li>Description: Get the metadata of a ledger.</li>
+      <li>
+        <p>Parameters:</p>
+
+        <table>
+          <thead>
+            <tr>
+              <th style="text-align: left">Name</th>
+              <th style="text-align: left">Type</th>
+              <th style="text-align: left">Required</th>
+              <th style="text-align: left">Description</th>
+            </tr>
+          </thead>
+          <tbody>
+            <tr>
+              <td style="text-align: left">ledger_id</td>
+              <td style="text-align: left">Long</td>
+              <td style="text-align: left">Yes</td>
+              <td style="text-align: left">ledger id of the ledger.</td>
+            </tr>
+          </tbody>
+        </table>
+      </li>
+      <li>
+        <p>Response:</p>
+
+        <table>
+          <thead>
+            <tr>
+              <th style="text-align: left">Code</th>
+              <th style="text-align: left">Description</th>
+            </tr>
+          </thead>
+          <tbody>
+            <tr>
+              <td style="text-align: left">200</td>
+              <td style="text-align: left">Successful operation</td>
+            </tr>
+            <tr>
+              <td style="text-align: left">403</td>
+              <td style="text-align: left">Permission denied</td>
+            </tr>
+            <tr>
+              <td style="text-align: left">404</td>
+              <td style="text-align: left">Not found</td>
+            </tr>
+          </tbody>
+        </table>
+      </li>
+      <li>
+        <p>Response Body format:</p>
+
+        <div class="language-json highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="w">  </span><span class="p">{</span><span class="w">
+    </span><span class="s2">"ledgerId1"</span><span class="p">:</span><span class="w"> </span><span class="s2">"ledgerMetadata1"</span><span class="w">
+  </span><span class="p">}</span><span class="w">
+</span></code></pre></div>        </div>
+      </li>
+    </ul>
+  </li>
+</ol>
+
+<h3 id="endpoint-apiv1ledgerreadledger_idledger_idstart_entry_idstart_entry_idend_entry_idend_entry_id">Endpoint: /api/v1/ledger/read/?ledger_id=&lt;ledger_id&gt;&amp;start_entry_id=&lt;start_entry_id&gt;&amp;end_entry_id=&lt;end_entry_id&gt;</h3>
+<ol>
+  <li>Method: GET
+    <ul>
+      <li>Description: Read a range of entries from ledger.</li>
+      <li>
+        <p>Parameters:</p>
+
+        <table>
+          <thead>
+            <tr>
+              <th style="text-align: left">Name</th>
+              <th style="text-align: left">Type</th>
+              <th style="text-align: left">Required</th>
+              <th style="text-align: left">Description</th>
+            </tr>
+          </thead>
+          <tbody>
+            <tr>
+              <td style="text-align: left">ledger_id</td>
+              <td style="text-align: left">Long</td>
+              <td style="text-align: left">Yes</td>
+              <td style="text-align: left">ledger id of the ledger.</td>
+            </tr>
+            <tr>
+              <td style="text-align: left">start_entry_id</td>
+              <td style="text-align: left">Long</td>
+              <td style="text-align: left">No</td>
+              <td style="text-align: left">start entry id of read range.</td>
+            </tr>
+            <tr>
+              <td style="text-align: left">end_entry_id</td>
+              <td style="text-align: left">Long</td>
+              <td style="text-align: left">No</td>
+              <td style="text-align: left">end entry id of read range.</td>
+            </tr>
+          </tbody>
+        </table>
+      </li>
+      <li>
+        <p>Response:</p>
+
+        <table>
+          <thead>
+            <tr>
+              <th style="text-align: left">Code</th>
+              <th style="text-align: left">Description</th>
+            </tr>
+          </thead>
+          <tbody>
+            <tr>
+              <td style="text-align: left">200</td>
+              <td style="text-align: left">Successful operation</td>
+            </tr>
+            <tr>
+              <td style="text-align: left">403</td>
+              <td style="text-align: left">Permission denied</td>
+            </tr>
+            <tr>
+              <td style="text-align: left">404</td>
+              <td style="text-align: left">Not found</td>
+            </tr>
+          </tbody>
+        </table>
+      </li>
+      <li>
+        <p>Response Body format:</p>
+
+        <div class="language-json highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="w">  </span><span class="p">{</span><span class="w">
+    </span><span class="s2">"entryId1"</span><span class="p">:</span><span class="w"> </span><span class="s2">"entry content 1"</span><span class="p">,</span><span class="w">
+    </span><span class="s2">"entryId2"</span><span class="p">:</span><span class="w"> </span><span class="s2">"entry content 2"</span><span class="p">,</span><span class="w">
+    </span><span class="err">...</span><span class="w">
+  </span><span class="p">}</span><span class="w">
+</span></code></pre></div>        </div>
+      </li>
+    </ul>
+  </li>
+</ol>
+
+<h2 id="bookie">Bookie</h2>
+
+<h3 id="endpoint-apiv1bookielist_bookiestypetypeprint_hostnameshostnames">Endpoint: /api/v1/bookie/list_bookies/?type=&lt;type&gt;&amp;print_hostnames=&lt;hostnames&gt;</h3>
+<ol>
+  <li>Method: GET
+    <ul>
+      <li>Description:  Get all the available bookies.</li>
+      <li>
+        <p>Parameters:</p>
+
+        <table>
+          <thead>
+            <tr>
+              <th style="text-align: left">Name</th>
+              <th style="text-align: left">Type</th>
+              <th style="text-align: left">Required</th>
+              <th style="text-align: left">Description</th>
+            </tr>
+          </thead>
+          <tbody>
+            <tr>
+              <td style="text-align: left">type</td>
+              <td style="text-align: left">String</td>
+              <td style="text-align: left">Yes</td>
+              <td style="text-align: left">value: “rw” or “ro” , list read-write/read-only bookies.</td>
+            </tr>
+            <tr>
+              <td style="text-align: left">print_hostnames</td>
+              <td style="text-align: left">Boolean</td>
+              <td style="text-align: left">No</td>
+              <td style="text-align: left">whether print hostname of bookies.</td>
+            </tr>
+          </tbody>
+        </table>
+      </li>
+      <li>
+        <p>Response:</p>
+
+        <table>
+          <thead>
+            <tr>
+              <th style="text-align: left">Code</th>
+              <th style="text-align: left">Description</th>
+            </tr>
+          </thead>
+          <tbody>
+            <tr>
+              <td style="text-align: left">200</td>
+              <td style="text-align: left">Successful operation</td>
+            </tr>
+            <tr>
+              <td style="text-align: left">403</td>
+              <td style="text-align: left">Permission denied</td>
+            </tr>
+            <tr>
+              <td style="text-align: left">404</td>
+              <td style="text-align: left">Not found</td>
+            </tr>
+          </tbody>
+        </table>
+      </li>
+      <li>
+        <p>Response Body format:</p>
+
+        <div class="language-json highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="w">  </span><span class="p">{</span><span class="w">
+    </span><span class="s2">"bookieSocketAddress1"</span><span class="p">:</span><span class="w"> </span><span class="s2">"hostname1"</span><span class="p">,</span><span class="w">
+    </span><span class="s2">"bookieSocketAddress2"</span><span class="p">:</span><span class="w"> </span><span class="s2">"hostname2"</span><span class="p">,</span><span class="w">
+    </span><span class="err">...</span><span class="w">
+  </span><span class="p">}</span><span class="w">
+</span></code></pre></div>        </div>
+      </li>
+    </ul>
+  </li>
+</ol>
+
+<h3 id="endpoint-apiv1bookielist_bookie_info">Endpoint: /api/v1/bookie/list_bookie_info</h3>
+<ol>
+  <li>Method: GET
+    <ul>
+      <li>Description:  Get bookies disk usage info of this cluster.</li>
+      <li>
+        <p>Response:</p>
+
+        <table>
+          <thead>
+            <tr>
+              <th style="text-align: left">Code</th>
+              <th style="text-align: left">Description</th>
+            </tr>
+          </thead>
+          <tbody>
+            <tr>
+              <td style="text-align: left">200</td>
+              <td style="text-align: left">Successful operation</td>
+            </tr>
+            <tr>
+              <td style="text-align: left">403</td>
+              <td style="text-align: left">Permission denied</td>
+            </tr>
+            <tr>
+              <td style="text-align: left">404</td>
+              <td style="text-align: left">Not found</td>
+            </tr>
+          </tbody>
+        </table>
+      </li>
+      <li>
+        <p>Response Body format:</p>
+
+        <div class="language-json highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="w">  </span><span class="p">{</span><span class="w">
+    </span><span class="s2">"bookieAddress"</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="err">free</span><span class="p">:</span><span class="w"> </span><span class="err">xxx</span><span class="p">,</span><span class="w"> </span><span class="err">total</span><span class="p">:</span><span class="w"> </span><span class="err">xxx</span><span class="p">},</span><span class="w">
+    </span><span class="s2">"bookieAddress"</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="err">free</span><span class="p">:</span><span class="w"> </span><span class="err">xxx</span><span class="p">,</span><span class="w"> </span><span class="err">total</span><span class="p">:</span><span class="w"> </span><span class="err">xxx</span><span class="p">},</span><span class="w">
+    </span><span class="err">...</span><span class="w">
+    </span><span class="s2">"clusterInfo"</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="err">total_free</span><span class="p">:</span><span class="w"> </span><span class="err">xxx</span><span class="p">,</span><span class="w"> </span><span class="err">total</span><span class="p">:</span><span class="w"> </span><span class="err">xxx</span><span class="p">}</span><span class="w">
+  </span><span class="p">}</span><span class="w">
+</span></code></pre></div>        </div>
+      </li>
+    </ul>
+  </li>
+</ol>
+
+<h3 id="endpoint-apiv1bookielast_log_mark">Endpoint: /api/v1/bookie/last_log_mark</h3>
+<ol>
+  <li>Method: GET
+    <ul>
+      <li>Description:  Get the last log marker.</li>
+      <li>
+        <p>Response:</p>
+
+        <table>
+          <thead>
+            <tr>
+              <th style="text-align: left">Code</th>
+              <th style="text-align: left">Description</th>
+            </tr>
+          </thead>
+          <tbody>
+            <tr>
+              <td style="text-align: left">200</td>
+              <td style="text-align: left">Successful operation</td>
+            </tr>
+            <tr>
+              <td style="text-align: left">403</td>
+              <td style="text-align: left">Permission denied</td>
+            </tr>
+            <tr>
+              <td style="text-align: left">404</td>
+              <td style="text-align: left">Not found</td>
+            </tr>
+          </tbody>
+        </table>
+      </li>
+      <li>
+        <p>Response Body format:</p>
+
+        <div class="language-json highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="w">  </span><span class="p">{</span><span class="w">
+    </span><span class="err">JournalId</span><span class="mi">1</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="err">position</span><span class="mi">1</span><span class="p">,</span><span class="w">
+    </span><span class="err">JournalId</span><span class="mi">2</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="err">position</span><span class="mi">2</span><span class="p">,</span><span class="w">
+    </span><span class="err">...</span><span class="w">
+  </span><span class="p">}</span><span class="w">
+</span></code></pre></div>        </div>
+      </li>
+    </ul>
+  </li>
+</ol>
+
+<h3 id="endpoint-apiv1bookielist_disk_filefile_typetype">Endpoint: /api/v1/bookie/list_disk_file/?file_type=&lt;type&gt;</h3>
+<ol>
+  <li>Method: GET
+    <ul>
+      <li>Description:  Get all the files on disk of current bookie.</li>
+      <li>
+        <p>Parameters:</p>
+
+        <table>
+          <thead>
+            <tr>
+              <th style="text-align: left">Name</th>
+              <th style="text-align: left">Type</th>
+              <th style="text-align: left">Required</th>
+              <th style="text-align: left">Description</th>
+            </tr>
+          </thead>
+          <tbody>
+            <tr>
+              <td style="text-align: left">type</td>
+              <td style="text-align: left">String</td>
+              <td style="text-align: left">No</td>
+              <td style="text-align: left">file type: journal/entrylog/index.</td>
+            </tr>
+          </tbody>
+        </table>
+      </li>
+      <li>
+        <p>Response:</p>
+
+        <table>
+          <thead>
+            <tr>
+              <th style="text-align: left">Code</th>
+              <th style="text-align: left">Description</th>
+            </tr>
+          </thead>
+          <tbody>
+            <tr>
+              <td style="text-align: left">200</td>
+              <td style="text-align: left">Successful operation</td>
+            </tr>
+            <tr>
+              <td style="text-align: left">403</td>
+              <td style="text-align: left">Permission denied</td>
+            </tr>
+            <tr>
+              <td style="text-align: left">404</td>
+              <td style="text-align: left">Not found</td>
+            </tr>
+          </tbody>
+        </table>
+      </li>
+      <li>
+        <p>Response Body format:</p>
+
+        <div class="language-json highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="w">  </span><span class="p">{</span><span class="w">
+    </span><span class="s2">"journal files"</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="s2">"filename1 filename2 ..."</span><span class="p">,</span><span class="w">
+    </span><span class="s2">"entrylog files"</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="s2">"filename1 filename2..."</span><span class="p">,</span><span class="w">
+    </span><span class="s2">"index files"</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="s2">"filename1 filename2 ..."</span><span class="w">
+  </span><span class="p">}</span><span class="w">
+</span></code></pre></div>        </div>
+      </li>
+    </ul>
+  </li>
+</ol>
+
+<h3 id="endpoint-apiv1bookieexpand_storage">Endpoint: /api/v1/bookie/expand_storage</h3>
+<ol>
+  <li>Method: PUT
+    <ul>
+      <li>Description:  Expand storage for a bookie.</li>
+      <li>
+        <p>Response:</p>
+
+        <table>
+          <thead>
+            <tr>
+              <th style="text-align: left">Code</th>
+              <th style="text-align: left">Description</th>
+            </tr>
+          </thead>
+          <tbody>
+            <tr>
+              <td style="text-align: left">200</td>
+              <td style="text-align: left">Successful operation</td>
+            </tr>
+            <tr>
+              <td style="text-align: left">403</td>
+              <td style="text-align: left">Permission denied</td>
+            </tr>
+            <tr>
+              <td style="text-align: left">404</td>
+              <td style="text-align: left">Not found</td>
+            </tr>
+          </tbody>
+        </table>
+      </li>
+    </ul>
+  </li>
+</ol>
+
+<h2 id="auto-recovery">Auto recovery</h2>
+
+<h3 id="endpoint-apiv1autorecoverybookie">Endpoint: /api/v1/autorecovery/bookie/</h3>
+<ol>
+  <li>Method: PUT
+    <ul>
+      <li>Description:  Ledger data recovery for failed bookie</li>
+      <li>Body:
+        <div class="language-json highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="w">  </span><span class="p">{</span><span class="w">
+    </span><span class="s2">"bookie_src"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="s2">"bookie_src1"</span><span class="p">,</span><span class="w"> </span><span class="s2">"bookie_src2"</span><span class="err">...</span><span class="w"> </span><span class="p">],</span><span class="w">
+    </span><span class="s2">"bookie_dest"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="s2">"bookie_dest1"</span><span class="p">,</span><span class="w"> </span><span class="s2">"bookie_dest2"</span><span class="err">...</span><span class="w"> </span><span class="p">],</span><span class="w">
+    </span><span class="s2">"delete_cookie"</span><span class="p">:</span><span class="w"> </span><span class="err">&lt;bool_value&gt;</span><span class="w">
+  </span><span class="p">}</span><span class="w">
+</span></code></pre></div>        </div>
+      </li>
+      <li>
+        <p>Parameters:</p>
+
+        <table>
+          <thead>
+            <tr>
+              <th style="text-align: left">Name</th>
+              <th style="text-align: left">Type</th>
+              <th style="text-align: left">Required</th>
+              <th style="text-align: left">Description</th>
+            </tr>
+          </thead>
+          <tbody>
+            <tr>
+              <td style="text-align: left">bookie_src</td>
+              <td style="text-align: left">Strings</td>
+              <td style="text-align: left">Yes</td>
+              <td style="text-align: left">bookie source to recovery</td>
+            </tr>
+            <tr>
+              <td style="text-align: left">bookie_dest</td>
+              <td style="text-align: left">Strings</td>
+              <td style="text-align: left">No</td>
+              <td style="text-align: left">bookie data recovery destination</td>
+            </tr>
+            <tr>
+              <td style="text-align: left">delete_cookie</td>
+              <td style="text-align: left">Boolean</td>
+              <td style="text-align: left">No</td>
+              <td style="text-align: left">Whether delete cookie</td>
+            </tr>
+          </tbody>
+        </table>
+      </li>
+      <li>
+        <p>Response:</p>
+
+        <table>
+          <thead>
+            <tr>
+              <th style="text-align: left">Code</th>
+              <th style="text-align: left">Description</th>
+            </tr>
+          </thead>
+          <tbody>
+            <tr>
+              <td style="text-align: left">200</td>
+              <td style="text-align: left">Successful operation</td>
+            </tr>
+            <tr>
+              <td style="text-align: left">403</td>
+              <td style="text-align: left">Permission denied</td>
+            </tr>
+            <tr>
+              <td style="text-align: left">404</td>
+              <td style="text-align: left">Not found</td>
+            </tr>
+          </tbody>
+        </table>
+      </li>
+    </ul>
+  </li>
+</ol>
+
+<h3 id="endpoint-apiv1autorecoverylist_under_replicated_ledgermissingreplicabookie_addressexcludingmissingreplicabookie_address">Endpoint: /api/v1/autorecovery/list_under_replicated_ledger/?missingreplica=&lt;bookie_address&gt;&amp;excludingmissingreplica=&lt;bookie_address&gt;</h3>
+<ol>
+  <li>Method: GET
+    <ul>
+      <li>Description:  Get all under replicated ledgers.</li>
+      <li>
+        <p>Parameters:</p>
+
+        <table>
+          <thead>
+            <tr>
+              <th style="text-align: left">Name</th>
+              <th style="text-align: left">Type</th>
+              <th style="text-align: left">Required</th>
+              <th style="text-align: left">Description</th>
+            </tr>
+          </thead>
+          <tbody>
+            <tr>
+              <td style="text-align: left">missingreplica</td>
+              <td style="text-align: left">String</td>
+              <td style="text-align: left">No</td>
+              <td style="text-align: left">missing replica bookieId</td>
+            </tr>
+            <tr>
+              <td style="text-align: left">excludingmissingreplica</td>
+              <td style="text-align: left">String</td>
+              <td style="text-align: left">No</td>
+              <td style="text-align: left">exclude missing replica bookieId</td>
+            </tr>
+          </tbody>
+        </table>
+      </li>
+      <li>
+        <p>Response:</p>
+
+        <table>
+          <thead>
+            <tr>
+              <th style="text-align: left">Code</th>
+              <th style="text-align: left">Description</th>
+            </tr>
+          </thead>
+          <tbody>
+            <tr>
+              <td style="text-align: left">200</td>
+              <td style="text-align: left">Successful operation</td>
+            </tr>
+            <tr>
+              <td style="text-align: left">403</td>
+              <td style="text-align: left">Permission denied</td>
+            </tr>
+            <tr>
+              <td style="text-align: left">404</td>
+              <td style="text-align: left">Not found</td>
+            </tr>
+          </tbody>
+        </table>
+      </li>
+      <li>
+        <p>Response Body format:</p>
+
+        <div class="language-json highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="w">  </span><span class="p">{</span><span class="w">
+    </span><span class="p">[</span><span class="err">ledgerId</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="err">ledgerId</span><span class="mi">2</span><span class="err">...</span><span class="p">]</span><span class="w">
+  </span><span class="p">}</span><span class="w">
+</span></code></pre></div>        </div>
+      </li>
+    </ul>
+  </li>
+</ol>
+
+<h3 id="endpoint-apiv1autorecoverywho_is_auditor">Endpoint: /api/v1/autorecovery/who_is_auditor</h3>
+<ol>
+  <li>Method: GET
+    <ul>
+      <li>Description:  Get auditor bookie id.</li>
+      <li>
+        <p>Response:</p>
+
+        <table>
+          <thead>
+            <tr>
+              <th style="text-align: left">Code</th>
+              <th style="text-align: left">Description</th>
+            </tr>
+          </thead>
+          <tbody>
+            <tr>
+              <td style="text-align: left">200</td>
+              <td style="text-align: left">Successful operation</td>
+            </tr>
+            <tr>
+              <td style="text-align: left">403</td>
+              <td style="text-align: left">Permission denied</td>
+            </tr>
+            <tr>
+              <td style="text-align: left">404</td>
+              <td style="text-align: left">Not found</td>
+            </tr>
+          </tbody>
+        </table>
+      </li>
+      <li>
+        <p>Response Body format:</p>
+
+        <div class="language-json highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="w">  </span><span class="p">{</span><span class="w">
+    </span><span class="s2">"Auditor"</span><span class="p">:</span><span class="w"> </span><span class="s2">"hostname/hostAddress:Port"</span><span class="w">
+  </span><span class="p">}</span><span class="w">
+</span></code></pre></div>        </div>
+      </li>
+    </ul>
+  </li>
+</ol>
+
+<h3 id="endpoint-apiv1autorecoverytrigger_audit">Endpoint: /api/v1/autorecovery/trigger_audit</h3>
+<ol>
+  <li>Method: PUT
+    <ul>
+      <li>Description: Force trigger audit by resting the lostBookieRecoveryDelay.</li>
+      <li>
+        <p>Response:</p>
+
+        <table>
+          <thead>
+            <tr>
+              <th style="text-align: left">Code</th>
+              <th style="text-align: left">Description</th>
+            </tr>
+          </thead>
+          <tbody>
+            <tr>
+              <td style="text-align: left">200</td>
+              <td style="text-align: left">Successful operation</td>
+            </tr>
+            <tr>
+              <td style="text-align: left">403</td>
+              <td style="text-align: left">Permission denied</td>
+            </tr>
+            <tr>
+              <td style="text-align: left">404</td>
+              <td style="text-align: left">Not found</td>
+            </tr>
+          </tbody>
+        </table>
+      </li>
+    </ul>
+  </li>
+</ol>
+
+<h3 id="endpoint-apiv1autorecoverylost_bookie_recovery_delay">Endpoint: /api/v1/autorecovery/lost_bookie_recovery_delay</h3>
+<ol>
+  <li>Method: GET
+    <ul>
+      <li>Description: Get lostBookieRecoveryDelay value in seconds.</li>
+      <li>
+        <p>Response:</p>
+
+        <table>
+          <thead>
+            <tr>
+              <th style="text-align: left">Code</th>
+              <th style="text-align: left">Description</th>
+            </tr>
+          </thead>
+          <tbody>
+            <tr>
+              <td style="text-align: left">200</td>
+              <td style="text-align: left">Successful operation</td>
+            </tr>
+            <tr>
+              <td style="text-align: left">403</td>
+              <td style="text-align: left">Permission denied</td>
+            </tr>
+            <tr>
+              <td style="text-align: left">404</td>
+              <td style="text-align: left">Not found</td>
+            </tr>
+          </tbody>
+        </table>
+      </li>
+    </ul>
+  </li>
+  <li>Method: PUT
+    <ul>
+      <li>Description: Set lostBookieRecoveryDelay value in seconds.</li>
+      <li>Body:
+        <div class="language-json highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="w">  </span><span class="p">{</span><span class="w">
+    </span><span class="s2">"delay_seconds"</span><span class="p">:</span><span class="w"> </span><span class="err">&lt;delay_seconds&gt;</span><span class="w">
+  </span><span class="p">}</span><span class="w">
+</span></code></pre></div>        </div>
+      </li>
+      <li>
+        <p>Parameters:</p>
+
+        <table>
+          <thead>
+            <tr>
+              <th style="text-align: left">Name</th>
+              <th style="text-align: left">Type</th>
+              <th style="text-align: left">Required</th>
+              <th style="text-align: left">Description</th>
+            </tr>
+          </thead>
+          <tbody>
+            <tr>
+              <td style="text-align: left">delay_seconds</td>
+              <td style="text-align: left">Long</td>
+              <td style="text-align: left">Yes</td>
+              <td style="text-align: left">set delay value in seconds.</td>
+            </tr>
+          </tbody>
+        </table>
+      </li>
+      <li>
+        <p>Response:</p>
+
+        <table>
+          <thead>
+            <tr>
+              <th style="text-align: left">Code</th>
+              <th style="text-align: left">Description</th>
+            </tr>
+          </thead>
+          <tbody>
+            <tr>
+              <td style="text-align: left">200</td>
+              <td style="text-align: left">Successful operation</td>
+            </tr>
+            <tr>
+              <td style="text-align: left">403</td>
+              <td style="text-align: left">Permission denied</td>
+            </tr>
+            <tr>
+              <td style="text-align: left">404</td>
+              <td style="text-align: left">Not found</td>
+            </tr>
+          </tbody>
+        </table>
+      </li>
+    </ul>
+  </li>
+</ol>
+
+<h3 id="endpoint-apiv1autorecoverydecommission">Endpoint: /api/v1/autorecovery/decommission</h3>
+<ol>
+  <li>Method: PUT
+    <ul>
+      <li>Description: Decommission Bookie, Force trigger Audit task and make sure all the ledgers stored in the decommissioning bookie are replicated.</li>
+      <li>Body:
+        <div class="language-json highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="w">  </span><span class="p">{</span><span class="w">
+    </span><span class="s2">"bookie_src"</span><span class="p">:</span><span class="w"> </span><span class="err">&lt;bookie_src&gt;</span><span class="w">
+  </span><span class="p">}</span><span class="w">
+</span></code></pre></div>        </div>
+      </li>
+      <li>
+        <p>Parameters:</p>
+
+        <table>
+          <thead>
+            <tr>
+              <th style="text-align: left">Name</th>
+              <th style="text-align: left">Type</th>
+              <th style="text-align: left">Required</th>
+              <th style="text-align: left">Description</th>
+            </tr>
+          </thead>
+          <tbody>
+            <tr>
+              <td style="text-align: left">bookie_src</td>
+              <td style="text-align: left">String</td>
+              <td style="text-align: left">Yes</td>
+              <td style="text-align: left">Bookie src to decommission..</td>
+            </tr>
+          </tbody>
+        </table>
+      </li>
+      <li>
+        <p>Response:</p>
+
+        <table>
+          <thead>
+            <tr>
+              <th style="text-align: left">Code</th>
+              <th style="text-align: left">Description</th>
+            </tr>
+          </thead>
+          <tbody>
+            <tr>
+              <td style="text-align: left">200</td>
+              <td style="text-align: left">Successful operation</td>
+            </tr>
+            <tr>
+              <td style="text-align: left">403</td>
+              <td style="text-align: left">Permission denied</td>
+            </tr>
+            <tr>
+              <td style="text-align: left">404</td>
+              <td style="text-align: left">Not found</td>
+            </tr>
+          </tbody>
+        </table>
+      </li>
+    </ul>
+  </li>
+</ol>
+
+        </section>
+
+        
+      </div>
+    </div>
+
+    <div class="column is-2 is-hidden-mobile">
+      
+      
+<div class="toc">
+  <h2 class="title">BookKeeper Admin REST API</h2>
+  <ul class="section-nav">
+<li class="toc-entry toc-h2"><a href="#all-the-endpoints">All the endpoints</a></li>
+<li class="toc-entry toc-h2"><a href="#heartbeat">Heartbeat</a></li>
+<li class="toc-entry toc-h3"><a href="#endpoint-heartbeat">Endpoint: /heartbeat</a></li>
+<li class="toc-entry toc-h2"><a href="#config">Config</a></li>
+<li class="toc-entry toc-h3"><a href="#endpoint-apiv1configserver_config">Endpoint: /api/v1/config/server_config</a></li>
+<li class="toc-entry toc-h2"><a href="#ledger">Ledger</a></li>
+<li class="toc-entry toc-h3"><a href="#endpoint-apiv1ledgerdeleteledger_idledger_id">Endpoint: /api/v1/ledger/delete/?ledger_id=<ledger_id></a></li>
+<li class="toc-entry toc-h3"><a href="#endpoint-apiv1ledgerlistprint_metadatametadata">Endpoint: /api/v1/ledger/list/?print_metadata=<metadata></a></li>
+<li class="toc-entry toc-h3"><a href="#endpoint-apiv1ledgermetadataledger_idledger_id">Endpoint: /api/v1/ledger/metadata/?ledger_id=<ledger_id></a></li>
+<li class="toc-entry toc-h3"><a href="#endpoint-apiv1ledgerreadledger_idledger_idstart_entry_idstart_entry_idend_entry_idend_entry_id">Endpoint: /api/v1/ledger/read/?ledger_id=<ledger_id>&start_entry_id=<start_entry_id>&end_entry_id=<end_entry_id></a></li>
+<li class="toc-entry toc-h2"><a href="#bookie">Bookie</a></li>
+<li class="toc-entry toc-h3"><a href="#endpoint-apiv1bookielist_bookiestypetypeprint_hostnameshostnames">Endpoint: /api/v1/bookie/list_bookies/?type=<type>&print_hostnames=<hostnames></a></li>
+<li class="toc-entry toc-h3"><a href="#endpoint-apiv1bookielist_bookie_info">Endpoint: /api/v1/bookie/list_bookie_info</a></li>
+<li class="toc-entry toc-h3"><a href="#endpoint-apiv1bookielast_log_mark">Endpoint: /api/v1/bookie/last_log_mark</a></li>
+<li class="toc-entry toc-h3"><a href="#endpoint-apiv1bookielist_disk_filefile_typetype">Endpoint: /api/v1/bookie/list_disk_file/?file_type=<type></a></li>
+<li class="toc-entry toc-h3"><a href="#endpoint-apiv1bookieexpand_storage">Endpoint: /api/v1/bookie/expand_storage</a></li>
+<li class="toc-entry toc-h2"><a href="#auto-recovery">Auto recovery</a></li>
+<li class="toc-entry toc-h3"><a href="#endpoint-apiv1autorecoverybookie">Endpoint: /api/v1/autorecovery/bookie/</a></li>
+<li class="toc-entry toc-h3"><a href="#endpoint-apiv1autorecoverylist_under_replicated_ledgermissingreplicabookie_addressexcludingmissingreplicabookie_address">Endpoint: /api/v1/autorecovery/list_under_replicated_ledger/?missingreplica=<bookie_address>&excludingmissingreplica=<bookie_address></a></li>
+<li class="toc-entry toc-h3"><a href="#endpoint-apiv1autorecoverywho_is_auditor">Endpoint: /api/v1/autorecovery/who_is_auditor</a></li>
+<li class="toc-entry toc-h3"><a href="#endpoint-apiv1autorecoverytrigger_audit">Endpoint: /api/v1/autorecovery/trigger_audit</a></li>
+<li class="toc-entry toc-h3"><a href="#endpoint-apiv1autorecoverylost_bookie_recovery_delay">Endpoint: /api/v1/autorecovery/lost_bookie_recovery_delay</a></li>
+<li class="toc-entry toc-h3"><a href="#endpoint-apiv1autorecoverydecommission">Endpoint: /api/v1/autorecovery/decommission</a></li>
+</ul>
+</div>
+
+
+      
+    </div>
+  </div>
+</div>
+
+
+
+<div id="entry-popover-html" class="popover-template">
+  <p>An entry is a sequence of bytes (plus some metadata) written to a BookKeeper ledger. Entries are also known as records.</p>
+
+</div>
+
+<div id="ledger-popover-html" class="popover-template">
+  <p>A ledger is a sequence of entries written to BookKeeper. Entries are written sequentially to ledgers and at most once, giving ledgers append-only semantics.</p>
+
+</div>
+
+<div id="bookie-popover-html" class="popover-template">
+  <p>A bookie is an individual BookKeeper storage server.</p>
+
+<p>Bookies store the content of ledgers and act as a distributed ensemble.</p>
+
+</div>
+
+<div id="rereplication-popover-html" class="popover-template">
+  <p>A subsystem that runs in the background on bookies to ensure that ledgers are fully replicated even if one bookie from the ensemble is down.</p>
+
+</div>
+
+<div id="striping-popover-html" class="popover-template">
+  <p>Striping is the process of distributing BookKeeper ledgers to sub-groups of bookies rather than to all bookies in a BookKeeper ensemble.</p>
+
+<p>Striping is essential to ensuring fast performance.</p>
+
+</div>
+
+<div id="journal-popover-html" class="popover-template">
+  <p>A journal file stores BookKeeper transaction logs.</p>
+
+</div>
+
+<div id="fencing-popover-html" class="popover-template">
+  <p>When a reader forces a ledger to close, preventing any further entries from being written to the ledger.</p>
+
+</div>
+
+<div id="record-popover-html" class="popover-template">
+  <p>A record is a sequence of bytes (plus some metadata) written to a BookKeeper ledger. Records are also known as entries.</p>
+
+</div>
+
+
+<script type="text/javascript">
+
+tippy('#entry-popover', {
+  html: '#entry-popover-html',
+  arrow: true,
+  animation: 'fade'
+});
+
+tippy('#ledger-popover', {
+  html: '#ledger-popover-html',
+  arrow: true,
+  animation: 'fade'
+});
+
+tippy('#bookie-popover', {
+  html: '#bookie-popover-html',
+  arrow: true,
+  animation: 'fade'
+});
+
+tippy('#rereplication-popover', {
+  html: '#rereplication-popover-html',
+  arrow: true,
+  animation: 'fade'
+});
+
+tippy('#striping-popover', {
+  html: '#striping-popover-html',
+  arrow: true,
+  animation: 'fade'
+});
+
+tippy('#journal-popover', {
+  html: '#journal-popover-html',
+  arrow: true,
+  animation: 'fade'
+});
+
+tippy('#fencing-popover', {
+  html: '#fencing-popover-html',
+  arrow: true,
+  animation: 'fade'
+});
+
+tippy('#record-popover', {
+  html: '#record-popover-html',
+  arrow: true,
+  animation: 'fade'
+});
+
+</script>
+
+    </main>
+
+    <footer class="footer">
+  <div class="container">
+    <div class="content has-text-centered">
+      <p>
+        Copyright &copy; 2016 - 2018 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br /> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+      </p>
+    </div>
+  </div>
+</footer>
+
+  </body>
+
+  <script src="/js/app.js"></script>
+
+  
+  <!--
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+      http://www.apache.org/licenses/LICENSE-2.0
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+-->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-104419626-1', 'auto');
+  ga('send', 'pageview');
+
+</script>
+
+  
+</html>
diff --git a/content/docs/4.6.2/admin/metrics/index.html b/content/docs/4.6.2/admin/metrics/index.html
new file mode 100644
index 0000000..0686893
--- /dev/null
+++ b/content/docs/4.6.2/admin/metrics/index.html
@@ -0,0 +1,708 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <title>Apache BookKeeper&trade; - Metric collection</title>
+
+<meta charset="utf-8">
+<meta http-equiv="X-UA-Compatible" content="IE=edge">
+<meta name="viewport" content="width=device-width, initial-scale=1">
+
+<link rel="stylesheet" href="/css/normalize.css">
+<link rel="stylesheet" href="/css/tippy.css">
+<link rel="stylesheet" href="/css/style.css">
+
+<link rel="shortcut icon" href="/img/favicon.ico">
+
+<script src="/js/tippy.min.js"></script>
+
+<script type="text/javascript">
+  var shiftWindow = function() { scrollBy(0, -25); };
+  window.addEventListener("hashchange", shiftWindow);
+  window.addEventListener("pageshow", shiftWindow);
+  function load() { if (window.location.hash) shiftWindow(); }
+</script>
+  </head>
+  <body class="body">
+    <main class="main">
+      
+<nav class="navbar bk-topnav">
+  <div class="navbar-brand">
+    <a class="navbar-item bk-brand" href="/">
+      Apache BookKeeper&trade;
+    </a>
+
+    <div class="navbar-burger burger" data-target="bkNav">
+      <span></span>
+      <span></span>
+      <span></span>
+    </div>
+  </div>
+
+  <div id="bkNav" class="navbar-menu">
+    <div class="navbar-start">
+      <div class="navbar-item has-dropdown is-hoverable">
+        <a class="navbar-link">Documentation</a>
+        <div class="navbar-dropdown is-boxed">
+          <a class="navbar-item" href="/docs/latest/overview/overview">
+            Version 4.7.0-SNAPSHOT
+            <span class="tag is-warning">Development</span>
+          </a>
+          <a class="navbar-item" href="/docs/latest/api/javadoc">
+            <span class="icon bk-javadoc-icon">
+              <img src="/img/java-icon.svg">
+            </span>
+            Javadoc
+          </a>
+          <hr class="dropdown-divider">
+          
+          <a class="navbar-item" href="/docs/4.6.1/overview/overview">
+            Release 4.6.1
+            
+          </a>
+          
+          <a class="navbar-item" href="/docs/4.6.0/overview/overview">
+            Release 4.6.0
+            
+          </a>
+          
+          <a class="navbar-item" href="/docs/4.5.1/overview/overview">
+            Release 4.5.1
+            
+          </a>
+          
+          <a class="navbar-item" href="/docs/4.5.0/overview/overview">
+            Release 4.5.0
+            <span class="tag is-success">Stable</span>
+          </a>
+          
+          
+          <a class="navbar-item" href="/archives/docs/r4.4.0">
+            Release 4.4.0
+            
+          </a>
+          
+          <a class="navbar-item" href="/archives/docs/r4.3.2">
+            Release 4.3.2
+            
+          </a>
+          
+          <a class="navbar-item" href="/archives/docs/r4.3.1">
+            Release 4.3.1
+            
+          </a>
+          
+          <a class="navbar-item" href="/archives/docs/r4.3.0">
+            Release 4.3.0
+            
+          </a>
+          
+          <a class="navbar-item" href="/archives/docs/r4.2.4">
+            Release 4.2.4
+            
+          </a>
+          
+          <a class="navbar-item" href="/archives/docs/r4.2.3">
+            Release 4.2.3
+            
+          </a>
+          
+          <a class="navbar-item" href="/archives/docs/r4.2.2">
+            Release 4.2.2
+            
+          </a>
+          
+          <a class="navbar-item" href="/archives/docs/r4.2.1">
+            Release 4.2.1
+            
+          </a>
+          
+          <a class="navbar-item" href="/archives/docs/r4.2.0">
+            Release 4.2.0
+            
+          </a>
+          
+          <a class="navbar-item" href="/archives/docs/r4.1.0">
+            Release 4.1.0
+            
+          </a>
+          
+          <a class="navbar-item" href="/archives/docs/r4.0.0">
+            Release 4.0.0
+            
+          </a>
+          
+        </div>
+      </div>
+
+      <div class="navbar-item has-dropdown is-hoverable">
+        <a class="navbar-link">Community</a>
+        <div class="navbar-dropdown is-boxed">
+          <a class="navbar-item" href="/community/mailing-lists">Mailing lists</a>
+          <a class="navbar-item" href="/community/slack">Slack</a>
+          <a class="navbar-item" href="https://github.com/apache/bookkeeper/issues">Github Issues</a>
+          <a class="navbar-item" href="/community/releases">Release Management</a>
+          <a class="navbar-item" href="/community/meeting">Community Meetings</a>
+          <hr class="dropdown-divider">
+          <a class="navbar-item" href="/community/contributing">Contribution Guide</a>
+          <a class="navbar-item" href="/community/coding_guide">Coding Guide</a>
+          <a class="navbar-item" href="/community/testing">Testing Guide</a>
+          <a class="navbar-item" href="/community/issue-report">Issue Report Guide</a>
+          <a class="navbar-item" href="/community/release_guide">Release Guide</a>
+          <hr class="dropdown-divider">
+          <a class="navbar-item" href="/community/presentations">Presentations</a>
+          <a class="navbar-item" href="/community/bookkeeper_proposals">BookKeeper Proposals</a>
+        </div>
+      </div>
+
+      <div class="navbar-item has-dropdown is-hoverable">
+        <a class="navbar-link">Project</a>
+        <div class="navbar-dropdown is-boxed">
+          <a class="navbar-item" href="/project/who">Who are we?</a>
+          <a class="navbar-item" href="/project/bylaws">Bylaws</a>
+          <a class="navbar-item" href="http://www.apache.org/licenses/">License</a>
+          <hr class="dropdown-divider">
+          <a class="navbar-item" href="/project/privacy">Privacy policy</a>
+          <a class="navbar-item" href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a>
+          <a class="navbar-item" href="http://www.apache.org/foundation/thanks.html">Thanks</a>
+        </div>
+      </div>
+    </div>
+
+    <div class="navbar-end">
+      <div class="navbar-item">
+        <div class="field is-grouped">
+          <p class="control">
+            <a class="button bk-twitter" href="https://twitter.com/asfbookkeeper">
+              <span class="icon">
+                <i class="fa fa-twitter"></i>
+              </span>
+              <span>Twitter</span>
+            </a>
+          </p>
+          <p class="control">
+            <a class="button" href="https://github.com/apache/bookkeeper">
+              <span class="icon">
+                <i class="fa fa-github"></i>
+              </span>
+              <span>GitHub</span>
+            </a>
+          </p>
+          <p class="control">
+            <a class="button is-primary" href="/releases">
+              <span class="icon">
+                <i class="fa fa-download"></i>
+              </span>
+              <span>Download</span>
+            </a>
+          </p>
+        </div>
+      </div>
+    </div>
+  </div>
+</nav>
+
+
+      <div class="bk-docs-container">
+  <div class="columns is-gapless">
+    <div class="column is-2 is-hidden-mobile">
+      <div class="container">
+        
+<aside class="sidebar">
+  
+  <a class="button is-info">
+    Version: 4.6.2
+  </a>
+  <hr />
+  
+  <p>
+    Getting started
+  </p>
+  <ul class="sidebar-items">
+    
+    
+    <li>
+      <a href="../../getting-started/installation">
+      Installation
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../getting-started/run-locally">
+      Run bookies locally
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../getting-started/concepts">
+      Concepts and architecture
+      </a>
+    </li>
+    
+  </ul>
+  
+  <p>
+    Deployment
+  </p>
+  <ul class="sidebar-items">
+    
+    
+    <li>
+      <a href="../../deployment/manual">
+      Manual deployment
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../deployment/dcos">
+      BookKeeper on DC/OS
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../deployment/kubernetes">
+      BookKeeper on Kubernetes
+      </a>
+    </li>
+    
+  </ul>
+  
+  <p>
+    Administration
+  </p>
+  <ul class="sidebar-items">
+    
+    
+    <li>
+      <a href="../../admin/bookies">
+      BookKeeper administration
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../admin/autorecovery">
+      AutoRecovery
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../admin/metrics">
+      Metric collection
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../admin/upgrade">
+      Upgrade
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../admin/http">
+      BookKeeper Admin REST API
+      </a>
+    </li>
+    
+  </ul>
+  
+  <p>
+    API
+  </p>
+  <ul class="sidebar-items">
+    
+    
+    <li>
+      <a href="../../api/overview">
+      Overview
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../api/ledger-api">
+      Ledger API
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../api/ledger-adv-api">
+      Advanced Ledger API
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../api/distributedlog-api">
+      DistributedLog
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../api/javadoc">
+      Java API Docs
+      </a>
+    </li>
+    
+  </ul>
+  
+  <p>
+    Security
+  </p>
+  <ul class="sidebar-items">
+    
+    
+    <li>
+      <a href="../../security/overview">
+      Overview
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../security/tls">
+      TLS Authentication
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../security/sasl">
+      SASL Authentication
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../security/zookeeper">
+      ZooKeeper Authentication
+      </a>
+    </li>
+    
+  </ul>
+  
+  <p>
+    Development
+  </p>
+  <ul class="sidebar-items">
+    
+    
+    <li>
+      <a href="../../development/protocol">
+      BookKeeper protocol
+      </a>
+    </li>
+    
+  </ul>
+  
+  <p>
+    Reference
+  </p>
+  <ul class="sidebar-items">
+    
+    
+    <li>
+      <a href="../../reference/config">
+      Configuration
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../reference/cli">
+      Command-line tools
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../reference/metrics">
+      Metrics
+      </a>
+    </li>
+    
+  </ul>
+  
+</aside>
+
+
+      </div>
+    </div>
+
+    <div class="column is-8 bk-docs-block">
+      <header class="docs-title">
+        <nav class="level bk-level">
+          <div class="level-left">
+            <div class="level-item">
+              <h1 class="title">Metric collection</h1>
+            </div>
+          </div>
+          
+        </nav>
+
+        
+      </header>
+
+      <hr />
+
+      <div class="content">
+        <section class="bk-main-content">
+          <p>BookKeeper enables metrics collection through a variety of <a href="#stats-providers">stats providers</a>.</p>
+
+<blockquote>
+  <p>For a full listing of available metrics, see the <a href="../../reference/metrics">Metrics</a> reference doc.</p>
+</blockquote>
+
+<h2 id="stats-providers">Stats providers</h2>
+
+<p>BookKeeper has stats provider implementations for four five sinks:</p>
+
+<table>
+  <thead>
+    <tr>
+      <th style="text-align: left">Provider</th>
+      <th style="text-align: left">Provider class name</th>
+    </tr>
+  </thead>
+  <tbody>
+    <tr>
+      <td style="text-align: left"><a href="https://mvnrepository.com/artifact/org.apache.bookkeeper.stats/codahale-metrics-provider">Codahale Metrics</a></td>
+      <td style="text-align: left"><code class="highlighter-rouge">org.apache.bookkeeper.stats.CodahaleMetricsProvider</code></td>
+    </tr>
+    <tr>
+      <td style="text-align: left"><a href="https://prometheus.io/">Prometheus</a></td>
+      <td style="text-align: left"><code class="highlighter-rouge">org.apache.bookkeeper.stats.prometheus.PrometheusMetricsProvider</code></td>
+    </tr>
+    <tr>
+      <td style="text-align: left"><a href="https://twitter.github.io/finagle/guide/Metrics.html">Finagle</a></td>
+      <td style="text-align: left"><code class="highlighter-rouge">org.apache.bookkeeper.stats.FinagleStatsProvider</code></td>
+    </tr>
+    <tr>
+      <td style="text-align: left"><a href="https://github.com/twitter/ostrich">Ostrich</a></td>
+      <td style="text-align: left"><code class="highlighter-rouge">org.apache.bookkeeper.stats.OstrichProvider</code></td>
+    </tr>
+    <tr>
+      <td style="text-align: left"><a href="https://mvnrepository.com/artifact/org.apache.bookkeeper.stats/twitter-science-provider">Twitter Science Provider</a></td>
+      <td style="text-align: left"><code class="highlighter-rouge">org.apache.bookkeeper.stats.TwitterStatsProvider</code></td>
+    </tr>
+  </tbody>
+</table>
+
+<blockquote>
+  <p>The <a href="https://github.com/apache/bookkeeper/tree/master/bookkeeper-stats-providers/codahale-metrics-provider">Codahale Metrics</a> stats provider is the default provider.</p>
+</blockquote>
+
+<h2 id="enabling-stats-providers-in-bookies">Enabling stats providers in bookies</h2>
+
+<p>There are two stats-related <a href="../../reference/config#statistics">configuration parameters</a> available for bookies:</p>
+
+<table>
+  <thead>
+    <tr>
+      <th style="text-align: left">Parameter</th>
+      <th style="text-align: left">Description</th>
+      <th style="text-align: left">Default</th>
+    </tr>
+  </thead>
+  <tbody>
+    <tr>
+      <td style="text-align: left"><code class="highlighter-rouge">enableStatistics</code></td>
+      <td style="text-align: left">Whether statistics are enabled for the bookie</td>
+      <td style="text-align: left"><code class="highlighter-rouge">false</code></td>
+    </tr>
+    <tr>
+      <td style="text-align: left"><code class="highlighter-rouge">statsProviderClass</code></td>
+      <td style="text-align: left">The stats provider class used by the bookie</td>
+      <td style="text-align: left"><code class="highlighter-rouge">org.apache.bookkeeper.stats.CodahaleMetricsProvider</code></td>
+    </tr>
+  </tbody>
+</table>
+
+<p>To enable stats:</p>
+
+<ul>
+  <li>set the <code class="highlighter-rouge">enableStatistics</code> parameter to <code class="highlighter-rouge">true</code></li>
+  <li>set <code class="highlighter-rouge">statsProviderClass</code> to the desired provider (see the <a href="#stats-providers">table above</a> for a listing of classes)</li>
+</ul>
+
+<!-- ## Enabling stats in the bookkeeper library
+
+TODO
+-->
+
+        </section>
+
+        
+      </div>
+    </div>
+
+    <div class="column is-2 is-hidden-mobile">
+      
+      
+<div class="toc">
+  <h2 class="title">Metric collection</h2>
+  <ul class="section-nav">
+<li class="toc-entry toc-h2"><a href="#stats-providers">Stats providers</a></li>
+<li class="toc-entry toc-h2"><a href="#enabling-stats-providers-in-bookies">Enabling stats providers in bookies</a></li>
+</ul>
+</div>
+
+
+      
+    </div>
+  </div>
+</div>
+
+
+
+<div id="entry-popover-html" class="popover-template">
+  <p>An entry is a sequence of bytes (plus some metadata) written to a BookKeeper ledger. Entries are also known as records.</p>
+
+</div>
+
+<div id="ledger-popover-html" class="popover-template">
+  <p>A ledger is a sequence of entries written to BookKeeper. Entries are written sequentially to ledgers and at most once, giving ledgers append-only semantics.</p>
+
+</div>
+
+<div id="bookie-popover-html" class="popover-template">
+  <p>A bookie is an individual BookKeeper storage server.</p>
+
+<p>Bookies store the content of ledgers and act as a distributed ensemble.</p>
+
+</div>
+
+<div id="rereplication-popover-html" class="popover-template">
+  <p>A subsystem that runs in the background on bookies to ensure that ledgers are fully replicated even if one bookie from the ensemble is down.</p>
+
+</div>
+
+<div id="striping-popover-html" class="popover-template">
+  <p>Striping is the process of distributing BookKeeper ledgers to sub-groups of bookies rather than to all bookies in a BookKeeper ensemble.</p>
+
+<p>Striping is essential to ensuring fast performance.</p>
+
+</div>
+
+<div id="journal-popover-html" class="popover-template">
+  <p>A journal file stores BookKeeper transaction logs.</p>
+
+</div>
+
+<div id="fencing-popover-html" class="popover-template">
+  <p>When a reader forces a ledger to close, preventing any further entries from being written to the ledger.</p>
+
+</div>
+
+<div id="record-popover-html" class="popover-template">
+  <p>A record is a sequence of bytes (plus some metadata) written to a BookKeeper ledger. Records are also known as entries.</p>
+
+</div>
+
+
+<script type="text/javascript">
+
+tippy('#entry-popover', {
+  html: '#entry-popover-html',
+  arrow: true,
+  animation: 'fade'
+});
+
+tippy('#ledger-popover', {
+  html: '#ledger-popover-html',
+  arrow: true,
+  animation: 'fade'
+});
+
+tippy('#bookie-popover', {
+  html: '#bookie-popover-html',
+  arrow: true,
+  animation: 'fade'
+});
+
+tippy('#rereplication-popover', {
+  html: '#rereplication-popover-html',
+  arrow: true,
+  animation: 'fade'
+});
+
+tippy('#striping-popover', {
+  html: '#striping-popover-html',
+  arrow: true,
+  animation: 'fade'
+});
+
+tippy('#journal-popover', {
+  html: '#journal-popover-html',
+  arrow: true,
+  animation: 'fade'
+});
+
+tippy('#fencing-popover', {
+  html: '#fencing-popover-html',
+  arrow: true,
+  animation: 'fade'
+});
+
+tippy('#record-popover', {
+  html: '#record-popover-html',
+  arrow: true,
+  animation: 'fade'
+});
+
+</script>
+
+    </main>
+
+    <footer class="footer">
+  <div class="container">
+    <div class="content has-text-centered">
+      <p>
+        Copyright &copy; 2016 - 2018 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br /> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+      </p>
+    </div>
+  </div>
+</footer>
+
+  </body>
+
+  <script src="/js/app.js"></script>
+
+  
+  <!--
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+      http://www.apache.org/licenses/LICENSE-2.0
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+-->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-104419626-1', 'auto');
+  ga('send', 'pageview');
+
+</script>
+
+  
+</html>
diff --git a/content/docs/4.6.2/admin/perf/index.html b/content/docs/4.6.2/admin/perf/index.html
new file mode 100644
index 0000000..b3fca2c
--- /dev/null
+++ b/content/docs/4.6.2/admin/perf/index.html
@@ -0,0 +1,625 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <title>Apache BookKeeper&trade; - Performance tuning</title>
+
+<meta charset="utf-8">
+<meta http-equiv="X-UA-Compatible" content="IE=edge">
+<meta name="viewport" content="width=device-width, initial-scale=1">
+
+<link rel="stylesheet" href="/css/normalize.css">
+<link rel="stylesheet" href="/css/tippy.css">
+<link rel="stylesheet" href="/css/style.css">
+
+<link rel="shortcut icon" href="/img/favicon.ico">
+
+<script src="/js/tippy.min.js"></script>
+
+<script type="text/javascript">
+  var shiftWindow = function() { scrollBy(0, -25); };
+  window.addEventListener("hashchange", shiftWindow);
+  window.addEventListener("pageshow", shiftWindow);
+  function load() { if (window.location.hash) shiftWindow(); }
+</script>
+  </head>
+  <body class="body">
+    <main class="main">
+      
+<nav class="navbar bk-topnav">
+  <div class="navbar-brand">
+    <a class="navbar-item bk-brand" href="/">
+      Apache BookKeeper&trade;
+    </a>
+
+    <div class="navbar-burger burger" data-target="bkNav">
+      <span></span>
+      <span></span>
+      <span></span>
+    </div>
+  </div>
+
+  <div id="bkNav" class="navbar-menu">
+    <div class="navbar-start">
+      <div class="navbar-item has-dropdown is-hoverable">
+        <a class="navbar-link">Documentation</a>
+        <div class="navbar-dropdown is-boxed">
+          <a class="navbar-item" href="/docs/latest/overview/overview">
+            Version 4.7.0-SNAPSHOT
+            <span class="tag is-warning">Development</span>
+          </a>
+          <a class="navbar-item" href="/docs/latest/api/javadoc">
+            <span class="icon bk-javadoc-icon">
+              <img src="/img/java-icon.svg">
+            </span>
+            Javadoc
+          </a>
+          <hr class="dropdown-divider">
+          
+          <a class="navbar-item" href="/docs/4.6.1/overview/overview">
+            Release 4.6.1
+            
+          </a>
+          
+          <a class="navbar-item" href="/docs/4.6.0/overview/overview">
+            Release 4.6.0
+            
+          </a>
+          
+          <a class="navbar-item" href="/docs/4.5.1/overview/overview">
+            Release 4.5.1
+            
+          </a>
+          
+          <a class="navbar-item" href="/docs/4.5.0/overview/overview">
+            Release 4.5.0
+            <span class="tag is-success">Stable</span>
+          </a>
+          
+          
+          <a class="navbar-item" href="/archives/docs/r4.4.0">
+            Release 4.4.0
+            
+          </a>
+          
+          <a class="navbar-item" href="/archives/docs/r4.3.2">
+            Release 4.3.2
+            
+          </a>
+          
+          <a class="navbar-item" href="/archives/docs/r4.3.1">
+            Release 4.3.1
+            
+          </a>
+          
+          <a class="navbar-item" href="/archives/docs/r4.3.0">
+            Release 4.3.0
+            
+          </a>
+          
+          <a class="navbar-item" href="/archives/docs/r4.2.4">
+            Release 4.2.4
+            
+          </a>
+          
+          <a class="navbar-item" href="/archives/docs/r4.2.3">
+            Release 4.2.3
+            
+          </a>
+          
+          <a class="navbar-item" href="/archives/docs/r4.2.2">
+            Release 4.2.2
+            
+          </a>
+          
+          <a class="navbar-item" href="/archives/docs/r4.2.1">
+            Release 4.2.1
+            
+          </a>
+          
+          <a class="navbar-item" href="/archives/docs/r4.2.0">
+            Release 4.2.0
+            
+          </a>
+          
+          <a class="navbar-item" href="/archives/docs/r4.1.0">
+            Release 4.1.0
+            
+          </a>
+          
+          <a class="navbar-item" href="/archives/docs/r4.0.0">
+            Release 4.0.0
+            
+          </a>
+          
+        </div>
+      </div>
+
+      <div class="navbar-item has-dropdown is-hoverable">
+        <a class="navbar-link">Community</a>
+        <div class="navbar-dropdown is-boxed">
+          <a class="navbar-item" href="/community/mailing-lists">Mailing lists</a>
+          <a class="navbar-item" href="/community/slack">Slack</a>
+          <a class="navbar-item" href="https://github.com/apache/bookkeeper/issues">Github Issues</a>
+          <a class="navbar-item" href="/community/releases">Release Management</a>
+          <a class="navbar-item" href="/community/meeting">Community Meetings</a>
+          <hr class="dropdown-divider">
+          <a class="navbar-item" href="/community/contributing">Contribution Guide</a>
+          <a class="navbar-item" href="/community/coding_guide">Coding Guide</a>
+          <a class="navbar-item" href="/community/testing">Testing Guide</a>
+          <a class="navbar-item" href="/community/issue-report">Issue Report Guide</a>
+          <a class="navbar-item" href="/community/release_guide">Release Guide</a>
+          <hr class="dropdown-divider">
+          <a class="navbar-item" href="/community/presentations">Presentations</a>
+          <a class="navbar-item" href="/community/bookkeeper_proposals">BookKeeper Proposals</a>
+        </div>
+      </div>
+
+      <div class="navbar-item has-dropdown is-hoverable">
+        <a class="navbar-link">Project</a>
+        <div class="navbar-dropdown is-boxed">
+          <a class="navbar-item" href="/project/who">Who are we?</a>
+          <a class="navbar-item" href="/project/bylaws">Bylaws</a>
+          <a class="navbar-item" href="http://www.apache.org/licenses/">License</a>
+          <hr class="dropdown-divider">
+          <a class="navbar-item" href="/project/privacy">Privacy policy</a>
+          <a class="navbar-item" href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a>
+          <a class="navbar-item" href="http://www.apache.org/foundation/thanks.html">Thanks</a>
+        </div>
+      </div>
+    </div>
+
+    <div class="navbar-end">
+      <div class="navbar-item">
+        <div class="field is-grouped">
+          <p class="control">
+            <a class="button bk-twitter" href="https://twitter.com/asfbookkeeper">
+              <span class="icon">
+                <i class="fa fa-twitter"></i>
+              </span>
+              <span>Twitter</span>
+            </a>
+          </p>
+          <p class="control">
+            <a class="button" href="https://github.com/apache/bookkeeper">
+              <span class="icon">
+                <i class="fa fa-github"></i>
+              </span>
+              <span>GitHub</span>
+            </a>
+          </p>
+          <p class="control">
+            <a class="button is-primary" href="/releases">
+              <span class="icon">
+                <i class="fa fa-download"></i>
+              </span>
+              <span>Download</span>
+            </a>
+          </p>
+        </div>
+      </div>
+    </div>
+  </div>
+</nav>
+
+
+      <div class="bk-docs-container">
+  <div class="columns is-gapless">
+    <div class="column is-2 is-hidden-mobile">
+      <div class="container">
+        
+<aside class="sidebar">
+  
+  <a class="button is-info">
+    Version: 4.6.2
+  </a>
+  <hr />
+  
+  <p>
+    Getting started
+  </p>
+  <ul class="sidebar-items">
+    
+    
+    <li>
+      <a href="../../getting-started/installation">
+      Installation
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../getting-started/run-locally">
+      Run bookies locally
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../getting-started/concepts">
+      Concepts and architecture
+      </a>
+    </li>
+    
+  </ul>
+  
+  <p>
+    Deployment
+  </p>
+  <ul class="sidebar-items">
+    
+    
+    <li>
+      <a href="../../deployment/manual">
+      Manual deployment
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../deployment/dcos">
+      BookKeeper on DC/OS
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../deployment/kubernetes">
+      BookKeeper on Kubernetes
+      </a>
+    </li>
+    
+  </ul>
+  
+  <p>
+    Administration
+  </p>
+  <ul class="sidebar-items">
+    
+    
+    <li>
+      <a href="../../admin/bookies">
+      BookKeeper administration
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../admin/autorecovery">
+      AutoRecovery
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../admin/metrics">
+      Metric collection
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../admin/upgrade">
+      Upgrade
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../admin/http">
+      BookKeeper Admin REST API
+      </a>
+    </li>
+    
+  </ul>
+  
+  <p>
+    API
+  </p>
+  <ul class="sidebar-items">
+    
+    
+    <li>
+      <a href="../../api/overview">
+      Overview
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../api/ledger-api">
+      Ledger API
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../api/ledger-adv-api">
+      Advanced Ledger API
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../api/distributedlog-api">
+      DistributedLog
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../api/javadoc">
+      Java API Docs
+      </a>
+    </li>
+    
+  </ul>
+  
+  <p>
+    Security
+  </p>
+  <ul class="sidebar-items">
+    
+    
+    <li>
+      <a href="../../security/overview">
+      Overview
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../security/tls">
+      TLS Authentication
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../security/sasl">
+      SASL Authentication
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../security/zookeeper">
+      ZooKeeper Authentication
+      </a>
+    </li>
+    
+  </ul>
+  
+  <p>
+    Development
+  </p>
+  <ul class="sidebar-items">
+    
+    
+    <li>
+      <a href="../../development/protocol">
+      BookKeeper protocol
+      </a>
+    </li>
+    
+  </ul>
+  
+  <p>
+    Reference
+  </p>
+  <ul class="sidebar-items">
+    
+    
+    <li>
+      <a href="../../reference/config">
+      Configuration
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../reference/cli">
+      Command-line tools
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../reference/metrics">
+      Metrics
+      </a>
+    </li>
+    
+  </ul>
+  
+</aside>
+
+
+      </div>
+    </div>
+
+    <div class="column is-8 bk-docs-block">
+      <header class="docs-title">
+        <nav class="level bk-level">
+          <div class="level-left">
+            <div class="level-item">
+              <h1 class="title">Performance tuning</h1>
+            </div>
+          </div>
+          
+        </nav>
+
+        
+      </header>
+
+      <hr />
+
+      <div class="content">
+        <section class="bk-main-content">
+          
+
+        </section>
+
+        
+      </div>
+    </div>
+
+    <div class="column is-2 is-hidden-mobile">
+      
+      
+<div class="toc">
+  <h2 class="title">Performance tuning</h2>
+  <ul class="section-nav">
+</ul>
+</div>
+
+
+      
+    </div>
+  </div>
+</div>
+
+
+
+<div id="entry-popover-html" class="popover-template">
+  <p>An entry is a sequence of bytes (plus some metadata) written to a BookKeeper ledger. Entries are also known as records.</p>
+
+</div>
+
+<div id="ledger-popover-html" class="popover-template">
+  <p>A ledger is a sequence of entries written to BookKeeper. Entries are written sequentially to ledgers and at most once, giving ledgers append-only semantics.</p>
+
+</div>
+
+<div id="bookie-popover-html" class="popover-template">
+  <p>A bookie is an individual BookKeeper storage server.</p>
+
+<p>Bookies store the content of ledgers and act as a distributed ensemble.</p>
+
+</div>
+
+<div id="rereplication-popover-html" class="popover-template">
+  <p>A subsystem that runs in the background on bookies to ensure that ledgers are fully replicated even if one bookie from the ensemble is down.</p>
+
+</div>
+
+<div id="striping-popover-html" class="popover-template">
+  <p>Striping is the process of distributing BookKeeper ledgers to sub-groups of bookies rather than to all bookies in a BookKeeper ensemble.</p>
+
+<p>Striping is essential to ensuring fast performance.</p>
+
+</div>
+
+<div id="journal-popover-html" class="popover-template">
+  <p>A journal file stores BookKeeper transaction logs.</p>
+
+</div>
+
+<div id="fencing-popover-html" class="popover-template">
+  <p>When a reader forces a ledger to close, preventing any further entries from being written to the ledger.</p>
+
+</div>
+
+<div id="record-popover-html" class="popover-template">
+  <p>A record is a sequence of bytes (plus some metadata) written to a BookKeeper ledger. Records are also known as entries.</p>
+
+</div>
+
+
+<script type="text/javascript">
+
+tippy('#entry-popover', {
+  html: '#entry-popover-html',
+  arrow: true,
+  animation: 'fade'
+});
+
+tippy('#ledger-popover', {
+  html: '#ledger-popover-html',
+  arrow: true,
+  animation: 'fade'
+});
+
+tippy('#bookie-popover', {
+  html: '#bookie-popover-html',
+  arrow: true,
+  animation: 'fade'
+});
+
+tippy('#rereplication-popover', {
+  html: '#rereplication-popover-html',
+  arrow: true,
+  animation: 'fade'
+});
+
+tippy('#striping-popover', {
+  html: '#striping-popover-html',
+  arrow: true,
+  animation: 'fade'
+});
+
+tippy('#journal-popover', {
+  html: '#journal-popover-html',
+  arrow: true,
+  animation: 'fade'
+});
+
+tippy('#fencing-popover', {
+  html: '#fencing-popover-html',
+  arrow: true,
+  animation: 'fade'
+});
+
+tippy('#record-popover', {
+  html: '#record-popover-html',
+  arrow: true,
+  animation: 'fade'
+});
+
+</script>
+
+    </main>
+
+    <footer class="footer">
+  <div class="container">
+    <div class="content has-text-centered">
+      <p>
+        Copyright &copy; 2016 - 2018 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br /> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+      </p>
+    </div>
+  </div>
+</footer>
+
+  </body>
+
+  <script src="/js/app.js"></script>
+
+  
+  <!--
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+      http://www.apache.org/licenses/LICENSE-2.0
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+-->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-104419626-1', 'auto');
+  ga('send', 'pageview');
+
+</script>
+
+  
+</html>
diff --git a/content/docs/4.6.2/admin/placement/index.html b/content/docs/4.6.2/admin/placement/index.html
new file mode 100644
index 0000000..b24a96b
--- /dev/null
+++ b/content/docs/4.6.2/admin/placement/index.html
@@ -0,0 +1,625 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <title>Apache BookKeeper&trade; - Customized placement policies</title>
+
+<meta charset="utf-8">
+<meta http-equiv="X-UA-Compatible" content="IE=edge">
+<meta name="viewport" content="width=device-width, initial-scale=1">
+
+<link rel="stylesheet" href="/css/normalize.css">
+<link rel="stylesheet" href="/css/tippy.css">
+<link rel="stylesheet" href="/css/style.css">
+
+<link rel="shortcut icon" href="/img/favicon.ico">
+
+<script src="/js/tippy.min.js"></script>
+
+<script type="text/javascript">
+  var shiftWindow = function() { scrollBy(0, -25); };
+  window.addEventListener("hashchange", shiftWindow);
+  window.addEventListener("pageshow", shiftWindow);
+  function load() { if (window.location.hash) shiftWindow(); }
+</script>
+  </head>
+  <body class="body">
+    <main class="main">
+      
+<nav class="navbar bk-topnav">
+  <div class="navbar-brand">
+    <a class="navbar-item bk-brand" href="/">
+      Apache BookKeeper&trade;
+    </a>
+
+    <div class="navbar-burger burger" data-target="bkNav">
+      <span></span>
+      <span></span>
+      <span></span>
+    </div>
+  </div>
+
+  <div id="bkNav" class="navbar-menu">
+    <div class="navbar-start">
+      <div class="navbar-item has-dropdown is-hoverable">
+        <a class="navbar-link">Documentation</a>
+        <div class="navbar-dropdown is-boxed">
+          <a class="navbar-item" href="/docs/latest/overview/overview">
+            Version 4.7.0-SNAPSHOT
+            <span class="tag is-warning">Development</span>
+          </a>
+          <a class="navbar-item" href="/docs/latest/api/javadoc">
+            <span class="icon bk-javadoc-icon">
+              <img src="/img/java-icon.svg">
+            </span>
+            Javadoc
+          </a>
+          <hr class="dropdown-divider">
+          
+          <a class="navbar-item" href="/docs/4.6.1/overview/overview">
+            Release 4.6.1
+            
+          </a>
+          
+          <a class="navbar-item" href="/docs/4.6.0/overview/overview">
+            Release 4.6.0
+            
+          </a>
+          
+          <a class="navbar-item" href="/docs/4.5.1/overview/overview">
+            Release 4.5.1
+            
+          </a>
+          
+          <a class="navbar-item" href="/docs/4.5.0/overview/overview">
+            Release 4.5.0
+            <span class="tag is-success">Stable</span>
+          </a>
+          
+          
+          <a class="navbar-item" href="/archives/docs/r4.4.0">
+            Release 4.4.0
+            
+          </a>
+          
+          <a class="navbar-item" href="/archives/docs/r4.3.2">
+            Release 4.3.2
+            
+          </a>
+          
+          <a class="navbar-item" href="/archives/docs/r4.3.1">
+            Release 4.3.1
+            
+          </a>
+          
+          <a class="navbar-item" href="/archives/docs/r4.3.0">
+            Release 4.3.0
+            
+          </a>
+          
+          <a class="navbar-item" href="/archives/docs/r4.2.4">
+            Release 4.2.4
+            
+          </a>
+          
+          <a class="navbar-item" href="/archives/docs/r4.2.3">
+            Release 4.2.3
+            
+          </a>
+          
+          <a class="navbar-item" href="/archives/docs/r4.2.2">
+            Release 4.2.2
+            
+          </a>
+          
+          <a class="navbar-item" href="/archives/docs/r4.2.1">
+            Release 4.2.1
+            
+          </a>
+          
+          <a class="navbar-item" href="/archives/docs/r4.2.0">
+            Release 4.2.0
+            
+          </a>
+          
+          <a class="navbar-item" href="/archives/docs/r4.1.0">
+            Release 4.1.0
+            
+          </a>
+          
+          <a class="navbar-item" href="/archives/docs/r4.0.0">
+            Release 4.0.0
+            
+          </a>
+          
+        </div>
+      </div>
+
+      <div class="navbar-item has-dropdown is-hoverable">
+        <a class="navbar-link">Community</a>
+        <div class="navbar-dropdown is-boxed">
+          <a class="navbar-item" href="/community/mailing-lists">Mailing lists</a>
+          <a class="navbar-item" href="/community/slack">Slack</a>
+          <a class="navbar-item" href="https://github.com/apache/bookkeeper/issues">Github Issues</a>
+          <a class="navbar-item" href="/community/releases">Release Management</a>
+          <a class="navbar-item" href="/community/meeting">Community Meetings</a>
+          <hr class="dropdown-divider">
+          <a class="navbar-item" href="/community/contributing">Contribution Guide</a>
+          <a class="navbar-item" href="/community/coding_guide">Coding Guide</a>
+          <a class="navbar-item" href="/community/testing">Testing Guide</a>
+          <a class="navbar-item" href="/community/issue-report">Issue Report Guide</a>
+          <a class="navbar-item" href="/community/release_guide">Release Guide</a>
+          <hr class="dropdown-divider">
+          <a class="navbar-item" href="/community/presentations">Presentations</a>
+          <a class="navbar-item" href="/community/bookkeeper_proposals">BookKeeper Proposals</a>
+        </div>
+      </div>
+
+      <div class="navbar-item has-dropdown is-hoverable">
+        <a class="navbar-link">Project</a>
+        <div class="navbar-dropdown is-boxed">
+          <a class="navbar-item" href="/project/who">Who are we?</a>
+          <a class="navbar-item" href="/project/bylaws">Bylaws</a>
+          <a class="navbar-item" href="http://www.apache.org/licenses/">License</a>
+          <hr class="dropdown-divider">
+          <a class="navbar-item" href="/project/privacy">Privacy policy</a>
+          <a class="navbar-item" href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a>
+          <a class="navbar-item" href="http://www.apache.org/foundation/thanks.html">Thanks</a>
+        </div>
+      </div>
+    </div>
+
+    <div class="navbar-end">
+      <div class="navbar-item">
+        <div class="field is-grouped">
+          <p class="control">
+            <a class="button bk-twitter" href="https://twitter.com/asfbookkeeper">
+              <span class="icon">
+                <i class="fa fa-twitter"></i>
+              </span>
+              <span>Twitter</span>
+            </a>
+          </p>
+          <p class="control">
+            <a class="button" href="https://github.com/apache/bookkeeper">
+              <span class="icon">
+                <i class="fa fa-github"></i>
+              </span>
+              <span>GitHub</span>
+            </a>
+          </p>
+          <p class="control">
+            <a class="button is-primary" href="/releases">
+              <span class="icon">
+                <i class="fa fa-download"></i>
+              </span>
+              <span>Download</span>
+            </a>
+          </p>
+        </div>
+      </div>
+    </div>
+  </div>
+</nav>
+
+
+      <div class="bk-docs-container">
+  <div class="columns is-gapless">
+    <div class="column is-2 is-hidden-mobile">
+      <div class="container">
+        
+<aside class="sidebar">
+  
+  <a class="button is-info">
+    Version: 4.6.2
+  </a>
+  <hr />
+  
+  <p>
+    Getting started
+  </p>
+  <ul class="sidebar-items">
+    
+    
+    <li>
+      <a href="../../getting-started/installation">
+      Installation
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../getting-started/run-locally">
+      Run bookies locally
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../getting-started/concepts">
+      Concepts and architecture
+      </a>
+    </li>
+    
+  </ul>
+  
+  <p>
+    Deployment
+  </p>
+  <ul class="sidebar-items">
+    
+    
+    <li>
+      <a href="../../deployment/manual">
+      Manual deployment
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../deployment/dcos">
+      BookKeeper on DC/OS
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../deployment/kubernetes">
+      BookKeeper on Kubernetes
+      </a>
+    </li>
+    
+  </ul>
+  
+  <p>
+    Administration
+  </p>
+  <ul class="sidebar-items">
+    
+    
+    <li>
+      <a href="../../admin/bookies">
+      BookKeeper administration
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../admin/autorecovery">
+      AutoRecovery
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../admin/metrics">
+      Metric collection
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../admin/upgrade">
+      Upgrade
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../admin/http">
+      BookKeeper Admin REST API
+      </a>
+    </li>
+    
+  </ul>
+  
+  <p>
+    API
+  </p>
+  <ul class="sidebar-items">
+    
+    
+    <li>
+      <a href="../../api/overview">
+      Overview
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../api/ledger-api">
+      Ledger API
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../api/ledger-adv-api">
+      Advanced Ledger API
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../api/distributedlog-api">
+      DistributedLog
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../api/javadoc">
+      Java API Docs
+      </a>
+    </li>
+    
+  </ul>
+  
+  <p>
+    Security
+  </p>
+  <ul class="sidebar-items">
+    
+    
+    <li>
+      <a href="../../security/overview">
+      Overview
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../security/tls">
+      TLS Authentication
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../security/sasl">
+      SASL Authentication
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../security/zookeeper">
+      ZooKeeper Authentication
+      </a>
+    </li>
+    
+  </ul>
+  
+  <p>
+    Development
+  </p>
+  <ul class="sidebar-items">
+    
+    
+    <li>
+      <a href="../../development/protocol">
+      BookKeeper protocol
+      </a>
+    </li>
+    
+  </ul>
+  
+  <p>
+    Reference
+  </p>
+  <ul class="sidebar-items">
+    
+    
+    <li>
+      <a href="../../reference/config">
+      Configuration
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../reference/cli">
+      Command-line tools
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../reference/metrics">
+      Metrics
+      </a>
+    </li>
+    
+  </ul>
+  
+</aside>
+
+
+      </div>
+    </div>
+
+    <div class="column is-8 bk-docs-block">
+      <header class="docs-title">
+        <nav class="level bk-level">
+          <div class="level-left">
+            <div class="level-item">
+              <h1 class="title">Customized placement policies</h1>
+            </div>
+          </div>
+          
+        </nav>
+
+        
+      </header>
+
+      <hr />
+
+      <div class="content">
+        <section class="bk-main-content">
+          
+
+        </section>
+
+        
+      </div>
+    </div>
+
+    <div class="column is-2 is-hidden-mobile">
+      
+      
+<div class="toc">
+  <h2 class="title">Customized placement policies</h2>
+  <ul class="section-nav">
+</ul>
+</div>
+
+
+      
+    </div>
+  </div>
+</div>
+
+
+
+<div id="entry-popover-html" class="popover-template">
+  <p>An entry is a sequence of bytes (plus some metadata) written to a BookKeeper ledger. Entries are also known as records.</p>
+
+</div>
+
+<div id="ledger-popover-html" class="popover-template">
+  <p>A ledger is a sequence of entries written to BookKeeper. Entries are written sequentially to ledgers and at most once, giving ledgers append-only semantics.</p>
+
+</div>
+
+<div id="bookie-popover-html" class="popover-template">
+  <p>A bookie is an individual BookKeeper storage server.</p>
+
+<p>Bookies store the content of ledgers and act as a distributed ensemble.</p>
+
+</div>
+
+<div id="rereplication-popover-html" class="popover-template">
+  <p>A subsystem that runs in the background on bookies to ensure that ledgers are fully replicated even if one bookie from the ensemble is down.</p>
+
+</div>
+
+<div id="striping-popover-html" class="popover-template">
+  <p>Striping is the process of distributing BookKeeper ledgers to sub-groups of bookies rather than to all bookies in a BookKeeper ensemble.</p>
+
+<p>Striping is essential to ensuring fast performance.</p>
+
+</div>
+
+<div id="journal-popover-html" class="popover-template">
+  <p>A journal file stores BookKeeper transaction logs.</p>
+
+</div>
+
+<div id="fencing-popover-html" class="popover-template">
+  <p>When a reader forces a ledger to close, preventing any further entries from being written to the ledger.</p>
+
+</div>
+
+<div id="record-popover-html" class="popover-template">
+  <p>A record is a sequence of bytes (plus some metadata) written to a BookKeeper ledger. Records are also known as entries.</p>
+
+</div>
+
+
+<script type="text/javascript">
+
+tippy('#entry-popover', {
+  html: '#entry-popover-html',
+  arrow: true,
+  animation: 'fade'
+});
+
+tippy('#ledger-popover', {
+  html: '#ledger-popover-html',
+  arrow: true,
+  animation: 'fade'
+});
+
+tippy('#bookie-popover', {
+  html: '#bookie-popover-html',
+  arrow: true,
+  animation: 'fade'
+});
+
+tippy('#rereplication-popover', {
+  html: '#rereplication-popover-html',
+  arrow: true,
+  animation: 'fade'
+});
+
+tippy('#striping-popover', {
+  html: '#striping-popover-html',
+  arrow: true,
+  animation: 'fade'
+});
+
+tippy('#journal-popover', {
+  html: '#journal-popover-html',
+  arrow: true,
+  animation: 'fade'
+});
+
+tippy('#fencing-popover', {
+  html: '#fencing-popover-html',
+  arrow: true,
+  animation: 'fade'
+});
+
+tippy('#record-popover', {
+  html: '#record-popover-html',
+  arrow: true,
+  animation: 'fade'
+});
+
+</script>
+
+    </main>
+
+    <footer class="footer">
+  <div class="container">
+    <div class="content has-text-centered">
+      <p>
+        Copyright &copy; 2016 - 2018 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br /> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+      </p>
+    </div>
+  </div>
+</footer>
+
+  </body>
+
+  <script src="/js/app.js"></script>
+
+  
+  <!--
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+      http://www.apache.org/licenses/LICENSE-2.0
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+-->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-104419626-1', 'auto');
+  ga('send', 'pageview');
+
+</script>
+
+  
+</html>
diff --git a/content/docs/4.6.2/admin/upgrade/index.html b/content/docs/4.6.2/admin/upgrade/index.html
new file mode 100644
index 0000000..55bd78a
--- /dev/null
+++ b/content/docs/4.6.2/admin/upgrade/index.html
@@ -0,0 +1,712 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <title>Apache BookKeeper&trade; - Upgrade</title>
+
+<meta charset="utf-8">
+<meta http-equiv="X-UA-Compatible" content="IE=edge">
+<meta name="viewport" content="width=device-width, initial-scale=1">
+
+<link rel="stylesheet" href="/css/normalize.css">
+<link rel="stylesheet" href="/css/tippy.css">
+<link rel="stylesheet" href="/css/style.css">
+
+<link rel="shortcut icon" href="/img/favicon.ico">
+
+<script src="/js/tippy.min.js"></script>
+
+<script type="text/javascript">
+  var shiftWindow = function() { scrollBy(0, -25); };
+  window.addEventListener("hashchange", shiftWindow);
+  window.addEventListener("pageshow", shiftWindow);
+  function load() { if (window.location.hash) shiftWindow(); }
+</script>
+  </head>
+  <body class="body">
+    <main class="main">
+      
+<nav class="navbar bk-topnav">
+  <div class="navbar-brand">
+    <a class="navbar-item bk-brand" href="/">
+      Apache BookKeeper&trade;
+    </a>
+
+    <div class="navbar-burger burger" data-target="bkNav">
+      <span></span>
+      <span></span>
+      <span></span>
+    </div>
+  </div>
+
+  <div id="bkNav" class="navbar-menu">
+    <div class="navbar-start">
+      <div class="navbar-item has-dropdown is-hoverable">
+        <a class="navbar-link">Documentation</a>
+        <div class="navbar-dropdown is-boxed">
+          <a class="navbar-item" href="/docs/latest/overview/overview">
+            Version 4.7.0-SNAPSHOT
+            <span class="tag is-warning">Development</span>
+          </a>
+          <a class="navbar-item" href="/docs/latest/api/javadoc">
+            <span class="icon bk-javadoc-icon">
+              <img src="/img/java-icon.svg">
+            </span>
+            Javadoc
+          </a>
+          <hr class="dropdown-divider">
+          
+          <a class="navbar-item" href="/docs/4.6.1/overview/overview">
+            Release 4.6.1
+            
+          </a>
+          
+          <a class="navbar-item" href="/docs/4.6.0/overview/overview">
+            Release 4.6.0
+            
+          </a>
+          
+          <a class="navbar-item" href="/docs/4.5.1/overview/overview">
+            Release 4.5.1
+            
+          </a>
+          
+          <a class="navbar-item" href="/docs/4.5.0/overview/overview">
+            Release 4.5.0
+            <span class="tag is-success">Stable</span>
+          </a>
+          
+          
+          <a class="navbar-item" href="/archives/docs/r4.4.0">
+            Release 4.4.0
+            
+          </a>
+          
+          <a class="navbar-item" href="/archives/docs/r4.3.2">
+            Release 4.3.2
+            
+          </a>
+          
+          <a class="navbar-item" href="/archives/docs/r4.3.1">
+            Release 4.3.1
+            
+          </a>
+          
+          <a class="navbar-item" href="/archives/docs/r4.3.0">
+            Release 4.3.0
+            
+          </a>
+          
+          <a class="navbar-item" href="/archives/docs/r4.2.4">
+            Release 4.2.4
+            
+          </a>
+          
+          <a class="navbar-item" href="/archives/docs/r4.2.3">
+            Release 4.2.3
+            
+          </a>
+          
+          <a class="navbar-item" href="/archives/docs/r4.2.2">
+            Release 4.2.2
+            
+          </a>
+          
+          <a class="navbar-item" href="/archives/docs/r4.2.1">
+            Release 4.2.1
+            
+          </a>
+          
+          <a class="navbar-item" href="/archives/docs/r4.2.0">
+            Release 4.2.0
+            
+          </a>
+          
+          <a class="navbar-item" href="/archives/docs/r4.1.0">
+            Release 4.1.0
+            
+          </a>
+          
+          <a class="navbar-item" href="/archives/docs/r4.0.0">
+            Release 4.0.0
+            
+          </a>
+          
+        </div>
+      </div>
+
+      <div class="navbar-item has-dropdown is-hoverable">
+        <a class="navbar-link">Community</a>
+        <div class="navbar-dropdown is-boxed">
+          <a class="navbar-item" href="/community/mailing-lists">Mailing lists</a>
+          <a class="navbar-item" href="/community/slack">Slack</a>
+          <a class="navbar-item" href="https://github.com/apache/bookkeeper/issues">Github Issues</a>
+          <a class="navbar-item" href="/community/releases">Release Management</a>
+          <a class="navbar-item" href="/community/meeting">Community Meetings</a>
+          <hr class="dropdown-divider">
+          <a class="navbar-item" href="/community/contributing">Contribution Guide</a>
+          <a class="navbar-item" href="/community/coding_guide">Coding Guide</a>
+          <a class="navbar-item" href="/community/testing">Testing Guide</a>
+          <a class="navbar-item" href="/community/issue-report">Issue Report Guide</a>
+          <a class="navbar-item" href="/community/release_guide">Release Guide</a>
+          <hr class="dropdown-divider">
+          <a class="navbar-item" href="/community/presentations">Presentations</a>
+          <a class="navbar-item" href="/community/bookkeeper_proposals">BookKeeper Proposals</a>
+        </div>
+      </div>
+
+      <div class="navbar-item has-dropdown is-hoverable">
+        <a class="navbar-link">Project</a>
+        <div class="navbar-dropdown is-boxed">
+          <a class="navbar-item" href="/project/who">Who are we?</a>
+          <a class="navbar-item" href="/project/bylaws">Bylaws</a>
+          <a class="navbar-item" href="http://www.apache.org/licenses/">License</a>
+          <hr class="dropdown-divider">
+          <a class="navbar-item" href="/project/privacy">Privacy policy</a>
+          <a class="navbar-item" href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a>
+          <a class="navbar-item" href="http://www.apache.org/foundation/thanks.html">Thanks</a>
+        </div>
+      </div>
+    </div>
+
+    <div class="navbar-end">
+      <div class="navbar-item">
+        <div class="field is-grouped">
+          <p class="control">
+            <a class="button bk-twitter" href="https://twitter.com/asfbookkeeper">
+              <span class="icon">
+                <i class="fa fa-twitter"></i>
+              </span>
+              <span>Twitter</span>
+            </a>
+          </p>
+          <p class="control">
+            <a class="button" href="https://github.com/apache/bookkeeper">
+              <span class="icon">
+                <i class="fa fa-github"></i>
+              </span>
+              <span>GitHub</span>
+            </a>
+          </p>
+          <p class="control">
+            <a class="button is-primary" href="/releases">
+              <span class="icon">
+                <i class="fa fa-download"></i>
+              </span>
+              <span>Download</span>
+            </a>
+          </p>
+        </div>
+      </div>
+    </div>
+  </div>
+</nav>
+
+
+      <div class="bk-docs-container">
+  <div class="columns is-gapless">
+    <div class="column is-2 is-hidden-mobile">
+      <div class="container">
+        
+<aside class="sidebar">
+  
+  <a class="button is-info">
+    Version: 4.6.2
+  </a>
+  <hr />
+  
+  <p>
+    Getting started
+  </p>
+  <ul class="sidebar-items">
+    
+    
+    <li>
+      <a href="../../getting-started/installation">
+      Installation
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../getting-started/run-locally">
+      Run bookies locally
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../getting-started/concepts">
+      Concepts and architecture
+      </a>
+    </li>
+    
+  </ul>
+  
+  <p>
+    Deployment
+  </p>
+  <ul class="sidebar-items">
+    
+    
+    <li>
+      <a href="../../deployment/manual">
+      Manual deployment
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../deployment/dcos">
+      BookKeeper on DC/OS
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../deployment/kubernetes">
+      BookKeeper on Kubernetes
+      </a>
+    </li>
+    
+  </ul>
+  
+  <p>
+    Administration
+  </p>
+  <ul class="sidebar-items">
+    
+    
+    <li>
+      <a href="../../admin/bookies">
+      BookKeeper administration
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../admin/autorecovery">
+      AutoRecovery
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../admin/metrics">
+      Metric collection
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../admin/upgrade">
+      Upgrade
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../admin/http">
+      BookKeeper Admin REST API
+      </a>
+    </li>
+    
+  </ul>
+  
+  <p>
+    API
+  </p>
+  <ul class="sidebar-items">
+    
+    
+    <li>
+      <a href="../../api/overview">
+      Overview
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../api/ledger-api">
+      Ledger API
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../api/ledger-adv-api">
+      Advanced Ledger API
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../api/distributedlog-api">
+      DistributedLog
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../api/javadoc">
+      Java API Docs
+      </a>
+    </li>
+    
+  </ul>
+  
+  <p>
+    Security
+  </p>
+  <ul class="sidebar-items">
+    
+    
+    <li>
+      <a href="../../security/overview">
+      Overview
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../security/tls">
+      TLS Authentication
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../security/sasl">
+      SASL Authentication
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../security/zookeeper">
+      ZooKeeper Authentication
+      </a>
+    </li>
+    
+  </ul>
+  
+  <p>
+    Development
+  </p>
+  <ul class="sidebar-items">
+    
+    
+    <li>
+      <a href="../../development/protocol">
+      BookKeeper protocol
+      </a>
+    </li>
+    
+  </ul>
+  
+  <p>
+    Reference
+  </p>
+  <ul class="sidebar-items">
+    
+    
+    <li>
+      <a href="../../reference/config">
+      Configuration
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../reference/cli">
+      Command-line tools
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../reference/metrics">
+      Metrics
+      </a>
+    </li>
+    
+  </ul>
+  
+</aside>
+
+
+      </div>
+    </div>
+
+    <div class="column is-8 bk-docs-block">
+      <header class="docs-title">
+        <nav class="level bk-level">
+          <div class="level-left">
+            <div class="level-item">
+              <h1 class="title">Upgrade</h1>
+            </div>
+          </div>
+          
+        </nav>
+
+        
+      </header>
+
+      <hr />
+
+      <div class="content">
+        <section class="bk-main-content">
+          <blockquote>
+  <p>If you have questions about upgrades (or need help), please feel free to reach out to us by <a href="/community/mailing-lists">mailing list</a> or <a href="/community/slack">Slack Channel</a>.</p>
+</blockquote>
+
+<h2 id="overview">Overview</h2>
+
+<p>Consider the below guidelines in preparation for upgrading.</p>
+
+<ul>
+  <li>Always back up all your configuration files before upgrading.</li>
+  <li>Read through the documentation and draft an upgrade plan that matches your specific requirements and environment before starting the upgrade process.
+  Put differently, don’t start working through the guide on a live cluster. Read guide entirely, make a plan, then execute the plan.</li>
+  <li>Pay careful consideration to the order in which components are upgraded. In general, you need to upgrade bookies first and then upgrade your clients.</li>
+  <li>If autorecovery is running along with bookies, you need to pay attention to the upgrade sequence.</li>
+  <li>Read the release notes carefully for each release. They contain not only information about noteworthy features, but also changes to configurations
+  that may impact your upgrade.</li>
+  <li>Always upgrade one or a small set of bookies to canary new version before upgraing all bookies in your cluster.</li>
+</ul>
+
+<h2 id="canary">Canary</h2>
+
+<p>It is wise to canary an upgraded version in one or small set of bookies before upgrading all bookies in your live cluster.</p>
+
+<p>You can follow below steps on how to canary a upgraded version:</p>
+
+<ol>
+  <li>Stop a Bookie.</li>
+  <li>Upgrade the binary and configuration.</li>
+  <li>Start the Bookie in <code class="highlighter-rouge">ReadOnly</code> mode. This can be used to verify if the Bookie of this new version can run well for read workload.</li>
+  <li>Once the Bookie is running at <code class="highlighter-rouge">ReadOnly</code> mode successfully for a while, restart the Bookie in <code class="highlighter-rouge">Write/Read</code> mode.</li>
+  <li>After step 4, the Bookie will serve both write and read traffic.</li>
+</ol>
+
+<h3 id="rollback-canaries">Rollback Canaries</h3>
+
+<p>If problems occur during canarying an upgraded version, you can simply take down the problematic Bookie node. The remain bookies in the old cluster
+will repair this problematic bookie node by autorecovery. Nothing needs to be worried about.</p>
+
+<h2 id="upgrade-steps">Upgrade Steps</h2>
+
+<p>Once you determined a version is safe to upgrade in a few nodes in your cluster, you can perform following steps to upgrade all bookies in your cluster.</p>
+
+<ol>
+  <li>Determine if autorecovery is running along with bookies. If yes, check if the clients (either new clients with new binary or old clients with new configurations)
+are allowed to talk to old bookies; if clients are not allowed to talk to old bookies, please <a href="../../reference/cli/#autorecovery-1">disable autorecovery</a> during upgrade.</li>
+  <li>Decide on performing a rolling upgrade or a downtime upgrade.</li>
+  <li>Upgrade all Bookies (more below)</li>
+  <li>If autorecovery was disabled during upgrade, <a href="../../reference/cli/#autorecovery-1">enable autorecovery</a>.</li>
+  <li>After all bookies are upgraded, build applications that use <code class="highlighter-rouge">BookKeeper client</code> against the new bookkeeper libraries and deploy the new versions.</li>
+</ol>
+
+<h3 id="upgrade-bookies">Upgrade Bookies</h3>
+
+<p>In a rolling upgrade scenario, upgrade one Bookie at a time. In a downtime upgrade scenario, take the entire cluster down, upgrade each Bookie, then start the cluster.</p>
+
+<p>For each Bookie:</p>
+
+<ol>
+  <li>Stop the bookie.</li>
+  <li>Upgrade the software (either new binary or new configuration)</li>
+  <li>Start the bookie.</li>
+</ol>
+
+<h2 id="upgrade-guides">Upgrade Guides</h2>
+
+<p>We describes the general upgrade method in Apache BookKeeper as above. We will cover the details for individual versions.</p>
+
+<h3 id="44x-to-45x-upgrade">4.4.x to 4.5.x upgrade</h3>
+
+<p>There isn’t any protocol related backward compabilities changes in 4.5.0. So you can follow the general upgrade sequence to upgrade from 4.4.x to 4.5.x.
+However, we list a list of things that you might want to know.</p>
+
+<ol>
+  <li>4.5.x upgrades netty from 3.x to 4.x. The memory usage pattern might be changed a bit. Netty 4 uses more direct memory. Please pay attention to your memory usage
+ and adjust the JVM settings accordingly.</li>
+  <li><code class="highlighter-rouge">multi journals</code> is a non-rollbackable feature. If you configure a bookie to use multiple journals on 4.5.x you can not roll the bookie back to use 4.4.x. You have
+ to take a bookie out and recover it if you want to rollback to 4.4.x.</li>
+</ol>
+
+<p>If you are planning to upgrade a non-secured cluster to a secured cluster enabling security features in 4.5.0, please read <a href="../../security/overview">BookKeeper Security</a> for more details.</p>
+
+
+        </section>
+
+        
+      </div>
+    </div>
+
+    <div class="column is-2 is-hidden-mobile">
+      
+      
+<div class="toc">
+  <h2 class="title">Upgrade</h2>
+  <ul class="section-nav">
+<li class="toc-entry toc-h2"><a href="#overview">Overview</a></li>
+<li class="toc-entry toc-h2"><a href="#canary">Canary</a></li>
+<li class="toc-entry toc-h3"><a href="#rollback-canaries">Rollback Canaries</a></li>
+<li class="toc-entry toc-h2"><a href="#upgrade-steps">Upgrade Steps</a></li>
+<li class="toc-entry toc-h3"><a href="#upgrade-bookies">Upgrade Bookies</a></li>
+<li class="toc-entry toc-h2"><a href="#upgrade-guides">Upgrade Guides</a></li>
+<li class="toc-entry toc-h3"><a href="#44x-to-45x-upgrade">4.4.x to 4.5.x upgrade</a></li>
+</ul>
+</div>
+
+
+      
+    </div>
+  </div>
+</div>
+
+
+
+<div id="entry-popover-html" class="popover-template">
+  <p>An entry is a sequence of bytes (plus some metadata) written to a BookKeeper ledger. Entries are also known as records.</p>
+
+</div>
+
+<div id="ledger-popover-html" class="popover-template">
+  <p>A ledger is a sequence of entries written to BookKeeper. Entries are written sequentially to ledgers and at most once, giving ledgers append-only semantics.</p>
+
+</div>
+
+<div id="bookie-popover-html" class="popover-template">
+  <p>A bookie is an individual BookKeeper storage server.</p>
+
+<p>Bookies store the content of ledgers and act as a distributed ensemble.</p>
+
+</div>
+
+<div id="rereplication-popover-html" class="popover-template">
+  <p>A subsystem that runs in the background on bookies to ensure that ledgers are fully replicated even if one bookie from the ensemble is down.</p>
+
+</div>
+
+<div id="striping-popover-html" class="popover-template">
+  <p>Striping is the process of distributing BookKeeper ledgers to sub-groups of bookies rather than to all bookies in a BookKeeper ensemble.</p>
+
+<p>Striping is essential to ensuring fast performance.</p>
+
+</div>
+
+<div id="journal-popover-html" class="popover-template">
+  <p>A journal file stores BookKeeper transaction logs.</p>
+
+</div>
+
+<div id="fencing-popover-html" class="popover-template">
+  <p>When a reader forces a ledger to close, preventing any further entries from being written to the ledger.</p>
+
+</div>
+
+<div id="record-popover-html" class="popover-template">
+  <p>A record is a sequence of bytes (plus some metadata) written to a BookKeeper ledger. Records are also known as entries.</p>
+
+</div>
+
+
+<script type="text/javascript">
+
+tippy('#entry-popover', {
+  html: '#entry-popover-html',
+  arrow: true,
+  animation: 'fade'
+});
+
+tippy('#ledger-popover', {
+  html: '#ledger-popover-html',
+  arrow: true,
+  animation: 'fade'
+});
+
+tippy('#bookie-popover', {
+  html: '#bookie-popover-html',
+  arrow: true,
+  animation: 'fade'
+});
+
+tippy('#rereplication-popover', {
+  html: '#rereplication-popover-html',
+  arrow: true,
+  animation: 'fade'
+});
+
+tippy('#striping-popover', {
+  html: '#striping-popover-html',
+  arrow: true,
+  animation: 'fade'
+});
+
+tippy('#journal-popover', {
+  html: '#journal-popover-html',
+  arrow: true,
+  animation: 'fade'
+});
+
+tippy('#fencing-popover', {
+  html: '#fencing-popover-html',
+  arrow: true,
+  animation: 'fade'
+});
+
+tippy('#record-popover', {
+  html: '#record-popover-html',
+  arrow: true,
+  animation: 'fade'
+});
+
+</script>
+
+    </main>
+
+    <footer class="footer">
+  <div class="container">
+    <div class="content has-text-centered">
+      <p>
+        Copyright &copy; 2016 - 2018 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br /> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+      </p>
+    </div>
+  </div>
+</footer>
+
+  </body>
+
+  <script src="/js/app.js"></script>
+
+  
+  <!--
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+      http://www.apache.org/licenses/LICENSE-2.0
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+-->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-104419626-1', 'auto');
+  ga('send', 'pageview');
+
+</script>
+
+  
+</html>
diff --git a/content/docs/4.6.2/api/distributedlog-api/index.html b/content/docs/4.6.2/api/distributedlog-api/index.html
new file mode 100644
index 0000000..f3787c1
--- /dev/null
+++ b/content/docs/4.6.2/api/distributedlog-api/index.html
@@ -0,0 +1,1035 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <title>Apache BookKeeper&trade; - DistributedLog</title>
+
+<meta charset="utf-8">
+<meta http-equiv="X-UA-Compatible" content="IE=edge">
+<meta name="viewport" content="width=device-width, initial-scale=1">
+
+<link rel="stylesheet" href="/css/normalize.css">
+<link rel="stylesheet" href="/css/tippy.css">
+<link rel="stylesheet" href="/css/style.css">
+
+<link rel="shortcut icon" href="/img/favicon.ico">
+
+<script src="/js/tippy.min.js"></script>
+
+<script type="text/javascript">
+  var shiftWindow = function() { scrollBy(0, -25); };
+  window.addEventListener("hashchange", shiftWindow);
+  window.addEventListener("pageshow", shiftWindow);
+  function load() { if (window.location.hash) shiftWindow(); }
+</script>
+  </head>
+  <body class="body">
+    <main class="main">
+      
+<nav class="navbar bk-topnav">
+  <div class="navbar-brand">
+    <a class="navbar-item bk-brand" href="/">
+      Apache BookKeeper&trade;
+    </a>
+
+    <div class="navbar-burger burger" data-target="bkNav">
+      <span></span>
+      <span></span>
+      <span></span>
+    </div>
+  </div>
+
+  <div id="bkNav" class="navbar-menu">
+    <div class="navbar-start">
+      <div class="navbar-item has-dropdown is-hoverable">
+        <a class="navbar-link">Documentation</a>
+        <div class="navbar-dropdown is-boxed">
+          <a class="navbar-item" href="/docs/latest/overview/overview">
+            Version 4.7.0-SNAPSHOT
+            <span class="tag is-warning">Development</span>
+          </a>
+          <a class="navbar-item" href="/docs/latest/api/javadoc">
+            <span class="icon bk-javadoc-icon">
+              <img src="/img/java-icon.svg">
+            </span>
+            Javadoc
+          </a>
+          <hr class="dropdown-divider">
+          
+          <a class="navbar-item" href="/docs/4.6.1/overview/overview">
+            Release 4.6.1
+            
+          </a>
+          
+          <a class="navbar-item" href="/docs/4.6.0/overview/overview">
+            Release 4.6.0
+            
+          </a>
+          
+          <a class="navbar-item" href="/docs/4.5.1/overview/overview">
+            Release 4.5.1
+            
+          </a>
+          
+          <a class="navbar-item" href="/docs/4.5.0/overview/overview">
+            Release 4.5.0
+            <span class="tag is-success">Stable</span>
+          </a>
+          
+          
+          <a class="navbar-item" href="/archives/docs/r4.4.0">
+            Release 4.4.0
+            
+          </a>
+          
+          <a class="navbar-item" href="/archives/docs/r4.3.2">
+            Release 4.3.2
+            
+          </a>
+          
+          <a class="navbar-item" href="/archives/docs/r4.3.1">
+            Release 4.3.1
+            
+          </a>
+          
+          <a class="navbar-item" href="/archives/docs/r4.3.0">
+            Release 4.3.0
+            
+          </a>
+          
+          <a class="navbar-item" href="/archives/docs/r4.2.4">
+            Release 4.2.4
+            
+          </a>
+          
+          <a class="navbar-item" href="/archives/docs/r4.2.3">
+            Release 4.2.3
+            
+          </a>
+          
+          <a class="navbar-item" href="/archives/docs/r4.2.2">
+            Release 4.2.2
+            
+          </a>
+          
+          <a class="navbar-item" href="/archives/docs/r4.2.1">
+            Release 4.2.1
+            
+          </a>
+          
+          <a class="navbar-item" href="/archives/docs/r4.2.0">
+            Release 4.2.0
+            
+          </a>
+          
+          <a class="navbar-item" href="/archives/docs/r4.1.0">
+            Release 4.1.0
+            
+          </a>
+          
+          <a class="navbar-item" href="/archives/docs/r4.0.0">
+            Release 4.0.0
+            
+          </a>
+          
+        </div>
+      </div>
+
+      <div class="navbar-item has-dropdown is-hoverable">
+        <a class="navbar-link">Community</a>
+        <div class="navbar-dropdown is-boxed">
+          <a class="navbar-item" href="/community/mailing-lists">Mailing lists</a>
+          <a class="navbar-item" href="/community/slack">Slack</a>
+          <a class="navbar-item" href="https://github.com/apache/bookkeeper/issues">Github Issues</a>
+          <a class="navbar-item" href="/community/releases">Release Management</a>
+          <a class="navbar-item" href="/community/meeting">Community Meetings</a>
+          <hr class="dropdown-divider">
+          <a class="navbar-item" href="/community/contributing">Contribution Guide</a>
+          <a class="navbar-item" href="/community/coding_guide">Coding Guide</a>
+          <a class="navbar-item" href="/community/testing">Testing Guide</a>
+          <a class="navbar-item" href="/community/issue-report">Issue Report Guide</a>
+          <a class="navbar-item" href="/community/release_guide">Release Guide</a>
+          <hr class="dropdown-divider">
+          <a class="navbar-item" href="/community/presentations">Presentations</a>
+          <a class="navbar-item" href="/community/bookkeeper_proposals">BookKeeper Proposals</a>
+        </div>
+      </div>
+
+      <div class="navbar-item has-dropdown is-hoverable">
+        <a class="navbar-link">Project</a>
+        <div class="navbar-dropdown is-boxed">
+          <a class="navbar-item" href="/project/who">Who are we?</a>
+          <a class="navbar-item" href="/project/bylaws">Bylaws</a>
+          <a class="navbar-item" href="http://www.apache.org/licenses/">License</a>
+          <hr class="dropdown-divider">
+          <a class="navbar-item" href="/project/privacy">Privacy policy</a>
+          <a class="navbar-item" href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a>
+          <a class="navbar-item" href="http://www.apache.org/foundation/thanks.html">Thanks</a>
+        </div>
+      </div>
+    </div>
+
+    <div class="navbar-end">
+      <div class="navbar-item">
+        <div class="field is-grouped">
+          <p class="control">
+            <a class="button bk-twitter" href="https://twitter.com/asfbookkeeper">
+              <span class="icon">
+                <i class="fa fa-twitter"></i>
+              </span>
+              <span>Twitter</span>
+            </a>
+          </p>
+          <p class="control">
+            <a class="button" href="https://github.com/apache/bookkeeper">
+              <span class="icon">
+                <i class="fa fa-github"></i>
+              </span>
+              <span>GitHub</span>
+            </a>
+          </p>
+          <p class="control">
+            <a class="button is-primary" href="/releases">
+              <span class="icon">
+                <i class="fa fa-download"></i>
+              </span>
+              <span>Download</span>
+            </a>
+          </p>
+        </div>
+      </div>
+    </div>
+  </div>
+</nav>
+
+
+      <div class="bk-docs-container">
+  <div class="columns is-gapless">
+    <div class="column is-2 is-hidden-mobile">
+      <div class="container">
+        
+<aside class="sidebar">
+  
+  <a class="button is-info">
+    Version: 4.6.2
+  </a>
+  <hr />
+  
+  <p>
+    Getting started
+  </p>
+  <ul class="sidebar-items">
+    
+    
+    <li>
+      <a href="../../getting-started/installation">
+      Installation
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../getting-started/run-locally">
+      Run bookies locally
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../getting-started/concepts">
+      Concepts and architecture
+      </a>
+    </li>
+    
+  </ul>
+  
+  <p>
+    Deployment
+  </p>
+  <ul class="sidebar-items">
+    
+    
+    <li>
+      <a href="../../deployment/manual">
+      Manual deployment
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../deployment/dcos">
+      BookKeeper on DC/OS
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../deployment/kubernetes">
+      BookKeeper on Kubernetes
+      </a>
+    </li>
+    
+  </ul>
+  
+  <p>
+    Administration
+  </p>
+  <ul class="sidebar-items">
+    
+    
+    <li>
+      <a href="../../admin/bookies">
+      BookKeeper administration
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../admin/autorecovery">
+      AutoRecovery
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../admin/metrics">
+      Metric collection
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../admin/upgrade">
+      Upgrade
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../admin/http">
+      BookKeeper Admin REST API
+      </a>
+    </li>
+    
+  </ul>
+  
+  <p>
+    API
+  </p>
+  <ul class="sidebar-items">
+    
+    
+    <li>
+      <a href="../../api/overview">
+      Overview
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../api/ledger-api">
+      Ledger API
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../api/ledger-adv-api">
+      Advanced Ledger API
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../api/distributedlog-api">
+      DistributedLog
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../api/javadoc">
+      Java API Docs
+      </a>
+    </li>
+    
+  </ul>
+  
+  <p>
+    Security
+  </p>
+  <ul class="sidebar-items">
+    
+    
+    <li>
+      <a href="../../security/overview">
+      Overview
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../security/tls">
+      TLS Authentication
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../security/sasl">
+      SASL Authentication
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../security/zookeeper">
+      ZooKeeper Authentication
+      </a>
+    </li>
+    
+  </ul>
+  
+  <p>
+    Development
+  </p>
+  <ul class="sidebar-items">
+    
+    
+    <li>
+      <a href="../../development/protocol">
+      BookKeeper protocol
+      </a>
+    </li>
+    
+  </ul>
+  
+  <p>
+    Reference
+  </p>
+  <ul class="sidebar-items">
+    
+    
+    <li>
+      <a href="../../reference/config">
+      Configuration
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../reference/cli">
+      Command-line tools
+      </a>
+    </li>
+    
+    
+    <li>
+      <a href="../../reference/metrics">
+      Metrics
+      </a>
+    </li>
+    
+  </ul>
+  
+</aside>
+
+
+      </div>
+    </div>
+
+    <div class="column is-8 bk-docs-block">
+      <header class="docs-title">
+        <nav class="level bk-level">
+          <div class="level-left">
+            <div class="level-item">
+              <h1 class="title">DistributedLog</h1>
+            </div>
+          </div>
+          
+        </nav>
+
+        <h2 class="subtitle">A higher-level API for managing BookKeeper entries</h2>
+      </header>
+
+      <hr />
+
+      <div class="content">
+        <section class="bk-main-content">
+          <blockquote>
+  <p>DistributedLog began its life as a separate project under the Apache Foundation. It was merged into BookKeeper in 2017.</p>
+</blockquote>
+
+<p>The DistributedLog API is an easy-to-use interface for managing BookKeeper entries that enables you to use BookKeeper without needing to interact with <a href="../ledger-api">ledgers</a> directly.</p>
+
+<p>DistributedLog (DL) maintains sequences of records in categories called <em>logs</em> (aka <em>log streams</em>). <em>Writers</em> append records to DL logs, while <em>readers</em> fetch and process those records.</p>
+
+<h2 id="architecture">Architecture</h2>
+
+<p>The diagram below illustrates how the DistributedLog API works with BookKeeper:</p>
+
+<p><img src="/img/distributedlog.png" alt="DistributedLog API" /></p>
+
+<h2 id="logs">Logs</h2>
+
+<p>A <em>log</em> in DistributedLog is an ordered, immutable sequence of <em>log records</em>.</p>
+
+<p>The diagram below illustrates the anatomy of a log stream:</p>
+
+<p><img src="/img/logs.png" alt="DistributedLog log" /></p>
+
+<h3 id="log-records">Log records</h3>
+
+<p>Each log record is a sequence of bytes. Applications are responsible for serializing and deserializing byte sequences stored in log records.</p>
+
+<p>Log records are written sequentially into a <em>log stream</em> and assigned with a a unique sequence number called a DLSN (<strong>D</strong>istributed<strong>L</strong>og <strong>S</strong>equence <strong>N</strong>umber).</p>
+
+<p>In addition to a DLSN, applications can assign their own sequence number when constructing log records. Application-defined sequence numbers are known as <em>TransactionIDs</em> (or <em>txid</em>). Either a DLSN or a TransactionID can be used for positioning readers to start reading from a specific log record.</p>
+
+<h3 id="log-segments">Log segments</h3>
+
+<p>Each log is broken down into <em>log segments</em> that contain subsets of records. Log segments are distributed and stored in BookKeeper. DistributedLog rolls the log segments based on the configured <em>rolling policy</em>, which be either</p>
+
+<ul>
+  <li>a configurable period of time (such as every 2 hours), or</li>
+  <li>a configurable maximum size (such as every 128 MB).</li>
+</ul>
+
+<p>The data in logs is divided up into equally sized log segments and distributed evenly across <span class="pop" id="bookie-popover">bookies</span>. This allows logs to scale beyond a size that would fit on a single server and spreads read traffic across the cluster.</p>
+
+<h3 id="namespaces">Namespaces</h3>
+
+<p>Log streams that belong to the same organization are typically categorized and managed under a <em>namespace</em>. DistributedLog namespaces essentially enable applications to locate log streams. Applications can perform the following actions under a namespace:</p>
+
+<ul>
+  <li>create streams</li>
+  <li>delete streams</li>
+  <li>truncate streams to a given sequence number (either a DLSN or a TransactionID)</li>
+</ul>
+
+<h2 id="writers">Writers</h2>
+
+<p>Through the DistributedLog API, writers write data into logs of their choice. All records are appended into logs in order. The sequencing is performed by the writer, which means that there is only one active writer for a log at any given time.</p>
+
+<p>DistributedLog guarantees correctness when two writers attempt to write to the same log when a network partition occurs using a <em>fencing</em> mechanism in the log segment store.</p>
+
+<h3 id="write-proxy">Write Proxy</h3>
+
+<p>Log writers are served and managed in a service tier called the <em>Write Proxy</em> (see the diagram <a href="#architecture">above</a>). The Write Proxy is used for accepting writes from a large number of clients.</p>
+
+<h2 id="readers">Readers</h2>
+
+<p>DistributedLog readers read records from logs of their choice, starting with a provided position. The provided position can be either a DLSN or a TransactionID.</p>
+
+<p>Readers read records from logs in strict order. Different readers can read records from different positions in the same log.</p>
+
+<p>Unlike other pub-sub systems, DistributedLog doesn’t record or manage readers’ positions. This means that tracking is the responsibility of applications, as different applications may have different requirements for tracking and coordinating positions. This is hard to get right with a single approach. Distributed databases, for example, might store reader positions along with SSTables, so they would resume applying transactions from the positions store in SSTables. Tracking reader pos [...]
+
+<h3 id="read-proxy">Read Proxy</h3>
+
+<p>Log records can be cached in a service tier called the <em>Read Proxy</em> to serve a large number of readers. See the diagram <a href="#architecture">above</a>. The Read Proxy is the analogue of the <a href="#write-proxy">Write Proxy</a>.</p>
+
+<h2 id="guarantees">Guarantees</h2>
+
+<p>The DistributedLog API for BookKeeper provides a number of guarantees for applications:</p>
+
+<ul>
+  <li>Records written by a <a href="#writers">writer</a> to a <a href="#logs">log</a> are appended in the order in which they are written. If a record <strong>R1</strong> is written by the same writer as a record <strong>R2</strong>, <strong>R1</strong> will have a smaller sequence number than <strong>R2</strong>.</li>
+  <li><a href="#readers">Readers</a> see <a href="#log-records">records</a> in the same order in which they are <a href="#writers">written</a> to the log.</li>
+  <li>All records are persisted on disk by BookKeeper before acknowledgements, which guarantees durability.</li>
+  <li>For a log with a replication factor of N, DistributedLog tolerates up to N-1 server failures without losing any records.</li>
+</ul>
+
+<h2 id="api">API</h2>
+
+<p>Documentation for the DistributedLog API can be found <a href="https://distributedlog.incubator.apache.org/docs/latest/user_guide/api/core">here</a>.</p>
+
+<blockquote>
+  <p>At a later date, the DistributedLog API docs will be added here.</p>
+</blockquote>
+
+<!--
+
+The DistributedLog core library is written in Java and interacts with namespaces and logs directly.
+
+### Installation
+
+The BookKeeper Java client library is available via [Maven Central](http://search.maven.org/) and can be installed using [Maven](#maven), [Gradle](#gradle), and other build tools.
+
+### Maven
+
+If you're using [Maven](https://maven.apache.org/), add this to your [`pom.xml`](https://maven.apache.org/guides/introduction/introduction-to-the-pom.html) build configuration file:
+
+```xml
+<-- in your <properties> block ->
+<bookkeeper.version>0.5.0</bookkeeper.version>
+
+<-- in your <dependencies> block ->
+<dependency>
+  <groupId>org.apache.bookkeeper</groupId>
+  <artifactId>bookkeeper-server</artifactId>
+  <version>${bookkeeper.version}</version>
+</dependency>
+```
+
+### Gradle
+
+If you're using [Gradle](https://gradle.org/), add this to your [`build.gradle`](https://spring.io/guides/gs/gradle/) build configuration file:
+
+```groovy
+dependencies {
+    compile group: 'org.apache.bookkeeper', name: 'bookkeeper-server', version: '4.6.2'
+}
+
+// Alternatively:
+dependencies {
+    compile 'org.apache.bookkeeper:bookkeeper-server:4.6.2'
+}
+```
+
+### Namespace API
+
+A DL [namespace](#namespace) is a collection of [log streams](#log-streams). When using the DistributedLog API with BookKeeper, you need to provide your Java client with a namespace URI. That URI consists of three elements:
+
+1. The `distributedlog-bk` scheme
+1. A connection string for your BookKeeper cluster. You have three options for the connection string:
+   * An entire ZooKeeper connection string, for example `zk1:2181,zk2:2181,zk3:2181`
+   * A host and port for one node in your ZooKeeper cluster, for example `zk1:2181`. In general, it's better to provide a full ZooKeeper connection string.
+   * If your ZooKeeper cluster can be discovered via DNS, you can provide the DNS name, for example `my-zookeeper-cluster.com`.
+1. A path that points to the location where logs are stored. This could be a ZooKeeper [znode](https://zookeeper.apache.org/doc/current/zookeeperOver.html).
+  
+This is the general structure of a namespace URI:
+
+```shell
+distributedlog-bk://{connection-string}/{path}
+```
+
+Here are some example URIs:
+
+```shell
+distributedlog-bk://zk1:2181,zk2:2181,zk3:2181/my-namespace # Full ZooKeeper connection string
+distributedlog-bk://localhost:2181/my-namespace             # Single ZooKeeper node
+distributedlog-bk://my-zookeeper-cluster.com/my-namespace   # DNS name for ZooKeeper
+```
+
+#### Creating namespaces
+
+In order to create namespaces, you need to use the command-line tool.
+
+```shell
+$ 
+```
+
+#### Using namespaces
+
+Once you have a namespace URI, you can build a namespace instance, which will be used for operating streams. Use the `DistributedLogNamespaceBuilder` to build a `DistributedLogNamespace` object, passing in a `DistributedLogConfiguration`, a URI, and optionally a stats logger and a feature provider.
+
+```java
+DistributedLogConfiguration conf = new DistributedLogConfiguration();
+URI uri = URI.create("distributedlog-bk://localhost:2181/my-namespace ");
+DistributedLogNamespaceBuilder builder = DistributedLogNamespaceBuilder.newBuilder();
+DistributedLogNamespace = builder
+        .conf(conf)           // Configuration for the namespace
+        .uri(uri)             // URI for the namespace
+        .statsLogger(...)     // Stats logger for statistics
+        .featureProvider(...) // Feature provider for controlling features
+        .build();
+```
+
+### Log API
+
+#### Creating logs
+
+You can create a log by calling the `createLog` method on a `DistributedLogNamespace` object, passing in a name for the log. This creates the log under the namespace but does *not* return a handle for operating the log.
+
+```java
+DistributedLogNamespace namespace = /* Create namespace */;
+try {
+    namespace.createLog("test-log");
+} catch (IOException e) }
+    // Handle the log creation exception
+}
+```
+
+#### Opening logs
+
+A `DistributedLogManager` handle will be returned when opening a log using the `openLog` function, which takes the name of the log. This handle can be used for writing records to or reading records from the log.
+
+> If the log doesn't exist and `createStreamIfNotExists` is set to `true` in the configuration, the log will be created automatically when writing the first record.
+
+```java
+DistributedLogConfiguration conf = new DistributedLogConfiguration();
+conf.setCreateStreamIfNotExists(true);
+DistributedLogNamespace namespace = DistributedLogNamespace.newBuilder()
+        .conf(conf)
+        // Other builder attributes
+        .build();
+DistributedLogManager logManager = namespace.openLog("test-log");
+```
+
+Sometimes, applications may open a log with a different configuration from the enclosing namespace. This can be done using the same `openLog` method:
+
+```java
+// Namespace configuration
+DistributedLogConfiguration namespaceConf = new DistributedLogConfiguration();
+conf.setRetentionPeriodHours(24);
+URI uri = URI.create("distributedlog-bk://localhost:2181/my-namespace");
+DistributedLogNamespace namespace = DistributedLogNamespace.newBuilder()
+        .conf(namespaceConf)
+        .uri(uri)
+        // Other builder attributes
+        .build();
+// Log-specific configuration
+DistributedLogConfiguration logConf = new DistributedLogConfiguration();
+logConf.setRetentionPeriodHours(12);
+DistributedLogManager logManager = namespace.openLog(
+        "test-log",
+        Optional.of(logConf),
+        Optional.absent()
+);
+```
+
+#### Deleting logs
+
+The `DistributedLogNamespace` class provides `deleteLog` function that can be used to delete logs. When you delete a lot, the client library will attempt to acquire a lock on the log before deletion. If the log is being written to by an active writer, deletion will fail (as the other writer currently holds the lock).
+
+```java
+try {
+    namespace.deleteLog("test-log");
+} catch (IOException e) {
+    // Handle exception
+}
+```
+
+#### Checking for the existence of a log
+
+Applications can check whether a log exists by calling the `logExists` function.
+
+```java
+if (namespace.logExists("test-log")) {
+  // Perform some action when the log exists
+} else {
+  // Perform some action when the log doesn't exist
+}
+```
+
+#### Listing logs
+
+Applications can retrieve a list of all logs under a namespace using the `getLogs` function.
+
+```java
+Iterator<String> logs = namespace.getLogs();
+while (logs.hasNext()) {
+  String logName = logs.next();
+  // Do something with the log name, such as print
+}
+```
+
+### Writer API
+
+You can write to DistributedLog logs either [synchronously](#writing-to-logs-synchronously) using the `LogWriter` class or [asynchronously](#writing-to-logs-asynchronously) using the `AsyncLogWriter` class.
+
+#### Immediate flush
+
+By default, records are buffered rather than being written immediately. You can disable this behavior and make DL writers write ("flush") entries immediately by adding the following to your configuration object:
+
+```java
+conf.setImmediateFlushEnabled(true);
+conf.setOutputBufferSize(0);
+conf.setPeriodicFlushFrequencyMilliSeconds(0);
+```
+
+#### Immediate locking
+
+By default, DL writers can write to a log stream when other writers are also writing to that stream. You can override this behavior and disable other writers from writing to the stream by adding this to your configuration:
+
+```java
+conf.setLockTimeout(DistributedLogConstants.LOCK_IMMEDIATE);
+```
+
+#### Writing to logs synchronously
+
+To write records to a log synchronously, you need to instantiate a `LogWriter` object using a `DistributedLogManager`. Here's an example:
+
+```java
+DistributedLogNamespace namespace = /* Some namespace object */;
+DistributedLogManager logManager = namespace.openLog("test-log");
+LogWriter writer = logManager.startLogSegmentNonPartitioned();
+```
+
+> The DistributedLog library enforces single-writer semantics by deploying a ZooKeeper locking mechanism. If there is only one active writer, subsequent calls to `startLogSegmentNonPartitioned` will fail with an `OwnershipAcquireFailedException`.
+
+Log records represent the data written to a log stream. Each log record is associated with an application-defined [TransactionID](#log-records). This ID must be non decreasing or else writing a record will be rejected with `TransactionIdOutOfOrderException`. The application is allowed to bypass the TransactionID sanity checking by setting `maxIdSanityCheck` to `false` in the configuration. System time and atomic numbers are good candidates for TransactionID.
+
+```java
+long txid = 1L;
+byte[] data = "some byte array".getBytes();
+LogRecord record = new LogRecord(txid, data);
+```
+
+Your application can write either a single record, using the `write` method, or many records, using the `writeBulk` method.
+
+```java
+// Single record
+writer.write(record);
+
+// Bulk write
+List<LogRecord> records = Lists.newArrayList();
+records.add(record);
+writer.writeBulk(records);
+```
+
+The write calls return immediately after the records are added into the output buffer of writer. This means that the data isn't guaranteed to be durable until the writer explicitly calls `setReadyToFlush` and `flushAndSync`. Those two calls will first transmit buffered data to the backend, wait for transmit acknowledgements (acks), and commit the written data to make them visible to readers.
+
+```java
+// Flush the records
+writer.setReadyToFlush();
+
+// Commit the records to make them visible to readers
+writer.flushAndSync();
+```
+
+Log streams in DistributedLog are endless streams *unless they are sealed*. Endless in this case means that writers can keep writing records to those streams, readers can keep reading from the end of those streams, and the process never stops. Your application can seal a log stream using the `markEndOfStream` method:
+
+```java
+writer.markEndOfStream();
+```
+
+#### Writing to logs asynchronously
+
+In order to write to DistributedLog logs asynchronously, you need to create an `AsyncLogWriter` instread of a `LogWriter`.
+
+```java
+DistributedLogNamespace namespace = /* Some namespace object */;
+DistributedLogManager logManager = namespace.openLog("test-async-log");
+AsyncLogWriter asyncWriter = logManager.startAsyncLogSegmentNonPartitioned();
+```
+
+All writes to `AsyncLogWriter` are non partitioned. The futures representing write results are only satisfied when the data is durably persisted in the stream. A [DLSN](#log-records) will be returned for each write, which is used to represent the position (aka offset) of the record in the log stream. All the records added in order are guaranteed to be persisted in order. Here's an example of an async writer that gathers a list of futures representing multiple async write results:
+
+```java
+List<Future<DLSN>> addFutures = Lists.newArrayList();
+for (long txid = 1L; txid <= 100L; txid++) {
+    byte[] data = /* some byte array */;
+    LogRecord record = new LogRecord(txid, data);
+    addFutures.add(asyncWriter.write(record));
+}
+List<DLSN> addResults = Await.result(Future.collect(addFutures));
+```
+
+The `AsyncLogWriter` also provides a method for truncating a stream to a given DLSN. This is useful for building replicated state machines that need explicit controls on when the data can be deleted.
+
+```java
+DLSN truncateDLSN = /* some DLSN */;
+Future<DLSN> truncateFuture = asyncWriter.truncate(truncateDLSN);
+
+// Wait for truncation result
+Await.result(truncateFuture);
+```
+
+##### Register a listener
+
+Instead of returning a future from write operations, you can also set up a listener that performs assigned actions upon success or failure of the write. Here's an example:
+
+```java
+asyncWriter.addEventListener(new FutureEventListener<DLSN>() {
+    @Override
+    public void onFailure(Throwable cause) {
+        // Execute if the attempt fails
+    }
+
+    @Override
+    public void onSuccess(DLSN value) {
+        // Execute if the attempt succeeds
+    }
+});
+```
+
+##### Close the writer
+
+You can close an async writer when you're finished with it like this:
+
+```java
+FutureUtils.result(asyncWriter.asyncClose());
+```
+
+<!--
+TODO: Reader API
+-->
+
+        </section>
+
+        
+      </div>
+    </div>
+
+    <div class="column is-2 is-hidden-mobile">
+      
+      
+<div class="toc">
+  <h2 class="title">DistributedLog</h2>
+  <ul class="section-nav">
+<li class="toc-entry toc-h2"><a href="#architecture">Architecture</a></li>
+<li class="toc-entry toc-h2"><a href="#logs">Logs</a></li>
+<li class="toc-entry toc-h3"><a href="#log-records">Log records</a></li>
+<li class="toc-entry toc-h3"><a href="#log-segments">Log segments</a></li>
+<li class="toc-entry toc-h3"><a href="#namespaces">Namespaces</a></li>
+<li class="toc-entry toc-h2"><a href="#writers">Writers</a></li>
+<li class="toc-entry toc-h3"><a href="#write-proxy">Write Proxy</a></li>
+<li class="toc-entry toc-h2"><a href="#readers">Readers</a></li>
+<li class="toc-entry toc-h3"><a href="#read-proxy">Read Proxy</a></li>
+<li class="toc-entry toc-h2"><a href="#guarantees">Guarantees</a></li>
+<li class="toc-entry toc-h2"><a href="#api">API</a></li>
+</ul>
+</div>
+
+
+      
+    </div>
+  </div>
+</div>
+
+
+
+<div id="entry-popover-html" class="popover-template">
+  <p>An entry is a sequence of bytes (plus some metadata) written to a BookKeeper ledger. Entries are also known as records.</p>
+
+</div>
+
+<div id="ledger-popover-html" class="popover-template">
+  <p>A ledger is a sequence of entries written to BookKeeper. Entries are written sequentially to ledgers and at most once, giving ledgers append-only semantics.</p>
+
+</div>
+
+<div id="bookie-popover-html" class="popover-template">
+  <p>A bookie is an individual BookKeeper storage server.</p>
+
+<p>Bookies store the content of ledgers and act as a distributed ensemble.</p>
+
+</div>
+
+<div id="rereplication-popover-html" class="popover-template">
+  <p>A subsystem that runs in the background on bookies to ensure that ledgers are fully replicated even if one bookie from the ensemble is down.</p>
+
+</div>
+
+<div id="striping-popover-html" class="popover-template">
+  <p>Striping is the process of distributing BookKeeper ledgers to sub-groups of bookies rather than to all bookies in a BookKeeper ensemble.</p>
+
+<p>Striping is essential to ensuring fast performance.</p>
+
+</div>
+
+<div id="journal-popover-html" class="popover-template">
+  <p>A journal file stores BookKeeper transaction logs.</p>
+
+</div>
+
+<div id="fencing-popover-html" class="popover-template">
+  <p>When a reader forces a ledger to close, preventing any further entries from being written to the ledger.</p>
+
+</div>
+
+<div id="record-popover-html" class="popover-template">
+  <p>A record is a sequence of bytes (plus some metadata) written to a BookKeeper ledger. Records are also known as entries.</p>
+
+</div>
+
+
+<script type="text/javascript">
+
+tippy('#entry-popover', {
+  html: '#entry-popover-html',
+  arrow: true,
+  animation: 'fade'
+});
+
+tippy('#ledger-popover', {
+  html: '#ledger-popover-html',
+  arrow: true,
+  animation: 'fade'
+});
+
+tippy('#bookie-popover', {
+  html: '#bookie-popover-html',
+  arrow: true,
+  animation: 'fade'
+});
+
+tippy('#rereplication-popover', {
+  html: '#rereplication-popover-html',
+  arrow: true,
+  animation: 'fade'
+});
+
+tippy('#striping-popover', {
+  html: '#striping-popover-html',
+  arrow: true,
+  animation: 'fade'
+});
+
+tippy('#journal-popover', {
+  html: '#journal-popover-html',
+  arrow: true,
+  animation: 'fade'
+});
+
+tippy('#fencing-popover', {
+  html: '#fencing-popover-html',
+  arrow: true,
+  animation: 'fade'
+});
+
+tippy('#record-popover', {
+  html: '#record-popover-html',
+  arrow: true,
+  animation: 'fade'
+});
+
+</script>
+
+    </main>
+
+    <footer class="footer">
+  <div class="container">
+    <div class="content has-text-centered">
+      <p>
+        Copyright &copy; 2016 - 2018 <a href="https://www.apache.org/">The Apache Software Foundation</a>,<br /> licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, version 2.0</a>.
+      </p>
+    </div>
+  </div>
+</footer>
+
+  </body>
+
+  <script src="/js/app.js"></script>
+
+  
+  <!--
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+      http://www.apache.org/licenses/LICENSE-2.0
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+-->
+<script>
+  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+  })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
+
+  ga('create', 'UA-104419626-1', 'auto');
+  ga('send', 'pageview');
+
+</script>
+
+  
+</html>
diff --git a/content/docs/4.6.2/api/javadoc/allclasses-frame.html b/content/docs/4.6.2/api/javadoc/allclasses-frame.html
new file mode 100644
index 0000000..da2b285
--- /dev/null
+++ b/content/docs/4.6.2/api/javadoc/allclasses-frame.html
@@ -0,0 +1,251 @@
+<!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>All Classes (Apache BookKeeper :: Parent 4.7.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>
+<h1 class="bar">All&nbsp;Classes</h1>
+<div class="indexContainer">
+<ul>
+<li><a href="org/apache/bookkeeper/conf/AbstractConfiguration.html" title="class in org.apache.bookkeeper.conf" target="classFrame">AbstractConfiguration</a></li>
+<li><a href="org/apache/bookkeeper/stats/AlertStatsLogger.html" title="class in org.apache.bookkeeper.stats" target="classFrame">AlertStatsLogger</a></li>
+<li><a href="org/apache/bookkeeper/client/AsyncCallback.html" title="interface in org.apache.bookkeeper.client" target="classFrame"><span class="interfaceName">AsyncCallback</span></a></li>
+<li><a href="org/apache/bookkeeper/client/AsyncCallback.AddCallback.html" title="interface in org.apache.bookkeeper.client" target="classFrame"><span class="interfaceName">AsyncCallback.AddCallback</span></a></li>
+<li><a href="org/apache/bookkeeper/client/AsyncCallback.AddCallbackWithLatency.html" title="interface in org.apache.bookkeeper.client" target="classFrame"><span class="interfaceName">AsyncCallback.AddCallbackWithLatency</span></a></li>
+<li><a href="org/apache/bookkeeper/client/AsyncCallback.AddLacCallback.html" title="interface in org.apache.bookkeeper.client" target="classFrame"><span class="interfaceName">AsyncCallback.AddLacCallback</span></a></li>
+<li><a href="org/apache/bookkeeper/client/AsyncCallback.CloseCallback.html" title="interface in org.apache.bookkeeper.client" target="classFrame"><span class="interfaceName">AsyncCallback.CloseCallback</span></a></li>
+<li><a href="org/apache/bookkeeper/client/AsyncCallback.CreateCallback.html" title="interface in org.apache.bookkeeper.client" target="classFrame"><span class="interfaceName">AsyncCallback.CreateCallback</span></a></li>
+<li><a href="org/apache/bookkeeper/client/AsyncCallback.DeleteCallback.html" title="interface in org.apache.bookkeeper.client" target="classFrame"><span class="interfaceName">AsyncCallback.DeleteCallback</span></a></li>
+<li><a href="org/apache/bookkeeper/client/AsyncCallback.IsClosedCallback.html" title="interface in org.apache.bookkeeper.client" target="classFrame"><span class="interfaceName">AsyncCallback.IsClosedCallback</span></a></li>
+<li><a href="org/apache/bookkeeper/client/AsyncCallback.OpenCallback.html" title="interface in org.apache.bookkeeper.client" target="classFrame"><span class="interfaceName">AsyncCallback.OpenCallback</span></a></li>
+<li><a href="org/apache/bookkeeper/client/AsyncCallback.ReadCallback.html" title="interface in org.apache.bookkeeper.client" target="classFrame"><span class="interfaceName">AsyncCallback.ReadCallback</span></a></li>
+<li><a href="org/apache/bookkeeper/client/AsyncCallback.ReadLastConfirmedAndEntryCallback.html" title="interface in org.apache.bookkeeper.client" target="classFrame"><span class="interfaceName">AsyncCallback.ReadLastConfirmedAndEntryCallback</span></a></li>
+<li><a href="org/apache/bookkeeper/client/AsyncCallback.ReadLastConfirmedCallback.html" title="interface in org.apache.bookkeeper.client" target="classFrame"><span class="interfaceName">AsyncCallback.ReadLastConfirmedCallback</span></a></li>
+<li><a href="org/apache/bookkeeper/client/AsyncCallback.RecoverCallback.html" title="interface in org.apache.bookkeeper.client" target="classFrame"><span class="interfaceName">AsyncCallback.RecoverCallback</span></a></li>
+<li><a href="org/apache/bookkeeper/client/api/BKException.html" title="class in org.apache.bookkeeper.client.api" target="classFrame">BKException</a></li>
+<li><a href="org/apache/bookkeeper/client/BKException.html" title="class in org.apache.bookkeeper.client" target="classFrame">BKException</a></li>
+<li><a href="org/apache/bookkeeper/client/BKException.BKAddEntryQuorumTimeoutException.html" title="class in org.apache.bookkeeper.client" target="classFrame">BKException.BKAddEntryQuorumTimeoutException</a></li>
+<li><a href="org/apache/bookkeeper/client/BKException.BKBookieException.html" title="class in org.apache.bookkeeper.client" target="classFrame">BKException.BKBookieException</a></li>
+<li><a href="org/apache/bookkeeper/client/BKException.BKBookieHandleNotAvailableException.html" title="class in org.apache.bookkeeper.client" target="classFrame">BKException.BKBookieHandleNotAvailableException</a></li>
+<li><a href="org/apache/bookkeeper/client/BKException.BKClientClosedException.html" title="class in org.apache.bookkeeper.client" target="classFrame">BKException.BKClientClosedException</a></li>
+<li><a href="org/apache/bookkeeper/client/BKException.BKDigestMatchException.html" title="class in org.apache.bookkeeper.client" target="classFrame">BKException.BKDigestMatchException</a></li>
+<li><a href="org/apache/bookkeeper/client/BKException.BKDigestNotInitializedException.html" title="class in org.apache.bookkeeper.client" target="classFrame">BKException.BKDigestNotInitializedException</a></li>
+<li><a href="org/apache/bookkeeper/client/BKException.BKDuplicateEntryIdException.html" title="class in org.apache.bookkeeper.client" target="classFrame">BKException.BKDuplicateEntryIdException</a></li>
+<li><a href="org/apache/bookkeeper/client/BKException.BKIllegalOpException.html" title="class in org.apache.bookkeeper.client" target="classFrame">BKException.BKIllegalOpException</a></li>
+<li><a href="org/apache/bookkeeper/client/BKException.BKIncorrectParameterException.html" title="class in org.apache.bookkeeper.client" target="classFrame">BKException.BKIncorrectParameterException</a></li>
+<li><a href="org/apache/bookkeeper/client/BKException.BKInterruptedException.html" title="class in org.apache.bookkeeper.client" target="classFrame">BKException.BKInterruptedException</a></li>
+<li><a href="org/apache/bookkeeper/client/BKException.BKLedgerClosedException.html" title="class in org.apache.bookkeeper.client" target="classFrame">BKException.BKLedgerClosedException</a></li>
+<li><a href="org/apache/bookkeeper/client/BKException.BKLedgerExistException.html" title="class in org.apache.bookkeeper.client" target="classFrame">BKException.BKLedgerExistException</a></li>
+<li><a href="org/apache/bookkeeper/client/BKException.BKLedgerFencedException.html" title="class in org.apache.bookkeeper.client" target="classFrame">BKException.BKLedgerFencedException</a></li>
+<li><a href="org/apache/bookkeeper/client/BKException.BKLedgerIdOverflowException.html" title="class in org.apache.bookkeeper.client" target="classFrame">BKException.BKLedgerIdOverflowException</a></li>
+<li><a href="org/apache/bookkeeper/client/BKException.BKLedgerRecoveryException.html" title="class in org.apache.bookkeeper.client" target="classFrame">BKException.BKLedgerRecoveryException</a></li>
+<li><a href="org/apache/bookkeeper/client/BKException.BKMetadataVersionException.html" title="class in org.apache.bookkeeper.client" target="classFrame">BKException.BKMetadataVersionException</a></li>
+<li><a href="org/apache/bookkeeper/client/BKException.BKNoSuchEntryException.html" title="class in org.apache.bookkeeper.client" target="classFrame">BKException.BKNoSuchEntryException</a></li>
+<li><a href="org/apache/bookkeeper/client/BKException.BKNoSuchLedgerExistsException.html" title="class in org.apache.bookkeeper.client" target="classFrame">BKException.BKNoSuchLedgerExistsException</a></li>
+<li><a href="org/apache/bookkeeper/client/BKException.BKNotEnoughBookiesException.html" title="class in org.apache.bookkeeper.client" target="classFrame">BKException.BKNotEnoughBookiesException</a></li>
+<li><a href="org/apache/bookkeeper/client/BKException.BKProtocolVersionException.html" title="class in org.apache.bookkeeper.client" target="classFrame">BKException.BKProtocolVersionException</a></li>
+<li><a href="org/apache/bookkeeper/client/BKException.BKQuorumException.html" title="class in org.apache.bookkeeper.client" target="classFrame">BKException.BKQuorumException</a></li>
+<li><a href="org/apache/bookkeeper/client/BKException.BKReadException.html" title="class in org.apache.bookkeeper.client" target="classFrame">BKException.BKReadException</a></li>
+<li><a href="org/apache/bookkeeper/client/BKException.BKReplicationException.html" title="class in org.apache.bookkeeper.client" target="classFrame">BKException.BKReplicationException</a></li>
+<li><a href="org/apache/bookkeeper/client/BKException.BKSecurityException.html" title="class in org.apache.bookkeeper.client" target="classFrame">BKException.BKSecurityException</a></li>
+<li><a href="org/apache/bookkeeper/client/BKException.BKTimeoutException.html" title="class in org.apache.bookkeeper.client" target="classFrame">BKException.BKTimeoutException</a></li>
+<li><a href="org/apache/bookkeeper/client/BKException.BKTooManyRequestsException.html" title="class in org.apache.bookkeeper.client" target="classFrame">BKException.BKTooManyRequestsException</a></li>
+<li><a href="org/apache/bookkeeper/client/BKException.BKUnauthorizedAccessException.html" title="class in org.apache.bookkeeper.client" target="classFrame">BKException.BKUnauthorizedAccessException</a></li>
+<li><a href="org/apache/bookkeeper/client/BKException.BKUnclosedFragmentException.html" title="class in org.apache.bookkeeper.client" target="classFrame">BKException.BKUnclosedFragmentException</a></li>
+<li><a href="org/apache/bookkeeper/client/BKException.BKUnexpectedConditionException.html" title="class in org.apache.bookkeeper.client" target="classFrame">BKException.BKUnexpectedConditionException</a></li>
+<li><a href="org/apache/bookkeeper/client/BKException.BKWriteException.html" title="class in org.apache.bookkeeper.client" target="classFrame">BKException.BKWriteException</a></li>
+<li><a href="org/apache/bookkeeper/client/BKException.BKWriteOnReadOnlyBookieException.html" title="class in org.apache.bookkeeper.client" target="classFrame">BKException.BKWriteOnReadOnlyBookieException</a></li>
+<li><a href="org/apache/bookkeeper/client/api/BKException.Code.html" title="interface in org.apache.bookkeeper.client.api" target="classFrame"><span class="interfaceName">BKException.Code</span></a></li>
+<li><a href="org/apache/bookkeeper/client/BKException.Code.html" title="interface in org.apache.bookkeeper.client" target="classFrame"><span class="interfaceName">BKException.Code</span></a></li>
+<li><a href="org/apache/bookkeeper/client/BKException.MetaStoreException.html" title="class in org.apache.bookkeeper.client" target="classFrame">BKException.MetaStoreException</a></li>
+<li><a href="org/apache/bookkeeper/client/BKException.ZKException.html" title="class in org.apache.bookkeeper.client" target="classFrame">BKException.ZKException</a></li>
+<li><a href="org/apache/bookkeeper/client/BookieInfoReader.html" title="class in org.apache.bookkeeper.client" target="classFrame">BookieInfoReader</a></li>
+<li><a href="org/apache/bookkeeper/client/BookieInfoReader.BookieInfo.html" title="class in org.apache.bookkeeper.client" target="classFrame">BookieInfoReader.BookieInfo</a></li>
+<li><a href="org/apache/bookkeeper/client/BookieInfoReader.State.html" title="enum in org.apache.bookkeeper.client" target="classFrame">BookieInfoReader.State</a></li>
+<li><a href="org/apache/bookkeeper/client/BookiesHealthInfo.html" title="interface in org.apache.bookkeeper.client" target="classFrame"><span class="interfaceName">BookiesHealthInfo</span></a></li>
+<li><a href="org/apache/bookkeeper/client/BookiesListener.html" title="interface in org.apache.bookkeeper.client" target="classFrame"><span class="interfaceName">BookiesListener</span></a></li>
+<li><a href="org/apache/bookkeeper/client/BookieWatcher.html" title="class in org.apache.bookkeeper.client" target="classFrame">BookieWatcher</a></li>
+<li><a href="org/apache/bookkeeper/client/api/BookKeeper.html" title="interface in org.apache.bookkeeper.client.api" target="classFrame"><span class="interfaceName">BookKeeper</span></a></li>
+<li><a href="org/apache/bookkeeper/client/BookKeeper.html" title="class in org.apache.bookkeeper.client" target="classFrame">BookKeeper</a></li>
+<li><a href="org/apache/bookkeeper/client/BookKeeper.Builder.html" title="class in org.apache.bookkeeper.client" target="classFrame">BookKeeper.Builder</a></li>
+<li><a href="org/apache/bookkeeper/client/BookKeeper.DigestType.html" title="enum in org.apache.bookkeeper.client" target="classFrame">BookKeeper.DigestType</a></li>
+<li><a href="org/apache/bookkeeper/client/BookKeeperAccessor.html" title="class in org.apache.bookkeeper.client" target="classFrame">BookKeeperAccessor</a></li>
+<li><a href="org/apache/bookkeeper/client/BookKeeperAdmin.html" title="class in org.apache.bookkeeper.client" target="classFrame">BookKeeperAdmin</a></li>
+<li><a href="org/apache/bookkeeper/client/BookKeeperAdmin.ReadMetadataCallback.html" title="class in org.apache.bookkeeper.client" target="classFrame">BookKeeperAdmin.ReadMetadataCallback</a></li>
+<li><a href="org/apache/bookkeeper/client/BookKeeperAdmin.ResultCallBack.html" title="class in org.apache.bookkeeper.client" target="classFrame">BookKeeperAdmin.ResultCallBack</a></li>
+<li><a href="org/apache/bookkeeper/client/BookKeeperAdmin.SyncObject.html" title="class in org.apache.bookkeeper.client" target="classFrame">BookKeeperAdmin.SyncObject</a></li>
+<li><a href="org/apache/bookkeeper/client/api/BookKeeperBuilder.html" title="interface in org.apache.bookkeeper.client.api" target="classFrame"><span class="interfaceName">BookKeeperBuilder</span></a></li>
+<li><a href="org/apache/bookkeeper/client/impl/BookKeeperBuilderImpl.html" title="class in org.apache.bookkeeper.client.impl" target="classFrame">BookKeeperBuilderImpl</a></li>
+<li><a href="org/apache/bookkeeper/client/BookKeeperClientStats.html" title="interface in org.apache.bookkeeper.client" target="classFrame"><span class="interfaceName">BookKeeperClientStats</span></a></li>
+<li><a href="org/apache/bookkeeper/feature/CacheableFeatureProvider.html" title="class in org.apache.bookkeeper.feature" target="classFrame">CacheableFeatureProvider</a></li>
+<li><a href="org/apache/bookkeeper/stats/CachingStatsLogger.html" title="class in org.apache.bookkeeper.stats" target="classFrame">CachingStatsLogger</a></li>
+<li><a href="org/apache/bookkeeper/stats/CachingStatsProvider.html" title="class in org.apache.bookkeeper.stats" target="classFrame">CachingStatsProvider</a></li>
+<li><a href="org/apache/bookkeeper/conf/ClientConfiguration.html" title="class in org.apache.bookkeeper.conf" target="classFrame">ClientConfiguration</a></li>
+<li><a href="org/apache/bookkeeper/stats/codahale/CodahaleMetricsProvider.html" title="class in org.apache.bookkeeper.stats.codahale" target="classFrame">CodahaleMetricsProvider</a></li>
+<li><a href="org/apache/bookkeeper/stats/CodahaleMetricsProvider.html" title="class in org.apache.bookkeeper.stats" target="classFrame">CodahaleMetricsProvider</a></li>
+<li><a href="org/apache/bookkeeper/stats/codahale/CodahaleOpStatsLogger.html" title="class in org.apache.bookkeeper.stats.codahale" target="classFrame">CodahaleOpStatsLogger</a></li>
+<li><a href="org/apache/bookkeeper/stats/CodahaleOpStatsLogger.html" title="class in org.apache.bookkeeper.stats" target="classFrame">CodahaleOpStatsLogger</a></li>
+<li><a href="org/apache/bookkeeper/stats/codahale/CodahaleStatsLogger.html" title="class in org.apache.bookkeeper.stats.codahale" target="classFrame">CodahaleStatsLogger</a></li>
+<li><a href="org/apache/bookkeeper/stats/CodahaleStatsLogger.html" title="class in org.apache.bookkeeper.stats" target="classFrame">CodahaleStatsLogger</a></li>
+<li><a href="org/apache/bookkeeper/conf/Configurable.html" title="interface in org.apache.bookkeeper.conf" target="classFrame"><span class="interfaceName">Configurable</span></a></li>
+<li><a href="org/apache/bookkeeper/stats/Counter.html" title="interface in org.apache.bookkeeper.stats" target="classFrame"><span class="interfaceName">Counter</span></a></li>
+<li><a href="org/apache/bookkeeper/stats/twitter/finagle/CounterImpl.html" title="class in org.apache.bookkeeper.stats.twitter.finagle" target="classFrame">CounterImpl</a></li>
+<li><a href="org/apache/bookkeeper/stats/twitter/ostrich/CounterImpl.html" title="class in org.apache.bookkeeper.stats.twitter.ostrich" target="classFrame">CounterImpl</a></li>
+<li><a href="org/apache/bookkeeper/stats/twitter/science/CounterImpl.html" title="class in org.apache.bookkeeper.stats.twitter.science" target="classFrame">CounterImpl</a></li>
+<li><a href="org/apache/bookkeeper/client/api/CreateAdvBuilder.html" title="interface in org.apache.bookkeeper.client.api" target="classFrame"><span class="interfaceName">CreateAdvBuilder</span></a></li>
+<li><a href="org/apache/bookkeeper/client/api/CreateBuilder.html" title="interface in org.apache.bookkeeper.client.api" target="classFrame"><span class="interfaceName">CreateBuilder</span></a></li>
+<li><a href="org/apache/bookkeeper/stats/prometheus/DataSketchesOpStatsLogger.html" title="class in org.apache.bookkeeper.stats.prometheus" target="classFrame">DataSketchesOpStatsLogger</a></li>
+<li><a href="org/apache/bookkeeper/client/DefaultEnsemblePlacementPolicy.html" title="class in org.apache.bookkeeper.client" target="classFrame">DefaultEnsemblePlacementPolicy</a></li>
+<li><a href="org/apache/bookkeeper/client/DefaultSpeculativeRequestExecutionPolicy.html" title="class in org.apache.bookkeeper.client" target="classFrame">DefaultSpeculativeRequestExecutionPolicy</a></li>
+<li><a href="org/apache/bookkeeper/client/api/DeleteBuilder.html" title="interface in org.apache.bookkeeper.client.api" target="classFrame"><span class="interfaceName">DeleteBuilder</span></a></li>
+<li><a href="org/apache/bookkeeper/client/api/DigestType.html" title="enum in org.apache.bookkeeper.client.api" target="classFrame">DigestType</a></li>
+<li><a href="org/apache/bookkeeper/client/DistributionSchedule.html" title="interface in org.apache.bookkeeper.client" target="classFrame"><span class="interfaceName">DistributionSchedule</span></a></li>
+<li><a href="org/apache/bookkeeper/client/DistributionSchedule.AckSet.html" title="interface in org.apache.bookkeeper.client" target="classFrame"><span class="interfaceName">DistributionSchedule.AckSet</span></a></li>
+<li><a href="org/apache/bookkeeper/client/DistributionSchedule.QuorumCoverageSet.html" title="interface in org.apache.bookkeeper.client" target="classFrame"><span class="interfaceName">DistributionSchedule.QuorumCoverageSet</span></a></li>
+<li><a href="org/apache/bookkeeper/client/DistributionSchedule.WriteSet.html" title="interface in org.apache.bookkeeper.client" target="classFrame"><span class="interfaceName">DistributionSchedule.WriteSet</span></a></li>
+<li><a href="org/apache/bookkeeper/client/EnsemblePlacementPolicy.html" title="interface in org.apache.bookkeeper.client" target="classFrame"><span class="interfaceName">EnsemblePlacementPolicy</span></a></li>
+<li><a href="org/apache/bookkeeper/client/ExplicitLacFlushPolicy.html" title="interface in org.apache.bookkeeper.client" target="classFrame"><span class="interfaceName">ExplicitLacFlushPolicy</span></a></li>
+<li><a href="org/apache/bookkeeper/client/ExplicitLacFlushPolicy.ExplicitLacFlushPolicyImpl.html" title="class in org.apache.bookkeeper.client" target="classFrame">ExplicitLacFlushPolicy.ExplicitLacFlushPolicyImpl</a></li>
+<li><a href="org/apache/bookkeeper/feature/Feature.html" title="interface in org.apache.bookkeeper.feature" target="classFrame"><span class="interfaceName">Feature</span></a></li>
+<li><a href="org/apache/bookkeeper/feature/FeatureProvider.html" title="interface in org.apache.bookkeeper.feature" target="classFrame"><span class="interfaceName">FeatureProvider</span></a></li>
+<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/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>
+<li><a href="org/apache/bookkeeper/common/annotation/InterfaceAudience.html" title="class in org.apache.bookkeeper.common.annotation" target="classFrame">InterfaceAudience</a></li>
+<li><a href="org/apache/bookkeeper/common/annotation/InterfaceAudience.LimitedPrivate.html" title="annotation in org.apache.bookkeeper.common.annotation" target="classFrame">InterfaceAudience.LimitedPrivate</a></li>
+<li><a href="org/apache/bookkeeper/common/annotation/InterfaceAudience.Private.html" title="annotation in org.apache.bookkeeper.common.annotation" target="classFrame">InterfaceAudience.Private</a></li>
+<li><a href="org/apache/bookkeeper/common/annotation/InterfaceAudience.Public.html" title="annotation in org.apache.bookkeeper.common.annotation" target="classFrame">InterfaceAudience.Public</a></li>
+<li><a href="org/apache/bookkeeper/common/annotation/InterfaceStability.html" title="class in org.apache.bookkeeper.common.annotation" target="classFrame">InterfaceStability</a></li>
+<li><a href="org/apache/bookkeeper/common/annotation/InterfaceStability.Evolving.html" title="annotation in org.apache.bookkeeper.common.annotation" target="classFrame">InterfaceStability.Evolving</a></li>
+<li><a href="org/apache/bookkeeper/common/annotation/InterfaceStability.Stable.html" title="annotation in org.apache.bookkeeper.common.annotation" target="classFrame">InterfaceStability.Stable</a></li>
+<li><a href="org/apache/bookkeeper/common/annotation/InterfaceStability.Unstable.html" title="annotation in org.apache.bookkeeper.common.annotation" target="classFrame">InterfaceStability.Unstable</a></li>
+<li><a href="org/apache/bookkeeper/client/ITopologyAwareEnsemblePlacementPolicy.html" title="interface in org.apache.bookkeeper.client" target="classFrame"><span class="interfaceName">ITopologyAwareEnsemblePlacementPolicy</span></a></li>
+<li><a href="org/apache/bookkeeper/client/ITopologyAwareEnsemblePlacementPolicy.Ensemble.html" title="interface in org.apache.bookkeeper.client" target="classFrame"><span class="interfaceName">ITopologyAwareEnsemblePlacementPolicy.Ensemble</span></a></li>
+<li><a href="org/apache/bookkeeper/client/ITopologyAwareEnsemblePlacementPolicy.Predicate.html" title="interface in org.apache.bookkeeper.client" target="classFrame"><span class="interfaceName">ITopologyAwareEnsemblePlacementPolicy.Predicate</span></a></li>
+<li><a href="org/apache/bookkeeper/client/api/LastConfirmedAndEntry.html" title="interface in org.apache.bookkeeper.client.api" target="classFrame"><span class="interfaceName">LastConfirmedAndEntry</span></a></li>
+<li><a href="org/apache/bookkeeper/client/impl/LastConfirmedAndEntryImpl.html" title="class in org.apache.bookkeeper.client.impl" target="classFrame">LastConfirmedAndEntryImpl</a></li>
+<li><a href="org/apache/bookkeeper/client/LedgerChecker.html" title="class in org.apache.bookkeeper.client" target="classFrame">LedgerChecker</a></li>
+<li><a href="org/apache/bookkeeper/client/LedgerChecker.InvalidFragmentException.html" title="class in org.apache.bookkeeper.client" target="classFrame">LedgerChecker.InvalidFragmentException</a></li>
+<li><a href="org/apache/bookkeeper/client/LedgerCreateOp.html" title="class in org.apache.bookkeeper.client" target="classFrame">LedgerCreateOp</a></li>
+<li><a href="org/apache/bookkeeper/client/LedgerCreateOp.CreateBuilderImpl.html" title="class in org.apache.bookkeeper.client" target="classFrame">LedgerCreateOp.CreateBuilderImpl</a></li>
+<li><a href="org/apache/bookkeeper/client/LedgerDeleteOp.html" title="class in org.apache.bookkeeper.client" target="classFrame">LedgerDeleteOp</a></li>
+<li><a href="org/apache/bookkeeper/client/LedgerDeleteOp.DeleteBuilderImpl.html" title="class in org.apache.bookkeeper.client" target="classFrame">LedgerDeleteOp.DeleteBuilderImpl</a></li>
+<li><a href="org/apache/bookkeeper/client/api/LedgerEntries.html" title="interface in org.apache.bookkeeper.client.api" target="classFrame"><span class="interfaceName">LedgerEntries</span></a></li>
+<li><a href="org/apache/bookkeeper/client/impl/LedgerEntriesImpl.html" title="class in org.apache.bookkeeper.client.impl" target="classFrame">LedgerEntriesImpl</a></li>
+<li><a href="org/apache/bookkeeper/client/api/LedgerEntry.html" title="interface in org.apache.bookkeeper.client.api" target="classFrame"><span class="interfaceName">LedgerEntry</span></a></li>
+<li><a href="org/apache/bookkeeper/client/LedgerEntry.html" title="class in org.apache.bookkeeper.client" target="classFrame">LedgerEntry</a></li>
+<li><a href="org/apache/bookkeeper/client/impl/LedgerEntryImpl.html" title="class in org.apache.bookkeeper.client.impl" target="classFrame">LedgerEntryImpl</a></li>
+<li><a href="org/apache/bookkeeper/client/LedgerFragment.html" title="class in org.apache.bookkeeper.client" target="classFrame">LedgerFragment</a></li>
+<li><a href="org/apache/bookkeeper/client/LedgerFragmentReplicator.html" title="class in org.apache.bookkeeper.client" target="classFrame">LedgerFragmentReplicator</a></li>
+<li><a href="org/apache/bookkeeper/client/LedgerFragmentReplicator.SingleFragmentCallback.html" title="class in org.apache.bookkeeper.client" target="classFrame">LedgerFragmentReplicator.SingleFragmentCallback</a></li>
+<li><a href="org/apache/bookkeeper/client/LedgerHandle.html" title="class in org.apache.bookkeeper.client" target="classFrame">LedgerHandle</a></li>
+<li><a href="org/apache/bookkeeper/client/LedgerHandle.EnsembleInfo.html" title="class in org.apache.bookkeeper.client" target="classFrame">LedgerHandle.EnsembleInfo</a></li>
+<li><a href="org/apache/bookkeeper/client/LedgerHandle.LastConfirmedCtx.html" title="class in org.apache.bookkeeper.client" target="classFrame">LedgerHandle.LastConfirmedCtx</a></li>
+<li><a href="org/apache/bookkeeper/client/LedgerHandle.NoopCloseCallback.html" title="class in org.apache.bookkeeper.client" target="classFrame">LedgerHandle.NoopCloseCallback</a></li>
+<li><a href="org/apache/bookkeeper/client/LedgerHandleAdv.html" title="class in org.apache.bookkeeper.client" target="classFrame">LedgerHandleAdv</a></li>
+<li><a href="org/apache/bookkeeper/client/LedgerHandleAdv.PendingOpsComparator.html" title="class in org.apache.bookkeeper.client" target="classFrame">LedgerHandleAdv.PendingOpsComparator</a></li>
+<li><a href="org/apache/bookkeeper/client/api/LedgerMetadata.html" title="interface in org.apache.bookkeeper.client.api" target="classFrame"><span class="interfaceName">LedgerMetadata</span></a></li>
+<li><a href="org/apache/bookkeeper/client/LedgerMetadata.html" title="class in org.apache.bookkeeper.client" target="classFrame">LedgerMetadata</a></li>
+<li><a href="org/apache/bookkeeper/client/LedgerOpenOp.html" title="class in org.apache.bookkeeper.client" target="classFrame">LedgerOpenOp</a></li>
+<li><a href="org/apache/bookkeeper/client/LedgerOpenOp.OpenBuilderImpl.html" title="class in org.apache.bookkeeper.client" target="classFrame">LedgerOpenOp.OpenBuilderImpl</a></li>
+<li><a href="org/apache/bookkeeper/client/LedgerReader.html" title="class in org.apache.bookkeeper.client" target="classFrame">LedgerReader</a></li>
+<li><a href="org/apache/bookkeeper/client/LedgerReader.ReadResult.html" title="class in org.apache.bookkeeper.client" target="classFrame">LedgerReader.ReadResult</a></li>
+<li><a href="org/apache/bookkeeper/client/LedgerRecoveryOp.html" title="class in org.apache.bookkeeper.client" target="classFrame">LedgerRecoveryOp</a></li>
+<li><a href="org/apache/bookkeeper/client/ListenerBasedPendingReadOp.html" title="class in org.apache.bookkeeper.client" target="classFrame">ListenerBasedPendingReadOp</a></li>
+<li><a href="org/apache/bookkeeper/stats/prometheus/LongAdderCounter.html" title="class in org.apache.bookkeeper.stats.prometheus" target="classFrame">LongAdderCounter</a></li>
+<li><a href="org/apache/bookkeeper/stats/NullStatsLogger.html" title="class in org.apache.bookkeeper.stats" target="classFrame">NullStatsLogger</a></li>
+<li><a href="org/apache/bookkeeper/stats/NullStatsLogger.NullCounter.html" title="class in org.apache.bookkeeper.stats" target="classFrame">NullStatsLogger.NullCounter</a></li>
+<li><a href="org/apache/bookkeeper/stats/NullStatsLogger.NullOpStatsLogger.html" title="class in org.apache.bookkeeper.stats" target="classFrame">NullStatsLogger.NullOpStatsLogger</a></li>
+<li><a href="org/apache/bookkeeper/stats/NullStatsProvider.html" title="class in org.apache.bookkeeper.stats" target="classFrame">NullStatsProvider</a></li>
+<li><a href="org/apache/bookkeeper/client/api/OpBuilder.html" title="interface in org.apache.bookkeeper.client.api" target="classFrame"><span class="interfaceName">OpBuilder</span></a></li>
+<li><a href="org/apache/bookkeeper/client/api/OpenBuilder.html" title="interface in org.apache.bookkeeper.client.api" target="classFrame"><span class="interfaceName">OpenBuilder</span></a></li>
+<li><a href="org/apache/bookkeeper/stats/OpStatsData.html" title="class in org.apache.bookkeeper.stats" target="classFrame">OpStatsData</a></li>
+<li><a href="org/apache/bookkeeper/stats/OpStatsLogger.html" title="interface in org.apache.bookkeeper.stats" target="classFrame"><span class="interfaceName">OpStatsLogger</span></a></li>
+<li><a href="org/apache/bookkeeper/stats/twitter/finagle/OpStatsLoggerImpl.html" title="class in org.apache.bookkeeper.stats.twitter.finagle" target="classFrame">OpStatsLoggerImpl</a></li>
+<li><a href="org/apache/bookkeeper/stats/twitter/ostrich/OpStatsLoggerImpl.html" title="class in org.apache.bookkeeper.stats.twitter.ostrich" target="classFrame">OpStatsLoggerImpl</a></li>
+<li><a href="org/apache/bookkeeper/stats/twitter/science/OpStatsLoggerImpl.html" title="class in org.apache.bookkeeper.stats.twitter.science" target="classFrame">OpStatsLoggerImpl</a></li>
+<li><a href="org/apache/bookkeeper/stats/twitter/ostrich/OstrichProvider.html" title="class in org.apache.bookkeeper.stats.twitter.ostrich" target="classFrame">OstrichProvider</a></li>
+<li><a href="org/apache/bookkeeper/stats/twitter/ostrich/OstrichStatsLoggerImpl.html" title="class in org.apache.bookkeeper.stats.twitter.ostrich" target="classFrame">OstrichStatsLoggerImpl</a></li>
+<li><a href="org/apache/bookkeeper/client/PendingAddOp.html" title="class in org.apache.bookkeeper.client" target="classFrame">PendingAddOp</a></li>
+<li><a href="org/apache/bookkeeper/client/PendingReadLacOp.html" title="class in org.apache.bookkeeper.client" target="classFrame">PendingReadLacOp</a></li>
+<li><a href="org/apache/bookkeeper/client/PendingReadLacOp.LacCallback.html" title="interface in org.apache.bookkeeper.client" target="classFrame"><span class="interfaceName">PendingReadLacOp.LacCallback</span></a></li>
+<li><a href="org/apache/bookkeeper/client/PendingReadOp.html" title="class in org.apache.bookkeeper.client" target="classFrame">PendingReadOp</a></li>
+<li><a href="org/apache/bookkeeper/client/PendingWriteLacOp.html" title="class in org.apache.bookkeeper.client" target="classFrame">PendingWriteLacOp</a></li>
+<li><a href="org/apache/bookkeeper/stats/prometheus/PrometheusMetricsProvider.html" title="class in org.apache.bookkeeper.stats.prometheus" target="classFrame">PrometheusMetricsProvider</a></li>
+<li><a href="org/apache/bookkeeper/stats/prometheus/PrometheusServlet.html" title="class in org.apache.bookkeeper.stats.prometheus" target="classFrame">PrometheusServlet</a></li>
+<li><a href="org/apache/bookkeeper/stats/prometheus/PrometheusStatsLogger.html" title="class in org.apache.bookkeeper.stats.prometheus" target="classFrame">PrometheusStatsLogger</a></li>
+<li><a href="org/apache/bookkeeper/stats/prometheus/PrometheusTextFormatUtil.html" title="class in org.apache.bookkeeper.stats.prometheus" target="classFrame">PrometheusTextFormatUtil</a></li>
+<li><a href="org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicy.html" title="class in org.apache.bookkeeper.client" target="classFrame">RackawareEnsemblePlacementPolicy</a></li>
+<li><a href="org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.html" title="class in org.apache.bookkeeper.client" target="classFrame">RackawareEnsemblePlacementPolicyImpl</a></li>
+<li><a href="org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.DefaultResolver.html" title="class in org.apache.bookkeeper.client" target="classFrame">RackawareEnsemblePlacementPolicyImpl.DefaultResolver</a></li>
+<li><a href="org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.DNSResolverDecorator.html" title="class in org.apache.bookkeeper.client" target="classFrame">RackawareEnsemblePlacementPolicyImpl.DNSResolverDecorator</a></li>
+<li><a href="org/apache/bookkeeper/client/RackChangeNotifier.html" title="interface in org.apache.bookkeeper.client" target="classFrame"><span class="interfaceName">RackChangeNotifier</span></a></li>
+<li><a href="org/apache/bookkeeper/client/api/ReadHandle.html" title="interface in org.apache.bookkeeper.client.api" target="classFrame"><span class="interfaceName">ReadHandle</span></a></li>
+<li><a href="org/apache/bookkeeper/client/ReadLastConfirmedAndEntryOp.html" title="class in org.apache.bookkeeper.client" target="classFrame">ReadLastConfirmedAndEntryOp</a></li>
+<li><a href="org/apache/bookkeeper/client/ReadLastConfirmedAndEntryOp.LastConfirmedAndEntryCallback.html" title="interface in org.apache.bookkeeper.client" target="classFrame"><span class="interfaceName">ReadLastConfirmedAndEntryOp.LastConfirmedAndEntryCallback</span></a></li>
+<li><a href="org/apache/bookkeeper/client/ReadLastConfirmedOp.html" title="class in org.apache.bookkeeper.client" target="classFrame">ReadLastConfirmedOp</a></li>
+<li><a href="org/apache/bookkeeper/client/ReadLastConfirmedOp.LastConfirmedDataCallback.html" title="interface in org.apache.bookkeeper.client" target="classFrame"><span class="interfaceName">ReadLastConfirmedOp.LastConfirmedDataCallback</span></a></li>
+<li><a href="org/apache/bookkeeper/client/ReadOnlyLedgerHandle.html" title="class in org.apache.bookkeeper.client" target="classFrame">ReadOnlyLedgerHandle</a></li>
+<li><a href="org/apache/bookkeeper/client/RegionAwareEnsemblePlacementPolicy.html" title="class in org.apache.bookkeeper.client" target="classFrame">RegionAwareEnsemblePlacementPolicy</a></li>
+<li><a href="org/apache/bookkeeper/client/RoundRobinDistributionSchedule.html" title="class in org.apache.bookkeeper.client" target="classFrame">RoundRobinDistributionSchedule</a></li>
+<li><a href="org/apache/bookkeeper/conf/ServerConfiguration.html" title="class in org.apache.bookkeeper.conf" target="classFrame">ServerConfiguration</a></li>
+<li><a href="org/apache/bookkeeper/feature/SettableFeature.html" title="class in org.apache.bookkeeper.feature" target="classFrame">SettableFeature</a></li>
+<li><a href="org/apache/bookkeeper/feature/SettableFeatureProvider.html" title="class in org.apache.bookkeeper.feature" target="classFrame">SettableFeatureProvider</a></li>
+<li><a href="org/apache/bookkeeper/stats/prometheus/SimpleGauge.html" title="class in org.apache.bookkeeper.stats.prometheus" target="classFrame">SimpleGauge</a></li>
+<li><a href="org/apache/bookkeeper/client/SpeculativeRequestExecutionPolicy.html" title="interface in org.apache.bookkeeper.client" target="classFrame"><span class="interfaceName">SpeculativeRequestExecutionPolicy</span></a></li>
+<li><a href="org/apache/bookkeeper/client/SpeculativeRequestExecutor.html" title="interface in org.apache.bookkeeper.client" target="classFrame"><span class="interfaceName">SpeculativeRequestExecutor</span></a></li>
+<li><a href="org/apache/bookkeeper/stats/Stats.html" title="class in org.apache.bookkeeper.stats" target="classFrame">Stats</a></li>
+<li><a href="org/apache/bookkeeper/stats/StatsLogger.html" title="interface in org.apache.bookkeeper.stats" target="classFrame"><span class="interfaceName">StatsLogger</span></a></li>
+<li><a href="org/apache/bookkeeper/stats/StatsLoggerBenchmark.html" title="class in org.apache.bookkeeper.stats" target="classFrame">StatsLoggerBenchmark</a></li>
+<li><a href="org/apache/bookkeeper/stats/StatsLoggerBenchmark.LoggerState.html" title="class in org.apache.bookkeeper.stats" target="classFrame">StatsLoggerBenchmark.LoggerState</a></li>
+<li><a href="org/apache/bookkeeper/stats/generated/StatsLoggerBenchmark_counterIncrement_jmhTest.html" title="class in org.apache.bookkeeper.stats.generated" target="classFrame">StatsLoggerBenchmark_counterIncrement_jmhTest</a></li>
+<li><a href="org/apache/bookkeeper/stats/generated/StatsLoggerBenchmark_jmhType.html" title="class in org.apache.bookkeeper.stats.generated" target="classFrame">StatsLoggerBenchmark_jmhType</a></li>
+<li><a href="org/apache/bookkeeper/stats/generated/StatsLoggerBenchmark_jmhType_B1.html" title="class in org.apache.bookkeeper.stats.generated" target="classFrame">StatsLoggerBenchmark_jmhType_B1</a></li>
+<li><a href="org/apache/bookkeeper/stats/generated/StatsLoggerBenchmark_jmhType_B2.html" title="class in org.apache.bookkeeper.stats.generated" target="classFrame">StatsLoggerBenchmark_jmhType_B2</a></li>
+<li><a href="org/apache/bookkeeper/stats/generated/StatsLoggerBenchmark_jmhType_B3.html" title="class in org.apache.bookkeeper.stats.generated" target="classFrame">StatsLoggerBenchmark_jmhType_B3</a></li>
+<li><a href="org/apache/bookkeeper/stats/generated/StatsLoggerBenchmark_LoggerState_jmhType.html" title="class in org.apache.bookkeeper.stats.generated" target="classFrame">StatsLoggerBenchmark_LoggerState_jmhType</a></li>
+<li><a href="org/apache/bookkeeper/stats/generated/StatsLoggerBenchmark_LoggerState_jmhType_B1.html" title="class in org.apache.bookkeeper.stats.generated" target="classFrame">StatsLoggerBenchmark_LoggerState_jmhType_B1</a></li>
+<li><a href="org/apache/bookkeeper/stats/generated/StatsLoggerBenchmark_LoggerState_jmhType_B2.html" title="class in org.apache.bookkeeper.stats.generated" target="classFrame">StatsLoggerBenchmark_LoggerState_jmhType_B2</a></li>
+<li><a href="org/apache/bookkeeper/stats/generated/StatsLoggerBenchmark_LoggerState_jmhType_B3.html" title="class in org.apache.bookkeeper.stats.generated" target="classFrame">StatsLoggerBenchmark_LoggerState_jmhType_B3</a></li>
+<li><a href="org/apache/bookkeeper/stats/generated/StatsLoggerBenchmark_recordLatency_jmhTest.html" title="class in org.apache.bookkeeper.stats.generated" target="classFrame">StatsLoggerBenchmark_recordLatency_jmhTest</a></li>
+<li><a href="org/apache/bookkeeper/stats/StatsProvider.html" title="interface in org.apache.bookkeeper.stats" target="classFrame"><span class="interfaceName">StatsProvider</span></a></li>
+<li><a href="org/apache/bookkeeper/client/SyncCallbackUtils.html" title="class in org.apache.bookkeeper.client" target="classFrame">SyncCallbackUtils</a></li>
+<li><a href="org/apache/bookkeeper/client/SyncCallbackUtils.FutureReadLastConfirmed.html" title="class in org.apache.bookkeeper.client" target="classFrame">SyncCallbackUtils.FutureReadLastConfirmed</a></li>
+<li><a href="org/apache/bookkeeper/client/SyncCallbackUtils.FutureReadLastConfirmedAndEntry.html" title="class in org.apache.bookkeeper.client" target="classFrame">SyncCallbackUtils.FutureReadLastConfirmedAndEntry</a></li>
+<li><a href="org/apache/bookkeeper/client/SyncCallbackUtils.LastAddConfirmedCallback.html" title="class in org.apache.bookkeeper.client" target="classFrame">SyncCallbackUtils.LastAddConfirmedCallback</a></li>
+<li><a href="org/apache/bookkeeper/client/SyncCallbackUtils.SyncAddCallback.html" title="class in org.apache.bookkeeper.client" target="classFrame">SyncCallbackUtils.SyncAddCallback</a></li>
+<li><a href="org/apache/bookkeeper/client/SyncCallbackUtils.SyncCloseCallback.html" title="class in org.apache.bookkeeper.client" target="classFrame">SyncCallbackUtils.SyncCloseCallback</a></li>
+<li><a href="org/apache/bookkeeper/client/SyncCallbackUtils.SyncCreateAdvCallback.html" title="class in org.apache.bookkeeper.client" target="classFrame">SyncCallbackUtils.SyncCreateAdvCallback</a></li>
+<li><a href="org/apache/bookkeeper/client/SyncCallbackUtils.SyncCreateCallback.html" title="class in org.apache.bookkeeper.client" target="classFrame">SyncCallbackUtils.SyncCreateCallback</a></li>
+<li><a href="org/apache/bookkeeper/client/SyncCallbackUtils.SyncDeleteCallback.html" title="class in org.apache.bookkeeper.client" target="classFrame">SyncCallbackUtils.SyncDeleteCallback</a></li>
+<li><a href="org/apache/bookkeeper/client/SyncCallbackUtils.SyncOpenCallback.html" title="class in org.apache.bookkeeper.client" target="classFrame">SyncCallbackUtils.SyncOpenCallback</a></li>
+<li><a href="org/apache/bookkeeper/client/SyncCallbackUtils.SyncReadCallback.html" title="class in org.apache.bookkeeper.client" target="classFrame">SyncCallbackUtils.SyncReadCallback</a></li>
+<li><a href="org/apache/bookkeeper/client/SyncCallbackUtils.SyncReadLastConfirmedCallback.html" title="class in org.apache.bookkeeper.client" target="classFrame">SyncCallbackUtils.SyncReadLastConfirmedCallback</a></li>
+<li><a href="org/apache/bookkeeper/client/SyncCounter.html" title="class in org.apache.bookkeeper.client" target="classFrame">SyncCounter</a></li>
+<li><a href="org/apache/bookkeeper/client/TopologyAwareEnsemblePlacementPolicy.html" title="class in org.apache.bookkeeper.client" target="classFrame">TopologyAwareEnsemblePlacementPolicy</a></li>
+<li><a href="org/apache/bookkeeper/client/TopologyAwareEnsemblePlacementPolicy.BookieNode.html" title="class in org.apache.bookkeeper.client" target="classFrame">TopologyAwareEnsemblePlacementPolicy.BookieNode</a></li>
+<li><a href="org/apache/bookkeeper/client/TopologyAwareEnsemblePlacementPolicy.EnsembleForReplacementWithNoConstraints.html" title="class in org.apache.bookkeeper.client" target="classFrame">TopologyAwareEnsemblePlacementPolicy.EnsembleForReplacementWithNoConstraints</a></li>
+<li><a href="org/apache/bookkeeper/client/TopologyAwareEnsemblePlacementPolicy.RRTopologyAwareCoverageEnsemble.html" title="class in org.apache.bookkeeper.client" target="classFrame">TopologyAwareEnsemblePlacementPolicy.RRTopologyAwareCoverageEnsemble</a></li>
+<li><a href="org/apache/bookkeeper/client/TopologyAwareEnsemblePlacementPolicy.RRTopologyAwareCoverageEnsemble.CoverageSet.html" title="interface in org.apache.bookkeeper.client" target="classFrame"><span class="interfaceName">TopologyAwareEnsemblePlacementPolicy.RRTopologyAwareCoverageEnsemble.CoverageSet</span></a></li>
+<li><a href="org/apache/bookkeeper/client/TopologyAwareEnsemblePlacementPolicy.TruePredicate.html" title="class in org.apache.bookkeeper.client" target="classFrame">TopologyAwareEnsemblePlacementPolicy.TruePredicate</a></li>
+<li><a href="org/apache/bookkeeper/client/TryReadLastConfirmedOp.html" title="class in org.apache.bookkeeper.client" target="classFrame">TryReadLastConfirmedOp</a></li>
+<li><a href="org/apache/bookkeeper/stats/twitter/science/TwitterStatsLoggerImpl.html" title="class in org.apache.bookkeeper.stats.twitter.science" target="classFrame">TwitterStatsLoggerImpl</a></li>
+<li><a href="org/apache/bookkeeper/stats/twitter/science/TwitterStatsProvider.html" title="class in org.apache.bookkeeper.stats.twitter.science" target="classFrame">TwitterStatsProvider</a></li>
+<li><a href="org/apache/bookkeeper/client/UpdateLedgerOp.html" title="class in org.apache.bookkeeper.client" target="classFrame">UpdateLedgerOp</a></li>
+<li><a href="org/apache/bookkeeper/client/WeightedRandomSelection.html" title="class in org.apache.bookkeeper.client" target="classFrame">WeightedRandomSelection</a></li>
+<li><a href="org/apache/bookkeeper/client/WeightedRandomSelection.WeightedObject.html" title="interface in org.apache.bookkeeper.client" target="classFrame"><span class="interfaceName">WeightedRandomSelection.WeightedObject</span></a></li>
+<li><a href="org/apache/bookkeeper/client/api/WriteAdvHandle.html" title="interface in org.apache.bookkeeper.client.api" target="classFrame"><span class="interfaceName">WriteAdvHandle</span></a></li>
+<li><a href="org/apache/bookkeeper/client/api/WriteFlag.html" title="enum in org.apache.bookkeeper.client.api" target="classFrame">WriteFlag</a></li>
+<li><a href="org/apache/bookkeeper/client/api/WriteHandle.html" title="interface in org.apache.bookkeeper.client.api" target="classFrame"><span class="interfaceName">WriteHandle</span></a></li>
+</ul>
+</div>
+</body>
+</html>
diff --git a/content/docs/4.6.2/api/javadoc/allclasses-noframe.html b/content/docs/4.6.2/api/javadoc/allclasses-noframe.html
new file mode 100644
index 0000000..8e25a91
--- /dev/null
+++ b/content/docs/4.6.2/api/javadoc/allclasses-noframe.html
@@ -0,0 +1,251 @@
+<!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>All Classes (Apache BookKeeper :: Parent 4.7.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>
+<h1 class="bar">All&nbsp;Classes</h1>
+<div class="indexContainer">
+<ul>
+<li><a href="org/apache/bookkeeper/conf/AbstractConfiguration.html" title="class in org.apache.bookkeeper.conf">AbstractConfiguration</a></li>
+<li><a href="org/apache/bookkeeper/stats/AlertStatsLogger.html" title="class in org.apache.bookkeeper.stats">AlertStatsLogger</a></li>
+<li><a href="org/apache/bookkeeper/client/AsyncCallback.html" title="interface in org.apache.bookkeeper.client"><span class="interfaceName">AsyncCallback</span></a></li>
+<li><a href="org/apache/bookkeeper/client/AsyncCallback.AddCallback.html" title="interface in org.apache.bookkeeper.client"><span class="interfaceName">AsyncCallback.AddCallback</span></a></li>
+<li><a href="org/apache/bookkeeper/client/AsyncCallback.AddCallbackWithLatency.html" title="interface in org.apache.bookkeeper.client"><span class="interfaceName">AsyncCallback.AddCallbackWithLatency</span></a></li>
+<li><a href="org/apache/bookkeeper/client/AsyncCallback.AddLacCallback.html" title="interface in org.apache.bookkeeper.client"><span class="interfaceName">AsyncCallback.AddLacCallback</span></a></li>
+<li><a href="org/apache/bookkeeper/client/AsyncCallback.CloseCallback.html" title="interface in org.apache.bookkeeper.client"><span class="interfaceName">AsyncCallback.CloseCallback</span></a></li>
+<li><a href="org/apache/bookkeeper/client/AsyncCallback.CreateCallback.html" title="interface in org.apache.bookkeeper.client"><span class="interfaceName">AsyncCallback.CreateCallback</span></a></li>
+<li><a href="org/apache/bookkeeper/client/AsyncCallback.DeleteCallback.html" title="interface in org.apache.bookkeeper.client"><span class="interfaceName">AsyncCallback.DeleteCallback</span></a></li>
+<li><a href="org/apache/bookkeeper/client/AsyncCallback.IsClosedCallback.html" title="interface in org.apache.bookkeeper.client"><span class="interfaceName">AsyncCallback.IsClosedCallback</span></a></li>
+<li><a href="org/apache/bookkeeper/client/AsyncCallback.OpenCallback.html" title="interface in org.apache.bookkeeper.client"><span class="interfaceName">AsyncCallback.OpenCallback</span></a></li>
+<li><a href="org/apache/bookkeeper/client/AsyncCallback.ReadCallback.html" title="interface in org.apache.bookkeeper.client"><span class="interfaceName">AsyncCallback.ReadCallback</span></a></li>
+<li><a href="org/apache/bookkeeper/client/AsyncCallback.ReadLastConfirmedAndEntryCallback.html" title="interface in org.apache.bookkeeper.client"><span class="interfaceName">AsyncCallback.ReadLastConfirmedAndEntryCallback</span></a></li>
+<li><a href="org/apache/bookkeeper/client/AsyncCallback.ReadLastConfirmedCallback.html" title="interface in org.apache.bookkeeper.client"><span class="interfaceName">AsyncCallback.ReadLastConfirmedCallback</span></a></li>
+<li><a href="org/apache/bookkeeper/client/AsyncCallback.RecoverCallback.html" title="interface in org.apache.bookkeeper.client"><span class="interfaceName">AsyncCallback.RecoverCallback</span></a></li>
+<li><a href="org/apache/bookkeeper/client/api/BKException.html" title="class in org.apache.bookkeeper.client.api">BKException</a></li>
+<li><a href="org/apache/bookkeeper/client/BKException.html" title="class in org.apache.bookkeeper.client">BKException</a></li>
+<li><a href="org/apache/bookkeeper/client/BKException.BKAddEntryQuorumTimeoutException.html" title="class in org.apache.bookkeeper.client">BKException.BKAddEntryQuorumTimeoutException</a></li>
+<li><a href="org/apache/bookkeeper/client/BKException.BKBookieException.html" title="class in org.apache.bookkeeper.client">BKException.BKBookieException</a></li>
+<li><a href="org/apache/bookkeeper/client/BKException.BKBookieHandleNotAvailableException.html" title="class in org.apache.bookkeeper.client">BKException.BKBookieHandleNotAvailableException</a></li>
+<li><a href="org/apache/bookkeeper/client/BKException.BKClientClosedException.html" title="class in org.apache.bookkeeper.client">BKException.BKClientClosedException</a></li>
+<li><a href="org/apache/bookkeeper/client/BKException.BKDigestMatchException.html" title="class in org.apache.bookkeeper.client">BKException.BKDigestMatchException</a></li>
+<li><a href="org/apache/bookkeeper/client/BKException.BKDigestNotInitializedException.html" title="class in org.apache.bookkeeper.client">BKException.BKDigestNotInitializedException</a></li>
+<li><a href="org/apache/bookkeeper/client/BKException.BKDuplicateEntryIdException.html" title="class in org.apache.bookkeeper.client">BKException.BKDuplicateEntryIdException</a></li>
+<li><a href="org/apache/bookkeeper/client/BKException.BKIllegalOpException.html" title="class in org.apache.bookkeeper.client">BKException.BKIllegalOpException</a></li>
+<li><a href="org/apache/bookkeeper/client/BKException.BKIncorrectParameterException.html" title="class in org.apache.bookkeeper.client">BKException.BKIncorrectParameterException</a></li>
+<li><a href="org/apache/bookkeeper/client/BKException.BKInterruptedException.html" title="class in org.apache.bookkeeper.client">BKException.BKInterruptedException</a></li>
+<li><a href="org/apache/bookkeeper/client/BKException.BKLedgerClosedException.html" title="class in org.apache.bookkeeper.client">BKException.BKLedgerClosedException</a></li>
+<li><a href="org/apache/bookkeeper/client/BKException.BKLedgerExistException.html" title="class in org.apache.bookkeeper.client">BKException.BKLedgerExistException</a></li>
+<li><a href="org/apache/bookkeeper/client/BKException.BKLedgerFencedException.html" title="class in org.apache.bookkeeper.client">BKException.BKLedgerFencedException</a></li>
+<li><a href="org/apache/bookkeeper/client/BKException.BKLedgerIdOverflowException.html" title="class in org.apache.bookkeeper.client">BKException.BKLedgerIdOverflowException</a></li>
+<li><a href="org/apache/bookkeeper/client/BKException.BKLedgerRecoveryException.html" title="class in org.apache.bookkeeper.client">BKException.BKLedgerRecoveryException</a></li>
+<li><a href="org/apache/bookkeeper/client/BKException.BKMetadataVersionException.html" title="class in org.apache.bookkeeper.client">BKException.BKMetadataVersionException</a></li>
+<li><a href="org/apache/bookkeeper/client/BKException.BKNoSuchEntryException.html" title="class in org.apache.bookkeeper.client">BKException.BKNoSuchEntryException</a></li>
+<li><a href="org/apache/bookkeeper/client/BKException.BKNoSuchLedgerExistsException.html" title="class in org.apache.bookkeeper.client">BKException.BKNoSuchLedgerExistsException</a></li>
+<li><a href="org/apache/bookkeeper/client/BKException.BKNotEnoughBookiesException.html" title="class in org.apache.bookkeeper.client">BKException.BKNotEnoughBookiesException</a></li>
+<li><a href="org/apache/bookkeeper/client/BKException.BKProtocolVersionException.html" title="class in org.apache.bookkeeper.client">BKException.BKProtocolVersionException</a></li>
+<li><a href="org/apache/bookkeeper/client/BKException.BKQuorumException.html" title="class in org.apache.bookkeeper.client">BKException.BKQuorumException</a></li>
+<li><a href="org/apache/bookkeeper/client/BKException.BKReadException.html" title="class in org.apache.bookkeeper.client">BKException.BKReadException</a></li>
+<li><a href="org/apache/bookkeeper/client/BKException.BKReplicationException.html" title="class in org.apache.bookkeeper.client">BKException.BKReplicationException</a></li>
+<li><a href="org/apache/bookkeeper/client/BKException.BKSecurityException.html" title="class in org.apache.bookkeeper.client">BKException.BKSecurityException</a></li>
+<li><a href="org/apache/bookkeeper/client/BKException.BKTimeoutException.html" title="class in org.apache.bookkeeper.client">BKException.BKTimeoutException</a></li>
+<li><a href="org/apache/bookkeeper/client/BKException.BKTooManyRequestsException.html" title="class in org.apache.bookkeeper.client">BKException.BKTooManyRequestsException</a></li>
+<li><a href="org/apache/bookkeeper/client/BKException.BKUnauthorizedAccessException.html" title="class in org.apache.bookkeeper.client">BKException.BKUnauthorizedAccessException</a></li>
+<li><a href="org/apache/bookkeeper/client/BKException.BKUnclosedFragmentException.html" title="class in org.apache.bookkeeper.client">BKException.BKUnclosedFragmentException</a></li>
+<li><a href="org/apache/bookkeeper/client/BKException.BKUnexpectedConditionException.html" title="class in org.apache.bookkeeper.client">BKException.BKUnexpectedConditionException</a></li>
+<li><a href="org/apache/bookkeeper/client/BKException.BKWriteException.html" title="class in org.apache.bookkeeper.client">BKException.BKWriteException</a></li>
+<li><a href="org/apache/bookkeeper/client/BKException.BKWriteOnReadOnlyBookieException.html" title="class in org.apache.bookkeeper.client">BKException.BKWriteOnReadOnlyBookieException</a></li>
+<li><a href="org/apache/bookkeeper/client/api/BKException.Code.html" title="interface in org.apache.bookkeeper.client.api"><span class="interfaceName">BKException.Code</span></a></li>
+<li><a href="org/apache/bookkeeper/client/BKException.Code.html" title="interface in org.apache.bookkeeper.client"><span class="interfaceName">BKException.Code</span></a></li>
+<li><a href="org/apache/bookkeeper/client/BKException.MetaStoreException.html" title="class in org.apache.bookkeeper.client">BKException.MetaStoreException</a></li>
+<li><a href="org/apache/bookkeeper/client/BKException.ZKException.html" title="class in org.apache.bookkeeper.client">BKException.ZKException</a></li>
+<li><a href="org/apache/bookkeeper/client/BookieInfoReader.html" title="class in org.apache.bookkeeper.client">BookieInfoReader</a></li>
+<li><a href="org/apache/bookkeeper/client/BookieInfoReader.BookieInfo.html" title="class in org.apache.bookkeeper.client">BookieInfoReader.BookieInfo</a></li>
+<li><a href="org/apache/bookkeeper/client/BookieInfoReader.State.html" title="enum in org.apache.bookkeeper.client">BookieInfoReader.State</a></li>
+<li><a href="org/apache/bookkeeper/client/BookiesHealthInfo.html" title="interface in org.apache.bookkeeper.client"><span class="interfaceName">BookiesHealthInfo</span></a></li>
+<li><a href="org/apache/bookkeeper/client/BookiesListener.html" title="interface in org.apache.bookkeeper.client"><span class="interfaceName">BookiesListener</span></a></li>
+<li><a href="org/apache/bookkeeper/client/BookieWatcher.html" title="class in org.apache.bookkeeper.client">BookieWatcher</a></li>
+<li><a href="org/apache/bookkeeper/client/api/BookKeeper.html" title="interface in org.apache.bookkeeper.client.api"><span class="interfaceName">BookKeeper</span></a></li>
+<li><a href="org/apache/bookkeeper/client/BookKeeper.html" title="class in org.apache.bookkeeper.client">BookKeeper</a></li>
+<li><a href="org/apache/bookkeeper/client/BookKeeper.Builder.html" title="class in org.apache.bookkeeper.client">BookKeeper.Builder</a></li>
+<li><a href="org/apache/bookkeeper/client/BookKeeper.DigestType.html" title="enum in org.apache.bookkeeper.client">BookKeeper.DigestType</a></li>
+<li><a href="org/apache/bookkeeper/client/BookKeeperAccessor.html" title="class in org.apache.bookkeeper.client">BookKeeperAccessor</a></li>
+<li><a href="org/apache/bookkeeper/client/BookKeeperAdmin.html" title="class in org.apache.bookkeeper.client">BookKeeperAdmin</a></li>
+<li><a href="org/apache/bookkeeper/client/BookKeeperAdmin.ReadMetadataCallback.html" title="class in org.apache.bookkeeper.client">BookKeeperAdmin.ReadMetadataCallback</a></li>
+<li><a href="org/apache/bookkeeper/client/BookKeeperAdmin.ResultCallBack.html" title="class in org.apache.bookkeeper.client">BookKeeperAdmin.ResultCallBack</a></li>
+<li><a href="org/apache/bookkeeper/client/BookKeeperAdmin.SyncObject.html" title="class in org.apache.bookkeeper.client">BookKeeperAdmin.SyncObject</a></li>
+<li><a href="org/apache/bookkeeper/client/api/BookKeeperBuilder.html" title="interface in org.apache.bookkeeper.client.api"><span class="interfaceName">BookKeeperBuilder</span></a></li>
+<li><a href="org/apache/bookkeeper/client/impl/BookKeeperBuilderImpl.html" title="class in org.apache.bookkeeper.client.impl">BookKeeperBuilderImpl</a></li>
+<li><a href="org/apache/bookkeeper/client/BookKeeperClientStats.html" title="interface in org.apache.bookkeeper.client"><span class="interfaceName">BookKeeperClientStats</span></a></li>
+<li><a href="org/apache/bookkeeper/feature/CacheableFeatureProvider.html" title="class in org.apache.bookkeeper.feature">CacheableFeatureProvider</a></li>
+<li><a href="org/apache/bookkeeper/stats/CachingStatsLogger.html" title="class in org.apache.bookkeeper.stats">CachingStatsLogger</a></li>
+<li><a href="org/apache/bookkeeper/stats/CachingStatsProvider.html" title="class in org.apache.bookkeeper.stats">CachingStatsProvider</a></li>
+<li><a href="org/apache/bookkeeper/conf/ClientConfiguration.html" title="class in org.apache.bookkeeper.conf">ClientConfiguration</a></li>
+<li><a href="org/apache/bookkeeper/stats/codahale/CodahaleMetricsProvider.html" title="class in org.apache.bookkeeper.stats.codahale">CodahaleMetricsProvider</a></li>
+<li><a href="org/apache/bookkeeper/stats/CodahaleMetricsProvider.html" title="class in org.apache.bookkeeper.stats">CodahaleMetricsProvider</a></li>
+<li><a href="org/apache/bookkeeper/stats/codahale/CodahaleOpStatsLogger.html" title="class in org.apache.bookkeeper.stats.codahale">CodahaleOpStatsLogger</a></li>
+<li><a href="org/apache/bookkeeper/stats/CodahaleOpStatsLogger.html" title="class in org.apache.bookkeeper.stats">CodahaleOpStatsLogger</a></li>
+<li><a href="org/apache/bookkeeper/stats/codahale/CodahaleStatsLogger.html" title="class in org.apache.bookkeeper.stats.codahale">CodahaleStatsLogger</a></li>
+<li><a href="org/apache/bookkeeper/stats/CodahaleStatsLogger.html" title="class in org.apache.bookkeeper.stats">CodahaleStatsLogger</a></li>
+<li><a href="org/apache/bookkeeper/conf/Configurable.html" title="interface in org.apache.bookkeeper.conf"><span class="interfaceName">Configurable</span></a></li>
+<li><a href="org/apache/bookkeeper/stats/Counter.html" title="interface in org.apache.bookkeeper.stats"><span class="interfaceName">Counter</span></a></li>
+<li><a href="org/apache/bookkeeper/stats/twitter/finagle/CounterImpl.html" title="class in org.apache.bookkeeper.stats.twitter.finagle">CounterImpl</a></li>
+<li><a href="org/apache/bookkeeper/stats/twitter/ostrich/CounterImpl.html" title="class in org.apache.bookkeeper.stats.twitter.ostrich">CounterImpl</a></li>
+<li><a href="org/apache/bookkeeper/stats/twitter/science/CounterImpl.html" title="class in org.apache.bookkeeper.stats.twitter.science">CounterImpl</a></li>
+<li><a href="org/apache/bookkeeper/client/api/CreateAdvBuilder.html" title="interface in org.apache.bookkeeper.client.api"><span class="interfaceName">CreateAdvBuilder</span></a></li>
+<li><a href="org/apache/bookkeeper/client/api/CreateBuilder.html" title="interface in org.apache.bookkeeper.client.api"><span class="interfaceName">CreateBuilder</span></a></li>
+<li><a href="org/apache/bookkeeper/stats/prometheus/DataSketchesOpStatsLogger.html" title="class in org.apache.bookkeeper.stats.prometheus">DataSketchesOpStatsLogger</a></li>
+<li><a href="org/apache/bookkeeper/client/DefaultEnsemblePlacementPolicy.html" title="class in org.apache.bookkeeper.client">DefaultEnsemblePlacementPolicy</a></li>
+<li><a href="org/apache/bookkeeper/client/DefaultSpeculativeRequestExecutionPolicy.html" title="class in org.apache.bookkeeper.client">DefaultSpeculativeRequestExecutionPolicy</a></li>
+<li><a href="org/apache/bookkeeper/client/api/DeleteBuilder.html" title="interface in org.apache.bookkeeper.client.api"><span class="interfaceName">DeleteBuilder</span></a></li>
+<li><a href="org/apache/bookkeeper/client/api/DigestType.html" title="enum in org.apache.bookkeeper.client.api">DigestType</a></li>
+<li><a href="org/apache/bookkeeper/client/DistributionSchedule.html" title="interface in org.apache.bookkeeper.client"><span class="interfaceName">DistributionSchedule</span></a></li>
+<li><a href="org/apache/bookkeeper/client/DistributionSchedule.AckSet.html" title="interface in org.apache.bookkeeper.client"><span class="interfaceName">DistributionSchedule.AckSet</span></a></li>
+<li><a href="org/apache/bookkeeper/client/DistributionSchedule.QuorumCoverageSet.html" title="interface in org.apache.bookkeeper.client"><span class="interfaceName">DistributionSchedule.QuorumCoverageSet</span></a></li>
+<li><a href="org/apache/bookkeeper/client/DistributionSchedule.WriteSet.html" title="interface in org.apache.bookkeeper.client"><span class="interfaceName">DistributionSchedule.WriteSet</span></a></li>
+<li><a href="org/apache/bookkeeper/client/EnsemblePlacementPolicy.html" title="interface in org.apache.bookkeeper.client"><span class="interfaceName">EnsemblePlacementPolicy</span></a></li>
+<li><a href="org/apache/bookkeeper/client/ExplicitLacFlushPolicy.html" title="interface in org.apache.bookkeeper.client"><span class="interfaceName">ExplicitLacFlushPolicy</span></a></li>
+<li><a href="org/apache/bookkeeper/client/ExplicitLacFlushPolicy.ExplicitLacFlushPolicyImpl.html" title="class in org.apache.bookkeeper.client">ExplicitLacFlushPolicy.ExplicitLacFlushPolicyImpl</a></li>
+<li><a href="org/apache/bookkeeper/feature/Feature.html" title="interface in org.apache.bookkeeper.feature"><span class="interfaceName">Feature</span></a></li>
+<li><a href="org/apache/bookkeeper/feature/FeatureProvider.html" title="interface in org.apache.bookkeeper.feature"><span class="interfaceName">FeatureProvider</span></a></li>
+<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/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>
+<li><a href="org/apache/bookkeeper/common/annotation/InterfaceAudience.html" title="class in org.apache.bookkeeper.common.annotation">InterfaceAudience</a></li>
+<li><a href="org/apache/bookkeeper/common/annotation/InterfaceAudience.LimitedPrivate.html" title="annotation in org.apache.bookkeeper.common.annotation">InterfaceAudience.LimitedPrivate</a></li>
+<li><a href="org/apache/bookkeeper/common/annotation/InterfaceAudience.Private.html" title="annotation in org.apache.bookkeeper.common.annotation">InterfaceAudience.Private</a></li>
+<li><a href="org/apache/bookkeeper/common/annotation/InterfaceAudience.Public.html" title="annotation in org.apache.bookkeeper.common.annotation">InterfaceAudience.Public</a></li>
+<li><a href="org/apache/bookkeeper/common/annotation/InterfaceStability.html" title="class in org.apache.bookkeeper.common.annotation">InterfaceStability</a></li>
+<li><a href="org/apache/bookkeeper/common/annotation/InterfaceStability.Evolving.html" title="annotation in org.apache.bookkeeper.common.annotation">InterfaceStability.Evolving</a></li>
+<li><a href="org/apache/bookkeeper/common/annotation/InterfaceStability.Stable.html" title="annotation in org.apache.bookkeeper.common.annotation">InterfaceStability.Stable</a></li>
+<li><a href="org/apache/bookkeeper/common/annotation/InterfaceStability.Unstable.html" title="annotation in org.apache.bookkeeper.common.annotation">InterfaceStability.Unstable</a></li>
+<li><a href="org/apache/bookkeeper/client/ITopologyAwareEnsemblePlacementPolicy.html" title="interface in org.apache.bookkeeper.client"><span class="interfaceName">ITopologyAwareEnsemblePlacementPolicy</span></a></li>
+<li><a href="org/apache/bookkeeper/client/ITopologyAwareEnsemblePlacementPolicy.Ensemble.html" title="interface in org.apache.bookkeeper.client"><span class="interfaceName">ITopologyAwareEnsemblePlacementPolicy.Ensemble</span></a></li>
+<li><a href="org/apache/bookkeeper/client/ITopologyAwareEnsemblePlacementPolicy.Predicate.html" title="interface in org.apache.bookkeeper.client"><span class="interfaceName">ITopologyAwareEnsemblePlacementPolicy.Predicate</span></a></li>
+<li><a href="org/apache/bookkeeper/client/api/LastConfirmedAndEntry.html" title="interface in org.apache.bookkeeper.client.api"><span class="interfaceName">LastConfirmedAndEntry</span></a></li>
+<li><a href="org/apache/bookkeeper/client/impl/LastConfirmedAndEntryImpl.html" title="class in org.apache.bookkeeper.client.impl">LastConfirmedAndEntryImpl</a></li>
+<li><a href="org/apache/bookkeeper/client/LedgerChecker.html" title="class in org.apache.bookkeeper.client">LedgerChecker</a></li>
+<li><a href="org/apache/bookkeeper/client/LedgerChecker.InvalidFragmentException.html" title="class in org.apache.bookkeeper.client">LedgerChecker.InvalidFragmentException</a></li>
+<li><a href="org/apache/bookkeeper/client/LedgerCreateOp.html" title="class in org.apache.bookkeeper.client">LedgerCreateOp</a></li>
+<li><a href="org/apache/bookkeeper/client/LedgerCreateOp.CreateBuilderImpl.html" title="class in org.apache.bookkeeper.client">LedgerCreateOp.CreateBuilderImpl</a></li>
+<li><a href="org/apache/bookkeeper/client/LedgerDeleteOp.html" title="class in org.apache.bookkeeper.client">LedgerDeleteOp</a></li>
+<li><a href="org/apache/bookkeeper/client/LedgerDeleteOp.DeleteBuilderImpl.html" title="class in org.apache.bookkeeper.client">LedgerDeleteOp.DeleteBuilderImpl</a></li>
+<li><a href="org/apache/bookkeeper/client/api/LedgerEntries.html" title="interface in org.apache.bookkeeper.client.api"><span class="interfaceName">LedgerEntries</span></a></li>
+<li><a href="org/apache/bookkeeper/client/impl/LedgerEntriesImpl.html" title="class in org.apache.bookkeeper.client.impl">LedgerEntriesImpl</a></li>
+<li><a href="org/apache/bookkeeper/client/api/LedgerEntry.html" title="interface in org.apache.bookkeeper.client.api"><span class="interfaceName">LedgerEntry</span></a></li>
+<li><a href="org/apache/bookkeeper/client/LedgerEntry.html" title="class in org.apache.bookkeeper.client">LedgerEntry</a></li>
+<li><a href="org/apache/bookkeeper/client/impl/LedgerEntryImpl.html" title="class in org.apache.bookkeeper.client.impl">LedgerEntryImpl</a></li>
+<li><a href="org/apache/bookkeeper/client/LedgerFragment.html" title="class in org.apache.bookkeeper.client">LedgerFragment</a></li>
+<li><a href="org/apache/bookkeeper/client/LedgerFragmentReplicator.html" title="class in org.apache.bookkeeper.client">LedgerFragmentReplicator</a></li>
+<li><a href="org/apache/bookkeeper/client/LedgerFragmentReplicator.SingleFragmentCallback.html" title="class in org.apache.bookkeeper.client">LedgerFragmentReplicator.SingleFragmentCallback</a></li>
+<li><a href="org/apache/bookkeeper/client/LedgerHandle.html" title="class in org.apache.bookkeeper.client">LedgerHandle</a></li>
+<li><a href="org/apache/bookkeeper/client/LedgerHandle.EnsembleInfo.html" title="class in org.apache.bookkeeper.client">LedgerHandle.EnsembleInfo</a></li>
+<li><a href="org/apache/bookkeeper/client/LedgerHandle.LastConfirmedCtx.html" title="class in org.apache.bookkeeper.client">LedgerHandle.LastConfirmedCtx</a></li>
+<li><a href="org/apache/bookkeeper/client/LedgerHandle.NoopCloseCallback.html" title="class in org.apache.bookkeeper.client">LedgerHandle.NoopCloseCallback</a></li>
+<li><a href="org/apache/bookkeeper/client/LedgerHandleAdv.html" title="class in org.apache.bookkeeper.client">LedgerHandleAdv</a></li>
+<li><a href="org/apache/bookkeeper/client/LedgerHandleAdv.PendingOpsComparator.html" title="class in org.apache.bookkeeper.client">LedgerHandleAdv.PendingOpsComparator</a></li>
+<li><a href="org/apache/bookkeeper/client/api/LedgerMetadata.html" title="interface in org.apache.bookkeeper.client.api"><span class="interfaceName">LedgerMetadata</span></a></li>
+<li><a href="org/apache/bookkeeper/client/LedgerMetadata.html" title="class in org.apache.bookkeeper.client">LedgerMetadata</a></li>
+<li><a href="org/apache/bookkeeper/client/LedgerOpenOp.html" title="class in org.apache.bookkeeper.client">LedgerOpenOp</a></li>
+<li><a href="org/apache/bookkeeper/client/LedgerOpenOp.OpenBuilderImpl.html" title="class in org.apache.bookkeeper.client">LedgerOpenOp.OpenBuilderImpl</a></li>
+<li><a href="org/apache/bookkeeper/client/LedgerReader.html" title="class in org.apache.bookkeeper.client">LedgerReader</a></li>
+<li><a href="org/apache/bookkeeper/client/LedgerReader.ReadResult.html" title="class in org.apache.bookkeeper.client">LedgerReader.ReadResult</a></li>
+<li><a href="org/apache/bookkeeper/client/LedgerRecoveryOp.html" title="class in org.apache.bookkeeper.client">LedgerRecoveryOp</a></li>
+<li><a href="org/apache/bookkeeper/client/ListenerBasedPendingReadOp.html" title="class in org.apache.bookkeeper.client">ListenerBasedPendingReadOp</a></li>
+<li><a href="org/apache/bookkeeper/stats/prometheus/LongAdderCounter.html" title="class in org.apache.bookkeeper.stats.prometheus">LongAdderCounter</a></li>
+<li><a href="org/apache/bookkeeper/stats/NullStatsLogger.html" title="class in org.apache.bookkeeper.stats">NullStatsLogger</a></li>
+<li><a href="org/apache/bookkeeper/stats/NullStatsLogger.NullCounter.html" title="class in org.apache.bookkeeper.stats">NullStatsLogger.NullCounter</a></li>
+<li><a href="org/apache/bookkeeper/stats/NullStatsLogger.NullOpStatsLogger.html" title="class in org.apache.bookkeeper.stats">NullStatsLogger.NullOpStatsLogger</a></li>
+<li><a href="org/apache/bookkeeper/stats/NullStatsProvider.html" title="class in org.apache.bookkeeper.stats">NullStatsProvider</a></li>
+<li><a href="org/apache/bookkeeper/client/api/OpBuilder.html" title="interface in org.apache.bookkeeper.client.api"><span class="interfaceName">OpBuilder</span></a></li>
+<li><a href="org/apache/bookkeeper/client/api/OpenBuilder.html" title="interface in org.apache.bookkeeper.client.api"><span class="interfaceName">OpenBuilder</span></a></li>
+<li><a href="org/apache/bookkeeper/stats/OpStatsData.html" title="class in org.apache.bookkeeper.stats">OpStatsData</a></li>
+<li><a href="org/apache/bookkeeper/stats/OpStatsLogger.html" title="interface in org.apache.bookkeeper.stats"><span class="interfaceName">OpStatsLogger</span></a></li>
+<li><a href="org/apache/bookkeeper/stats/twitter/finagle/OpStatsLoggerImpl.html" title="class in org.apache.bookkeeper.stats.twitter.finagle">OpStatsLoggerImpl</a></li>
+<li><a href="org/apache/bookkeeper/stats/twitter/ostrich/OpStatsLoggerImpl.html" title="class in org.apache.bookkeeper.stats.twitter.ostrich">OpStatsLoggerImpl</a></li>
+<li><a href="org/apache/bookkeeper/stats/twitter/science/OpStatsLoggerImpl.html" title="class in org.apache.bookkeeper.stats.twitter.science">OpStatsLoggerImpl</a></li>
+<li><a href="org/apache/bookkeeper/stats/twitter/ostrich/OstrichProvider.html" title="class in org.apache.bookkeeper.stats.twitter.ostrich">OstrichProvider</a></li>
+<li><a href="org/apache/bookkeeper/stats/twitter/ostrich/OstrichStatsLoggerImpl.html" title="class in org.apache.bookkeeper.stats.twitter.ostrich">OstrichStatsLoggerImpl</a></li>
+<li><a href="org/apache/bookkeeper/client/PendingAddOp.html" title="class in org.apache.bookkeeper.client">PendingAddOp</a></li>
+<li><a href="org/apache/bookkeeper/client/PendingReadLacOp.html" title="class in org.apache.bookkeeper.client">PendingReadLacOp</a></li>
+<li><a href="org/apache/bookkeeper/client/PendingReadLacOp.LacCallback.html" title="interface in org.apache.bookkeeper.client"><span class="interfaceName">PendingReadLacOp.LacCallback</span></a></li>
+<li><a href="org/apache/bookkeeper/client/PendingReadOp.html" title="class in org.apache.bookkeeper.client">PendingReadOp</a></li>
+<li><a href="org/apache/bookkeeper/client/PendingWriteLacOp.html" title="class in org.apache.bookkeeper.client">PendingWriteLacOp</a></li>
+<li><a href="org/apache/bookkeeper/stats/prometheus/PrometheusMetricsProvider.html" title="class in org.apache.bookkeeper.stats.prometheus">PrometheusMetricsProvider</a></li>
+<li><a href="org/apache/bookkeeper/stats/prometheus/PrometheusServlet.html" title="class in org.apache.bookkeeper.stats.prometheus">PrometheusServlet</a></li>
+<li><a href="org/apache/bookkeeper/stats/prometheus/PrometheusStatsLogger.html" title="class in org.apache.bookkeeper.stats.prometheus">PrometheusStatsLogger</a></li>
+<li><a href="org/apache/bookkeeper/stats/prometheus/PrometheusTextFormatUtil.html" title="class in org.apache.bookkeeper.stats.prometheus">PrometheusTextFormatUtil</a></li>
+<li><a href="org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicy.html" title="class in org.apache.bookkeeper.client">RackawareEnsemblePlacementPolicy</a></li>
+<li><a href="org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.html" title="class in org.apache.bookkeeper.client">RackawareEnsemblePlacementPolicyImpl</a></li>
+<li><a href="org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.DefaultResolver.html" title="class in org.apache.bookkeeper.client">RackawareEnsemblePlacementPolicyImpl.DefaultResolver</a></li>
+<li><a href="org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.DNSResolverDecorator.html" title="class in org.apache.bookkeeper.client">RackawareEnsemblePlacementPolicyImpl.DNSResolverDecorator</a></li>
+<li><a href="org/apache/bookkeeper/client/RackChangeNotifier.html" title="interface in org.apache.bookkeeper.client"><span class="interfaceName">RackChangeNotifier</span></a></li>
+<li><a href="org/apache/bookkeeper/client/api/ReadHandle.html" title="interface in org.apache.bookkeeper.client.api"><span class="interfaceName">ReadHandle</span></a></li>
+<li><a href="org/apache/bookkeeper/client/ReadLastConfirmedAndEntryOp.html" title="class in org.apache.bookkeeper.client">ReadLastConfirmedAndEntryOp</a></li>
+<li><a href="org/apache/bookkeeper/client/ReadLastConfirmedAndEntryOp.LastConfirmedAndEntryCallback.html" title="interface in org.apache.bookkeeper.client"><span class="interfaceName">ReadLastConfirmedAndEntryOp.LastConfirmedAndEntryCallback</span></a></li>
+<li><a href="org/apache/bookkeeper/client/ReadLastConfirmedOp.html" title="class in org.apache.bookkeeper.client">ReadLastConfirmedOp</a></li>
+<li><a href="org/apache/bookkeeper/client/ReadLastConfirmedOp.LastConfirmedDataCallback.html" title="interface in org.apache.bookkeeper.client"><span class="interfaceName">ReadLastConfirmedOp.LastConfirmedDataCallback</span></a></li>
+<li><a href="org/apache/bookkeeper/client/ReadOnlyLedgerHandle.html" title="class in org.apache.bookkeeper.client">ReadOnlyLedgerHandle</a></li>
+<li><a href="org/apache/bookkeeper/client/RegionAwareEnsemblePlacementPolicy.html" title="class in org.apache.bookkeeper.client">RegionAwareEnsemblePlacementPolicy</a></li>
+<li><a href="org/apache/bookkeeper/client/RoundRobinDistributionSchedule.html" title="class in org.apache.bookkeeper.client">RoundRobinDistributionSchedule</a></li>
+<li><a href="org/apache/bookkeeper/conf/ServerConfiguration.html" title="class in org.apache.bookkeeper.conf">ServerConfiguration</a></li>
+<li><a href="org/apache/bookkeeper/feature/SettableFeature.html" title="class in org.apache.bookkeeper.feature">SettableFeature</a></li>
+<li><a href="org/apache/bookkeeper/feature/SettableFeatureProvider.html" title="class in org.apache.bookkeeper.feature">SettableFeatureProvider</a></li>
+<li><a href="org/apache/bookkeeper/stats/prometheus/SimpleGauge.html" title="class in org.apache.bookkeeper.stats.prometheus">SimpleGauge</a></li>
+<li><a href="org/apache/bookkeeper/client/SpeculativeRequestExecutionPolicy.html" title="interface in org.apache.bookkeeper.client"><span class="interfaceName">SpeculativeRequestExecutionPolicy</span></a></li>
+<li><a href="org/apache/bookkeeper/client/SpeculativeRequestExecutor.html" title="interface in org.apache.bookkeeper.client"><span class="interfaceName">SpeculativeRequestExecutor</span></a></li>
+<li><a href="org/apache/bookkeeper/stats/Stats.html" title="class in org.apache.bookkeeper.stats">Stats</a></li>
+<li><a href="org/apache/bookkeeper/stats/StatsLogger.html" title="interface in org.apache.bookkeeper.stats"><span class="interfaceName">StatsLogger</span></a></li>
+<li><a href="org/apache/bookkeeper/stats/StatsLoggerBenchmark.html" title="class in org.apache.bookkeeper.stats">StatsLoggerBenchmark</a></li>
+<li><a href="org/apache/bookkeeper/stats/StatsLoggerBenchmark.LoggerState.html" title="class in org.apache.bookkeeper.stats">StatsLoggerBenchmark.LoggerState</a></li>
+<li><a href="org/apache/bookkeeper/stats/generated/StatsLoggerBenchmark_counterIncrement_jmhTest.html" title="class in org.apache.bookkeeper.stats.generated">StatsLoggerBenchmark_counterIncrement_jmhTest</a></li>
+<li><a href="org/apache/bookkeeper/stats/generated/StatsLoggerBenchmark_jmhType.html" title="class in org.apache.bookkeeper.stats.generated">StatsLoggerBenchmark_jmhType</a></li>
+<li><a href="org/apache/bookkeeper/stats/generated/StatsLoggerBenchmark_jmhType_B1.html" title="class in org.apache.bookkeeper.stats.generated">StatsLoggerBenchmark_jmhType_B1</a></li>
+<li><a href="org/apache/bookkeeper/stats/generated/StatsLoggerBenchmark_jmhType_B2.html" title="class in org.apache.bookkeeper.stats.generated">StatsLoggerBenchmark_jmhType_B2</a></li>
+<li><a href="org/apache/bookkeeper/stats/generated/StatsLoggerBenchmark_jmhType_B3.html" title="class in org.apache.bookkeeper.stats.generated">StatsLoggerBenchmark_jmhType_B3</a></li>
+<li><a href="org/apache/bookkeeper/stats/generated/StatsLoggerBenchmark_LoggerState_jmhType.html" title="class in org.apache.bookkeeper.stats.generated">StatsLoggerBenchmark_LoggerState_jmhType</a></li>
+<li><a href="org/apache/bookkeeper/stats/generated/StatsLoggerBenchmark_LoggerState_jmhType_B1.html" title="class in org.apache.bookkeeper.stats.generated">StatsLoggerBenchmark_LoggerState_jmhType_B1</a></li>
+<li><a href="org/apache/bookkeeper/stats/generated/StatsLoggerBenchmark_LoggerState_jmhType_B2.html" title="class in org.apache.bookkeeper.stats.generated">StatsLoggerBenchmark_LoggerState_jmhType_B2</a></li>
+<li><a href="org/apache/bookkeeper/stats/generated/StatsLoggerBenchmark_LoggerState_jmhType_B3.html" title="class in org.apache.bookkeeper.stats.generated">StatsLoggerBenchmark_LoggerState_jmhType_B3</a></li>
+<li><a href="org/apache/bookkeeper/stats/generated/StatsLoggerBenchmark_recordLatency_jmhTest.html" title="class in org.apache.bookkeeper.stats.generated">StatsLoggerBenchmark_recordLatency_jmhTest</a></li>
+<li><a href="org/apache/bookkeeper/stats/StatsProvider.html" title="interface in org.apache.bookkeeper.stats"><span class="interfaceName">StatsProvider</span></a></li>
+<li><a href="org/apache/bookkeeper/client/SyncCallbackUtils.html" title="class in org.apache.bookkeeper.client">SyncCallbackUtils</a></li>
+<li><a href="org/apache/bookkeeper/client/SyncCallbackUtils.FutureReadLastConfirmed.html" title="class in org.apache.bookkeeper.client">SyncCallbackUtils.FutureReadLastConfirmed</a></li>
+<li><a href="org/apache/bookkeeper/client/SyncCallbackUtils.FutureReadLastConfirmedAndEntry.html" title="class in org.apache.bookkeeper.client">SyncCallbackUtils.FutureReadLastConfirmedAndEntry</a></li>
+<li><a href="org/apache/bookkeeper/client/SyncCallbackUtils.LastAddConfirmedCallback.html" title="class in org.apache.bookkeeper.client">SyncCallbackUtils.LastAddConfirmedCallback</a></li>
+<li><a href="org/apache/bookkeeper/client/SyncCallbackUtils.SyncAddCallback.html" title="class in org.apache.bookkeeper.client">SyncCallbackUtils.SyncAddCallback</a></li>
+<li><a href="org/apache/bookkeeper/client/SyncCallbackUtils.SyncCloseCallback.html" title="class in org.apache.bookkeeper.client">SyncCallbackUtils.SyncCloseCallback</a></li>
+<li><a href="org/apache/bookkeeper/client/SyncCallbackUtils.SyncCreateAdvCallback.html" title="class in org.apache.bookkeeper.client">SyncCallbackUtils.SyncCreateAdvCallback</a></li>
+<li><a href="org/apache/bookkeeper/client/SyncCallbackUtils.SyncCreateCallback.html" title="class in org.apache.bookkeeper.client">SyncCallbackUtils.SyncCreateCallback</a></li>
+<li><a href="org/apache/bookkeeper/client/SyncCallbackUtils.SyncDeleteCallback.html" title="class in org.apache.bookkeeper.client">SyncCallbackUtils.SyncDeleteCallback</a></li>
+<li><a href="org/apache/bookkeeper/client/SyncCallbackUtils.SyncOpenCallback.html" title="class in org.apache.bookkeeper.client">SyncCallbackUtils.SyncOpenCallback</a></li>
+<li><a href="org/apache/bookkeeper/client/SyncCallbackUtils.SyncReadCallback.html" title="class in org.apache.bookkeeper.client">SyncCallbackUtils.SyncReadCallback</a></li>
+<li><a href="org/apache/bookkeeper/client/SyncCallbackUtils.SyncReadLastConfirmedCallback.html" title="class in org.apache.bookkeeper.client">SyncCallbackUtils.SyncReadLastConfirmedCallback</a></li>
+<li><a href="org/apache/bookkeeper/client/SyncCounter.html" title="class in org.apache.bookkeeper.client">SyncCounter</a></li>
+<li><a href="org/apache/bookkeeper/client/TopologyAwareEnsemblePlacementPolicy.html" title="class in org.apache.bookkeeper.client">TopologyAwareEnsemblePlacementPolicy</a></li>
+<li><a href="org/apache/bookkeeper/client/TopologyAwareEnsemblePlacementPolicy.BookieNode.html" title="class in org.apache.bookkeeper.client">TopologyAwareEnsemblePlacementPolicy.BookieNode</a></li>
+<li><a href="org/apache/bookkeeper/client/TopologyAwareEnsemblePlacementPolicy.EnsembleForReplacementWithNoConstraints.html" title="class in org.apache.bookkeeper.client">TopologyAwareEnsemblePlacementPolicy.EnsembleForReplacementWithNoConstraints</a></li>
+<li><a href="org/apache/bookkeeper/client/TopologyAwareEnsemblePlacementPolicy.RRTopologyAwareCoverageEnsemble.html" title="class in org.apache.bookkeeper.client">TopologyAwareEnsemblePlacementPolicy.RRTopologyAwareCoverageEnsemble</a></li>
+<li><a href="org/apache/bookkeeper/client/TopologyAwareEnsemblePlacementPolicy.RRTopologyAwareCoverageEnsemble.CoverageSet.html" title="interface in org.apache.bookkeeper.client"><span class="interfaceName">TopologyAwareEnsemblePlacementPolicy.RRTopologyAwareCoverageEnsemble.CoverageSet</span></a></li>
+<li><a href="org/apache/bookkeeper/client/TopologyAwareEnsemblePlacementPolicy.TruePredicate.html" title="class in org.apache.bookkeeper.client">TopologyAwareEnsemblePlacementPolicy.TruePredicate</a></li>
+<li><a href="org/apache/bookkeeper/client/TryReadLastConfirmedOp.html" title="class in org.apache.bookkeeper.client">TryReadLastConfirmedOp</a></li>
+<li><a href="org/apache/bookkeeper/stats/twitter/science/TwitterStatsLoggerImpl.html" title="class in org.apache.bookkeeper.stats.twitter.science">TwitterStatsLoggerImpl</a></li>
+<li><a href="org/apache/bookkeeper/stats/twitter/science/TwitterStatsProvider.html" title="class in org.apache.bookkeeper.stats.twitter.science">TwitterStatsProvider</a></li>
+<li><a href="org/apache/bookkeeper/client/UpdateLedgerOp.html" title="class in org.apache.bookkeeper.client">UpdateLedgerOp</a></li>
+<li><a href="org/apache/bookkeeper/client/WeightedRandomSelection.html" title="class in org.apache.bookkeeper.client">WeightedRandomSelection</a></li>
+<li><a href="org/apache/bookkeeper/client/WeightedRandomSelection.WeightedObject.html" title="interface in org.apache.bookkeeper.client"><span class="interfaceName">WeightedRandomSelection.WeightedObject</span></a></li>
+<li><a href="org/apache/bookkeeper/client/api/WriteAdvHandle.html" title="interface in org.apache.bookkeeper.client.api"><span class="interfaceName">WriteAdvHandle</span></a></li>
+<li><a href="org/apache/bookkeeper/client/api/WriteFlag.html" title="enum in org.apache.bookkeeper.client.api">WriteFlag</a></li>
+<li><a href="org/apache/bookkeeper/client/api/WriteHandle.html" title="interface in org.apache.bookkeeper.client.api"><span class="interfaceName">WriteHandle</span></a></li>
+</ul>
+</div>
+</body>
+</html>
diff --git a/content/docs/4.6.2/api/javadoc/constant-values.html b/content/docs/4.6.2/api/javadoc/constant-values.html
new file mode 100644
index 0000000..60ed374
--- /dev/null
+++ b/content/docs/4.6.2/api/javadoc/constant-values.html
@@ -0,0 +1,2551 @@
+<!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>Constant Field Values (Apache BookKeeper :: Parent 4.7.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="Constant Field Values (Apache BookKeeper :: Parent 4.7.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>Package</li>
+<li>Class</li>
+<li>Use</li>
+<li><a href="overview-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?constant-values.html" target="_top">Frames</a></li>
+<li><a href="constant-values.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">
+<h1 title="Constant Field Values" class="title">Constant Field Values</h1>
+<h2 title="Contents">Contents</h2>
+<ul>
+<li><a href="#org.apache">org.apache.*</a></li>
+</ul>
+</div>
+<div class="constantValuesContainer"><a name="org.apache">
+<!--   -->
+</a>
+<h2 title="org.apache">org.apache.*</h2>
+<ul class="blockList">
+<li class="blockList">
+<table class="constantsSummary" border="0" cellpadding="3" cellspacing="0" summary="Constant Field Values table, listing constant fields, and values">
+<caption><span>org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/BookKeeperClientStats.html" title="interface in org.apache.bookkeeper.client">BookKeeperClientStats</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th scope="col">Constant Field</th>
+<th class="colLast" scope="col">Value</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.client.BookKeeperClientStats.ACTIVE_NON_TLS_CHANNEL_COUNTER">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/bookkeeper/client/BookKeeperClientStats.html#ACTIVE_NON_TLS_CHANNEL_COUNTER">ACTIVE_NON_TLS_CHANNEL_COUNTER</a></code></td>
+<td class="colLast"><code>"ACTIVE_NON_TLS_CHANNEL_COUNTER"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.client.BookKeeperClientStats.ACTIVE_TLS_CHANNEL_COUNTER">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/bookkeeper/client/BookKeeperClientStats.html#ACTIVE_TLS_CHANNEL_COUNTER">ACTIVE_TLS_CHANNEL_COUNTER</a></code></td>
+<td class="colLast"><code>"ACTIVE_TLS_CHANNEL_COUNTER"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.client.BookKeeperClientStats.ADD_OP">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/bookkeeper/client/BookKeeperClientStats.html#ADD_OP">ADD_OP</a></code></td>
+<td class="colLast"><code>"ADD_ENTRY"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.client.BookKeeperClientStats.ADD_OP_OUTSTANDING">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/bookkeeper/client/BookKeeperClientStats.html#ADD_OP_OUTSTANDING">ADD_OP_OUTSTANDING</a></code></td>
+<td class="colLast"><code>"ADD_OP_OUTSTANDING"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.client.BookKeeperClientStats.ADD_OP_UR">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/bookkeeper/client/BookKeeperClientStats.html#ADD_OP_UR">ADD_OP_UR</a></code></td>
+<td class="colLast"><code>"ADD_ENTRY_UR"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.client.BookKeeperClientStats.CHANNEL_ADD_OP">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/bookkeeper/client/BookKeeperClientStats.html#CHANNEL_ADD_OP">CHANNEL_ADD_OP</a></code></td>
+<td class="colLast"><code>"ADD_ENTRY"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.client.BookKeeperClientStats.CHANNEL_READ_LAC_OP">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></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">
+<td class="colFirst"><a name="org.apache.bookkeeper.client.BookKeeperClientStats.CHANNEL_READ_OP">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></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">
+<td class="colFirst"><a name="org.apache.bookkeeper.client.BookKeeperClientStats.CHANNEL_SCOPE">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></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">
+<td class="colFirst"><a name="org.apache.bookkeeper.client.BookKeeperClientStats.CHANNEL_START_TLS_OP">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></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">
+<td class="colFirst"><a name="org.apache.bookkeeper.client.BookKeeperClientStats.CHANNEL_TIMEOUT_ADD">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></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="rowColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.client.BookKeeperClientStats.CHANNEL_TIMEOUT_READ">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/bookkeeper/client/BookKeeperClientStats.html#CHANNEL_TIMEOUT_READ">CHANNEL_TIMEOUT_READ</a></code></td>
+<td class="colLast"><code>"TIMEOUT_READ_ENTRY"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.client.BookKeeperClientStats.CHANNEL_TIMEOUT_READ_LAC">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/bookkeeper/client/BookKeeperClientStats.html#CHANNEL_TIMEOUT_READ_LAC">CHANNEL_TIMEOUT_READ_LAC</a></code></td>
+<td class="colLast"><code>"TIMEOUT_READ_LAC"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.client.BookKeeperClientStats.CHANNEL_TIMEOUT_START_TLS_OP">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/bookkeeper/client/BookKeeperClientStats.html#CHANNEL_TIMEOUT_START_TLS_OP">CHANNEL_TIMEOUT_START_TLS_OP</a></code></td>
+<td class="colLast"><code>"TIMEOUT_START_TLS"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.client.BookKeeperClientStats.CHANNEL_TIMEOUT_WRITE_LAC">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/bookkeeper/client/BookKeeperClientStats.html#CHANNEL_TIMEOUT_WRITE_LAC">CHANNEL_TIMEOUT_WRITE_LAC</a></code></td>
+<td class="colLast"><code>"TIMEOUT_WRITE_LAC"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.client.BookKeeperClientStats.CHANNEL_WRITE_LAC_OP">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/bookkeeper/client/BookKeeperClientStats.html#CHANNEL_WRITE_LAC_OP">CHANNEL_WRITE_LAC_OP</a></code></td>
+<td class="colLast"><code>"WRITE_LAC"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.client.BookKeeperClientStats.CLIENT_CONNECT_TIMER">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/bookkeeper/client/BookKeeperClientStats.html#CLIENT_CONNECT_TIMER">CLIENT_CONNECT_TIMER</a></code></td>
+<td class="colLast"><code>"CLIENT_CONNECT_TIMER"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.client.BookKeeperClientStats.CLIENT_SCOPE">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/bookkeeper/client/BookKeeperClientStats.html#CLIENT_SCOPE">CLIENT_SCOPE</a></code></td>
+<td class="colLast"><code>"bookkeeper_client"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.client.BookKeeperClientStats.CREATE_OP">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/bookkeeper/client/BookKeeperClientStats.html#CREATE_OP">CREATE_OP</a></code></td>
+<td class="colLast"><code>"LEDGER_CREATE"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.client.BookKeeperClientStats.DELETE_OP">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/bookkeeper/client/BookKeeperClientStats.html#DELETE_OP">DELETE_OP</a></code></td>
+<td class="colLast"><code>"LEDGER_DELETE"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.client.BookKeeperClientStats.ENSEMBLE_CHANGES">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/bookkeeper/client/BookKeeperClientStats.html#ENSEMBLE_CHANGES">ENSEMBLE_CHANGES</a></code></td>
+<td class="colLast"><code>"NUM_ENSEMBLE_CHANGE"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.client.BookKeeperClientStats.FAILED_CONNECTION_COUNTER">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/bookkeeper/client/BookKeeperClientStats.html#FAILED_CONNECTION_COUNTER">FAILED_CONNECTION_COUNTER</a></code></td>
+<td class="colLast"><code>"FAILED_CONNECTION_COUNTER"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.client.BookKeeperClientStats.FAILED_TLS_HANDSHAKE_COUNTER">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/bookkeeper/client/BookKeeperClientStats.html#FAILED_TLS_HANDSHAKE_COUNTER">FAILED_TLS_HANDSHAKE_COUNTER</a></code></td>
+<td class="colLast"><code>"FAILED_TLS_HANDSHAKE_COUNTER"</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="http://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="altColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.client.BookKeeperClientStats.LAC_UPDATE_HITS">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></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="rowColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.client.BookKeeperClientStats.LAC_UPDATE_MISSES">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></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="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="http://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="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="http://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="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="http://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="rowColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.client.BookKeeperClientStats.NETTY_EXCEPTION_CNT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></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="altColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.client.BookKeeperClientStats.NETTY_OPS">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></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="rowColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.client.BookKeeperClientStats.OPEN_OP">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></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="altColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.client.BookKeeperClientStats.PENDING_ADDS">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></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="rowColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.client.BookKeeperClientStats.READ_LAC_OP">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></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="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="http://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="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="http://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="altColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.client.BookKeeperClientStats.READ_OP">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></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="rowColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.client.BookKeeperClientStats.READ_OP_DM">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></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="altColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.client.BookKeeperClientStats.READ_OP_OUTSTANDING">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></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="rowColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.client.BookKeeperClientStats.RECOVER_OP">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></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">
+<td class="colFirst"><a name="org.apache.bookkeeper.client.BookKeeperClientStats.SPECULATIVE_READ_COUNT">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></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">
+<td class="colFirst"><a name="org.apache.bookkeeper.client.BookKeeperClientStats.TIMEOUT_GET_BOOKIE_INFO">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></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">
+<td class="colFirst"><a name="org.apache.bookkeeper.client.BookKeeperClientStats.WRITE_LAC_OP">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/bookkeeper/client/BookKeeperClientStats.html#WRITE_LAC_OP">WRITE_LAC_OP</a></code></td>
+<td class="colLast"><code>"WRITE_LAC"</code></td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<table class="constantsSummary" border="0" cellpadding="3" cellspacing="0" summary="Constant Field Values table, listing constant fields, and values">
+<caption><span>org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/LedgerHandle.html" title="class in org.apache.bookkeeper.client">LedgerHandle</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th scope="col">Constant Field</th>
+<th class="colLast" scope="col">Value</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.client.LedgerHandle.INVALID_ENTRY_ID">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;long</code></td>
+<td><code><a href="org/apache/bookkeeper/client/LedgerHandle.html#INVALID_ENTRY_ID">INVALID_ENTRY_ID</a></code></td>
+<td class="colLast"><code>-1L</code></td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<table class="constantsSummary" border="0" cellpadding="3" cellspacing="0" summary="Constant Field Values table, listing constant fields, and values">
+<caption><span>org.apache.bookkeeper.client.org.apache.bookkeeper.client.LedgerHandle.LastConfirmedCtx</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th scope="col">Constant Field</th>
+<th class="colLast" scope="col">Value</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.client.LedgerHandle.LastConfirmedCtx.ENTRY_ID_PENDING">
+<!--   -->
+</a><code>static&nbsp;final&nbsp;long</code></td>
+<td><code><a href="org/apache/bookkeeper/client/LedgerHandle.LastConfirmedCtx.html#ENTRY_ID_PENDING">ENTRY_ID_PENDING</a></code></td>
+<td class="colLast"><code>-10L</code></td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<table class="constantsSummary" border="0" cellpadding="3" cellspacing="0" summary="Constant Field Values table, listing constant fields, and values">
+<caption><span>org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/LedgerMetadata.html" title="class in org.apache.bookkeeper.client">LedgerMetadata</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th scope="col">Constant Field</th>
+<th class="colLast" scope="col">Value</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.client.LedgerMetadata.CURRENT_METADATA_FORMAT_VERSION">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<td><code><a href="org/apache/bookkeeper/client/LedgerMetadata.html#CURRENT_METADATA_FORMAT_VERSION">CURRENT_METADATA_FORMAT_VERSION</a></code></td>
+<td class="colLast"><code>2</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.client.LedgerMetadata.LOWEST_COMPAT_METADATA_FORMAT_VERSION">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<td><code><a href="org/apache/bookkeeper/client/LedgerMetadata.html#LOWEST_COMPAT_METADATA_FORMAT_VERSION">LOWEST_COMPAT_METADATA_FORMAT_VERSION</a></code></td>
+<td class="colLast"><code>0</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.client.LedgerMetadata.VERSION_KEY">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/bookkeeper/client/LedgerMetadata.html#VERSION_KEY">VERSION_KEY</a></code></td>
+<td class="colLast"><code>"BookieMetadataFormatVersion"</code></td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<table class="constantsSummary" border="0" cellpadding="3" cellspacing="0" summary="Constant Field Values table, listing constant fields, and values">
+<caption><span>org.apache.bookkeeper.client.org.apache.bookkeeper.client.PendingReadOp.SequenceReadRequest</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th scope="col">Constant Field</th>
+<th class="colLast" scope="col">Value</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.client.PendingReadOp.SequenceReadRequest.NOT_FOUND">
+<!--   -->
+</a><code>static&nbsp;final&nbsp;int</code></td>
+<td><code><a href="org/apache/bookkeeper/client/PendingReadOp.SequenceReadRequest.html#NOT_FOUND">NOT_FOUND</a></code></td>
+<td class="colLast"><code>-1</code></td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<table class="constantsSummary" border="0" cellpadding="3" cellspacing="0" summary="Constant Field Values table, listing constant fields, and values">
+<caption><span>org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.html" title="class in org.apache.bookkeeper.client">RackawareEnsemblePlacementPolicyImpl</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th scope="col">Constant Field</th>
+<th class="colLast" scope="col">Value</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.client.RackawareEnsemblePlacementPolicyImpl.LOCAL_FAIL_MASK">
+<!--   -->
+</a><code>static&nbsp;final&nbsp;int</code></td>
+<td><code><a href="org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.html#LOCAL_FAIL_MASK">LOCAL_FAIL_MASK</a></code></td>
+<td class="colLast"><code>33554432</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.client.RackawareEnsemblePlacementPolicyImpl.LOCAL_MASK">
+<!--   -->
+</a><code>static&nbsp;final&nbsp;int</code></td>
+<td><code><a href="org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.html#LOCAL_MASK">LOCAL_MASK</a></code></td>
+<td class="colLast"><code>16777216</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.client.RackawareEnsemblePlacementPolicyImpl.MASK_BITS">
+<!--   -->
+</a><code>static&nbsp;final&nbsp;int</code></td>
+<td><code><a href="org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.html#MASK_BITS">MASK_BITS</a></code></td>
+<td class="colLast"><code>-1048576</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.client.RackawareEnsemblePlacementPolicyImpl.RACKNAME_DISTANCE_FROM_LEAVES">
+<!--   -->
+</a><code>static&nbsp;final&nbsp;int</code></td>
+<td><code><a href="org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.html#RACKNAME_DISTANCE_FROM_LEAVES">RACKNAME_DISTANCE_FROM_LEAVES</a></code></td>
+<td class="colLast"><code>1</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.client.RackawareEnsemblePlacementPolicyImpl.READ_ONLY_MASK">
+<!--   -->
+</a><code>static&nbsp;final&nbsp;int</code></td>
+<td><code><a href="org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.html#READ_ONLY_MASK">READ_ONLY_MASK</a></code></td>
+<td class="colLast"><code>268435456</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.client.RackawareEnsemblePlacementPolicyImpl.REMOTE_FAIL_MASK">
+<!--   -->
+</a><code>static&nbsp;final&nbsp;int</code></td>
+<td><code><a href="org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.html#REMOTE_FAIL_MASK">REMOTE_FAIL_MASK</a></code></td>
+<td class="colLast"><code>134217728</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.client.RackawareEnsemblePlacementPolicyImpl.REMOTE_MASK">
+<!--   -->
+</a><code>static&nbsp;final&nbsp;int</code></td>
+<td><code><a href="org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.html#REMOTE_MASK">REMOTE_MASK</a></code></td>
+<td class="colLast"><code>67108864</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.client.RackawareEnsemblePlacementPolicyImpl.REPP_DNS_RESOLVER_CLASS">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.html#REPP_DNS_RESOLVER_CLASS">REPP_DNS_RESOLVER_CLASS</a></code></td>
+<td class="colLast"><code>"reppDnsResolverClass"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.client.RackawareEnsemblePlacementPolicyImpl.REPP_RANDOM_READ_REORDERING">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.html#REPP_RANDOM_READ_REORDERING">REPP_RANDOM_READ_REORDERING</a></code></td>
+<td class="colLast"><code>"ensembleRandomReadReordering"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.client.RackawareEnsemblePlacementPolicyImpl.SLOW_MASK">
+<!--   -->
+</a><code>static&nbsp;final&nbsp;int</code></td>
+<td><code><a href="org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.html#SLOW_MASK">SLOW_MASK</a></code></td>
+<td class="colLast"><code>536870912</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.client.RackawareEnsemblePlacementPolicyImpl.UNAVAIL_MASK">
+<!--   -->
+</a><code>static&nbsp;final&nbsp;int</code></td>
+<td><code><a href="org/apache/bookkeeper/client/RackawareEnsemblePlacementPolicyImpl.html#UNAVAIL_MASK">UNAVAIL_MASK</a></code></td>
+<td class="colLast"><code>1073741824</code></td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<table class="constantsSummary" border="0" cellpadding="3" cellspacing="0" summary="Constant Field Values table, listing constant fields, and values">
+<caption><span>org.apache.bookkeeper.client.org.apache.bookkeeper.client.ReadLastConfirmedAndEntryOp.SequenceReadRequest</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th scope="col">Constant Field</th>
+<th class="colLast" scope="col">Value</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.client.ReadLastConfirmedAndEntryOp.SequenceReadRequest.NOT_FOUND">
+<!--   -->
+</a><code>static&nbsp;final&nbsp;int</code></td>
+<td><code><a href="org/apache/bookkeeper/client/ReadLastConfirmedAndEntryOp.SequenceReadRequest.html#NOT_FOUND">NOT_FOUND</a></code></td>
+<td class="colLast"><code>-1</code></td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<table class="constantsSummary" border="0" cellpadding="3" cellspacing="0" summary="Constant Field Values table, listing constant fields, and values">
+<caption><span>org.apache.bookkeeper.client.<a href="org/apache/bookkeeper/client/RegionAwareEnsemblePlacementPolicy.html" title="class in org.apache.bookkeeper.client">RegionAwareEnsemblePlacementPolicy</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th scope="col">Constant Field</th>
+<th class="colLast" scope="col">Value</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.client.RegionAwareEnsemblePlacementPolicy.MINIMUM_REGIONS_FOR_DURABILITY_DEFAULT">
+<!--   -->
+</a><code>static&nbsp;final&nbsp;int</code></td>
+<td><code><a href="org/apache/bookkeeper/client/RegionAwareEnsemblePlacementPolicy.html#MINIMUM_REGIONS_FOR_DURABILITY_DEFAULT">MINIMUM_REGIONS_FOR_DURABILITY_DEFAULT</a></code></td>
+<td class="colLast"><code>2</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.client.RegionAwareEnsemblePlacementPolicy.REGION_AWARE_ANOMALOUS_ENSEMBLE">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/bookkeeper/client/RegionAwareEnsemblePlacementPolicy.html#REGION_AWARE_ANOMALOUS_ENSEMBLE">REGION_AWARE_ANOMALOUS_ENSEMBLE</a></code></td>
+<td class="colLast"><code>"region_aware_anomalous_ensemble"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.client.RegionAwareEnsemblePlacementPolicy.REGIONID_DISTANCE_FROM_LEAVES">
+<!--   -->
+</a><code>static&nbsp;final&nbsp;int</code></td>
+<td><code><a href="org/apache/bookkeeper/client/RegionAwareEnsemblePlacementPolicy.html#REGIONID_DISTANCE_FROM_LEAVES">REGIONID_DISTANCE_FROM_LEAVES</a></code></td>
+<td class="colLast"><code>2</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.client.RegionAwareEnsemblePlacementPolicy.REMOTE_NODE_IN_REORDER_SEQUENCE">
+<!--   -->
+</a><code>static&nbsp;final&nbsp;int</code></td>
+<td><code><a href="org/apache/bookkeeper/client/RegionAwareEnsemblePlacementPolicy.html#REMOTE_NODE_IN_REORDER_SEQUENCE">REMOTE_NODE_IN_REORDER_SEQUENCE</a></code></td>
+<td class="colLast"><code>2</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.client.RegionAwareEnsemblePlacementPolicy.REPP_DISABLE_DURABILITY_ENFORCEMENT_FEATURE">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/bookkeeper/client/RegionAwareEnsemblePlacementPolicy.html#REPP_DISABLE_DURABILITY_ENFORCEMENT_FEATURE">REPP_DISABLE_DURABILITY_ENFORCEMENT_FEATURE</a></code></td>
+<td class="colLast"><code>"reppDisableDurabilityEnforcementFeature"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.client.RegionAwareEnsemblePlacementPolicy.REPP_DISABLE_DURABILITY_FEATURE_NAME">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/bookkeeper/client/RegionAwareEnsemblePlacementPolicy.html#REPP_DISABLE_DURABILITY_FEATURE_NAME">REPP_DISABLE_DURABILITY_FEATURE_NAME</a></code></td>
+<td class="colLast"><code>"reppDisableDurabilityFeatureName"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.client.RegionAwareEnsemblePlacementPolicy.REPP_DISALLOW_BOOKIE_PLACEMENT_IN_REGION_FEATURE_NAME">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/bookkeeper/client/RegionAwareEnsemblePlacementPolicy.html#REPP_DISALLOW_BOOKIE_PLACEMENT_IN_REGION_FEATURE_NAME">REPP_DISALLOW_BOOKIE_PLACEMENT_IN_REGION_FEATURE_NAME</a></code></td>
+<td class="colLast"><code>"reppDisallowBookiePlacementInRegionFeatureName"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.client.RegionAwareEnsemblePlacementPolicy.REPP_ENABLE_DURABILITY_ENFORCEMENT_IN_REPLACE">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/bookkeeper/client/RegionAwareEnsemblePlacementPolicy.html#REPP_ENABLE_DURABILITY_ENFORCEMENT_IN_REPLACE">REPP_ENABLE_DURABILITY_ENFORCEMENT_IN_REPLACE</a></code></td>
+<td class="colLast"><code>"reppEnableDurabilityEnforcementInReplace"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.client.RegionAwareEnsemblePlacementPolicy.REPP_ENABLE_VALIDATION">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/bookkeeper/client/RegionAwareEnsemblePlacementPolicy.html#REPP_ENABLE_VALIDATION">REPP_ENABLE_VALIDATION</a></code></td>
+<td class="colLast"><code>"reppEnableValidation"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.client.RegionAwareEnsemblePlacementPolicy.REPP_MINIMUM_REGIONS_FOR_DURABILITY">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/bookkeeper/client/RegionAwareEnsemblePlacementPolicy.html#REPP_MINIMUM_REGIONS_FOR_DURABILITY">REPP_MINIMUM_REGIONS_FOR_DURABILITY</a></code></td>
+<td class="colLast"><code>"reppMinimumRegionsForDurability"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.client.RegionAwareEnsemblePlacementPolicy.REPP_REGIONS_TO_WRITE">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/bookkeeper/client/RegionAwareEnsemblePlacementPolicy.html#REPP_REGIONS_TO_WRITE">REPP_REGIONS_TO_WRITE</a></code></td>
+<td class="colLast"><code>"reppRegionsToWrite"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.client.RegionAwareEnsemblePlacementPolicy.UNKNOWN_REGION">
+<!--   -->
+</a><code>static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/bookkeeper/client/RegionAwareEnsemblePlacementPolicy.html#UNKNOWN_REGION">UNKNOWN_REGION</a></code></td>
+<td class="colLast"><code>"UnknownRegion"</code></td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+<ul class="blockList">
+<li class="blockList">
+<table class="constantsSummary" border="0" cellpadding="3" cellspacing="0" summary="Constant Field Values table, listing constant fields, and values">
+<caption><span>org.apache.bookkeeper.client.api.<a href="org/apache/bookkeeper/client/api/BKException.Code.html" title="interface in org.apache.bookkeeper.client.api">BKException.Code</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th scope="col">Constant Field</th>
+<th class="colLast" scope="col">Value</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.client.api.BKException.Code.AddEntryQuorumTimeoutException">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<td><code><a href="org/apache/bookkeeper/client/api/BKException.Code.html#AddEntryQuorumTimeoutException">AddEntryQuorumTimeoutException</a></code></td>
+<td class="colLast"><code>-21</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.client.api.BKException.Code.BookieHandleNotAvailableException">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<td><code><a href="org/apache/bookkeeper/client/api/BKException.Code.html#BookieHandleNotAvailableException">BookieHandleNotAvailableException</a></code></td>
+<td class="colLast"><code>-8</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.client.api.BKException.Code.ClientClosedException">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<td><code><a href="org/apache/bookkeeper/client/api/BKException.Code.html#ClientClosedException">ClientClosedException</a></code></td>
+<td class="colLast"><code>-19</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.client.api.BKException.Code.DigestMatchException">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<td><code><a href="org/apache/bookkeeper/client/api/BKException.Code.html#DigestMatchException">DigestMatchException</a></code></td>
+<td class="colLast"><code>-5</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.client.api.BKException.Code.DigestNotInitializedException">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<td><code><a href="org/apache/bookkeeper/client/api/BKException.Code.html#DigestNotInitializedException">DigestNotInitializedException</a></code></td>
+<td class="colLast"><code>-4</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.client.api.BKException.Code.DuplicateEntryIdException">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<td><code><a href="org/apache/bookkeeper/client/api/BKException.Code.html#DuplicateEntryIdException">DuplicateEntryIdException</a></code></td>
+<td class="colLast"><code>-22</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.client.api.BKException.Code.IllegalOpException">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<td><code><a href="org/apache/bookkeeper/client/api/BKException.Code.html#IllegalOpException">IllegalOpException</a></code></td>
+<td class="colLast"><code>-100</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.client.api.BKException.Code.IncorrectParameterException">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<td><code><a href="org/apache/bookkeeper/client/api/BKException.Code.html#IncorrectParameterException">IncorrectParameterException</a></code></td>
+<td class="colLast"><code>-14</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.client.api.BKException.Code.InterruptedException">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<td><code><a href="org/apache/bookkeeper/client/api/BKException.Code.html#InterruptedException">InterruptedException</a></code></td>
+<td class="colLast"><code>-15</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.client.api.BKException.Code.LedgerClosedException">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<td><code><a href="org/apache/bookkeeper/client/api/BKException.Code.html#LedgerClosedException">LedgerClosedException</a></code></td>
+<td class="colLast"><code>-11</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.client.api.BKException.Code.LedgerExistException">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<td><code><a href="org/apache/bookkeeper/client/api/BKException.Code.html#LedgerExistException">LedgerExistException</a></code></td>
+<td class="colLast"><code>-20</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.client.api.BKException.Code.LedgerFencedException">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<td><code><a href="org/apache/bookkeeper/client/api/BKException.Code.html#LedgerFencedException">LedgerFencedException</a></code></td>
+<td class="colLast"><code>-101</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.client.api.BKException.Code.LedgerIdOverflowException">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<td><code><a href="org/apache/bookkeeper/client/api/BKException.Code.html#LedgerIdOverflowException">LedgerIdOverflowException</a></code></td>
+<td class="colLast"><code>-106</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.client.api.BKException.Code.LedgerRecoveryException">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<td><code><a href="org/apache/bookkeeper/client/api/BKException.Code.html#LedgerRecoveryException">LedgerRecoveryException</a></code></td>
+<td class="colLast"><code>-10</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.client.api.BKException.Code.MetadataVersionException">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<td><code><a href="org/apache/bookkeeper/client/api/BKException.Code.html#MetadataVersionException">MetadataVersionException</a></code></td>
+<td class="colLast"><code>-17</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.client.api.BKException.Code.MetaStoreException">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<td><code><a href="org/apache/bookkeeper/client/api/BKException.Code.html#MetaStoreException">MetaStoreException</a></code></td>
+<td class="colLast"><code>-18</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.client.api.BKException.Code.NoBookieAvailableException">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<td><code><a href="org/apache/bookkeeper/client/api/BKException.Code.html#NoBookieAvailableException">NoBookieAvailableException</a></code></td>
+<td class="colLast"><code>-3</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.client.api.BKException.Code.NoSuchEntryException">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<td><code><a href="org/apache/bookkeeper/client/api/BKException.Code.html#NoSuchEntryException">NoSuchEntryException</a></code></td>
+<td class="colLast"><code>-13</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.client.api.BKException.Code.NoSuchLedgerExistsException">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<td><code><a href="org/apache/bookkeeper/client/api/BKException.Code.html#NoSuchLedgerExistsException">NoSuchLedgerExistsException</a></code></td>
+<td class="colLast"><code>-7</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.client.api.BKException.Code.NotEnoughBookiesException">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<td><code><a href="org/apache/bookkeeper/client/api/BKException.Code.html#NotEnoughBookiesException">NotEnoughBookiesException</a></code></td>
+<td class="colLast"><code>-6</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.client.api.BKException.Code.OK">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<td><code><a href="org/apache/bookkeeper/client/api/BKException.Code.html#OK">OK</a></code></td>
+<td class="colLast"><code>0</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.client.api.BKException.Code.ProtocolVersionException">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<td><code><a href="org/apache/bookkeeper/client/api/BKException.Code.html#ProtocolVersionException">ProtocolVersionException</a></code></td>
+<td class="colLast"><code>-16</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.client.api.BKException.Code.QuorumException">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<td><code><a href="org/apache/bookkeeper/client/api/BKException.Code.html#QuorumException">QuorumException</a></code></td>
+<td class="colLast"><code>-2</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.client.api.BKException.Code.ReadException">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<td><code><a href="org/apache/bookkeeper/client/api/BKException.Code.html#ReadException">ReadException</a></code></td>
+<td class="colLast"><code>-1</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.client.api.BKException.Code.ReplicationException">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<td><code><a href="org/apache/bookkeeper/client/api/BKException.Code.html#ReplicationException">ReplicationException</a></code></td>
+<td class="colLast"><code>-200</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.client.api.BKException.Code.SecurityException">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<td><code><a href="org/apache/bookkeeper/client/api/BKException.Code.html#SecurityException">SecurityException</a></code></td>
+<td class="colLast"><code>-24</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.client.api.BKException.Code.TimeoutException">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<td><code><a href="org/apache/bookkeeper/client/api/BKException.Code.html#TimeoutException">TimeoutException</a></code></td>
+<td class="colLast"><code>-23</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.client.api.BKException.Code.TooManyRequestsException">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<td><code><a href="org/apache/bookkeeper/client/api/BKException.Code.html#TooManyRequestsException">TooManyRequestsException</a></code></td>
+<td class="colLast"><code>-105</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.client.api.BKException.Code.UnauthorizedAccessException">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<td><code><a href="org/apache/bookkeeper/client/api/BKException.Code.html#UnauthorizedAccessException">UnauthorizedAccessException</a></code></td>
+<td class="colLast"><code>-102</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.client.api.BKException.Code.UnclosedFragmentException">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<td><code><a href="org/apache/bookkeeper/client/api/BKException.Code.html#UnclosedFragmentException">UnclosedFragmentException</a></code></td>
+<td class="colLast"><code>-103</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.client.api.BKException.Code.UnexpectedConditionException">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<td><code><a href="org/apache/bookkeeper/client/api/BKException.Code.html#UnexpectedConditionException">UnexpectedConditionException</a></code></td>
+<td class="colLast"><code>-999</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.client.api.BKException.Code.UNINITIALIZED">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<td><code><a href="org/apache/bookkeeper/client/api/BKException.Code.html#UNINITIALIZED">UNINITIALIZED</a></code></td>
+<td class="colLast"><code>1</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.client.api.BKException.Code.WriteException">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<td><code><a href="org/apache/bookkeeper/client/api/BKException.Code.html#WriteException">WriteException</a></code></td>
+<td class="colLast"><code>-12</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.client.api.BKException.Code.WriteOnReadOnlyBookieException">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<td><code><a href="org/apache/bookkeeper/client/api/BKException.Code.html#WriteOnReadOnlyBookieException">WriteOnReadOnlyBookieException</a></code></td>
+<td class="colLast"><code>-104</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.client.api.BKException.Code.ZKException">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
+<td><code><a href="org/apache/bookkeeper/client/api/BKException.Code.html#ZKException">ZKException</a></code></td>
+<td class="colLast"><code>-9</code></td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+<ul class="blockList">
+<li class="blockList">
+<table class="constantsSummary" border="0" cellpadding="3" cellspacing="0" summary="Constant Field Values table, listing constant fields, and values">
+<caption><span>org.apache.bookkeeper.conf.<a href="org/apache/bookkeeper/conf/AbstractConfiguration.html" title="class in org.apache.bookkeeper.conf">AbstractConfiguration</a>&lt;<a href="org/apache/bookkeeper/conf/AbstractConfiguration.html" title="type parameter in AbstractConfiguration">T</a> extends <a href="org/apache/bookkeeper/conf/AbstractConfiguration.html" title="class in org.apache.bookkeeper.conf">AbstractConfiguration</a>&gt;</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th scope="col">Constant Field</th>
+<th class="colLast" scope="col">Value</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.conf.AbstractConfiguration.ALLOW_SHADED_LEDGER_MANAGER_FACTORY_CLASS">
+<!--   -->
+</a><code>protected&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/bookkeeper/conf/AbstractConfiguration.html#ALLOW_SHADED_LEDGER_MANAGER_FACTORY_CLASS">ALLOW_SHADED_LEDGER_MANAGER_FACTORY_CLASS</a></code></td>
+<td class="colLast"><code>"allowShadedLedgerManagerFactoryClass"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.conf.AbstractConfiguration.AVAILABLE_NODE">
+<!--   -->
+</a><code>protected&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/bookkeeper/conf/AbstractConfiguration.html#AVAILABLE_NODE">AVAILABLE_NODE</a></code></td>
+<td class="colLast"><code>"available"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.conf.AbstractConfiguration.DEFAULT_NETTY_MAX_FRAME_SIZE">
+<!--   -->
+</a><code>protected&nbsp;static&nbsp;final&nbsp;int</code></td>
+<td><code><a href="org/apache/bookkeeper/conf/AbstractConfiguration.html#DEFAULT_NETTY_MAX_FRAME_SIZE">DEFAULT_NETTY_MAX_FRAME_SIZE</a></code></td>
+<td class="colLast"><code>5242880</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.conf.AbstractConfiguration.ENTRY_FORMATTER_CLASS">
+<!--   -->
+</a><code>protected&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/bookkeeper/conf/AbstractConfiguration.html#ENTRY_FORMATTER_CLASS">ENTRY_FORMATTER_CLASS</a></code></td>
+<td class="colLast"><code>"entryFormatterClass"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.conf.AbstractConfiguration.LEDGER_MANAGER_FACTORY_CLASS">
+<!--   -->
+</a><code>protected&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/bookkeeper/conf/AbstractConfiguration.html#LEDGER_MANAGER_FACTORY_CLASS">LEDGER_MANAGER_FACTORY_CLASS</a></code></td>
+<td class="colLast"><code>"ledgerManagerFactoryClass"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.conf.AbstractConfiguration.LEDGER_MANAGER_FACTORY_DISABLE_CLASS_CHECK">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/bookkeeper/conf/AbstractConfiguration.html#LEDGER_MANAGER_FACTORY_DISABLE_CLASS_CHECK">LEDGER_MANAGER_FACTORY_DISABLE_CLASS_CHECK</a></code></td>
+<td class="colLast"><code>"ledgerManagerFactoryDisableClassCheck"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.conf.AbstractConfiguration.LEDGER_MANAGER_TYPE">
+<!--   -->
+</a><code>protected&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/bookkeeper/conf/AbstractConfiguration.html#LEDGER_MANAGER_TYPE">LEDGER_MANAGER_TYPE</a></code></td>
+<td class="colLast"><code>"ledgerManagerType"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.conf.AbstractConfiguration.LEDGERID_FORMATTER_CLASS">
+<!--   -->
+</a><code>protected&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/bookkeeper/conf/AbstractConfiguration.html#LEDGERID_FORMATTER_CLASS">LEDGERID_FORMATTER_CLASS</a></code></td>
+<td class="colLast"><code>"ledgerIdFormatterClass"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.conf.AbstractConfiguration.METADATA_SERVICE_URI">
+<!--   -->
+</a><code>protected&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/bookkeeper/conf/AbstractConfiguration.html#METADATA_SERVICE_URI">METADATA_SERVICE_URI</a></code></td>
+<td class="colLast"><code>"metadataServiceUri"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.conf.AbstractConfiguration.METASTORE_IMPL_CLASS">
+<!--   -->
+</a><code>protected&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/bookkeeper/conf/AbstractConfiguration.html#METASTORE_IMPL_CLASS">METASTORE_IMPL_CLASS</a></code></td>
+<td class="colLast"><code>"metastoreImplClass"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.conf.AbstractConfiguration.METASTORE_MAX_ENTRIES_PER_SCAN">
+<!--   -->
+</a><code>protected&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/bookkeeper/conf/AbstractConfiguration.html#METASTORE_MAX_ENTRIES_PER_SCAN">METASTORE_MAX_ENTRIES_PER_SCAN</a></code></td>
+<td class="colLast"><code>"metastoreMaxEntriesPerScan"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.conf.AbstractConfiguration.NETTY_MAX_FRAME_SIZE">
+<!--   -->
+</a><code>protected&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/bookkeeper/conf/AbstractConfiguration.html#NETTY_MAX_FRAME_SIZE">NETTY_MAX_FRAME_SIZE</a></code></td>
+<td class="colLast"><code>"nettyMaxFrameSizeBytes"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.conf.AbstractConfiguration.PERMITTED_STARTUP_USERS">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/bookkeeper/conf/AbstractConfiguration.html#PERMITTED_STARTUP_USERS">PERMITTED_STARTUP_USERS</a></code></td>
+<td class="colLast"><code>"permittedStartupUsers"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.conf.AbstractConfiguration.READ_SYSTEM_PROPERTIES_PROPERTY">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/bookkeeper/conf/AbstractConfiguration.html#READ_SYSTEM_PROPERTIES_PROPERTY">READ_SYSTEM_PROPERTIES_PROPERTY</a></code></td>
+<td class="colLast"><code>"org.apache.bookkeeper.conf.readsystemproperties"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.conf.AbstractConfiguration.REREPLICATION_ENTRY_BATCH_SIZE">
+<!--   -->
+</a><code>protected&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/bookkeeper/conf/AbstractConfiguration.html#REREPLICATION_ENTRY_BATCH_SIZE">REREPLICATION_ENTRY_BATCH_SIZE</a></code></td>
+<td class="colLast"><code>"rereplicationEntryBatchSize"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.conf.AbstractConfiguration.SHADED_LEDGER_MANAGER_FACTORY_CLASS_PREFIX">
+<!--   -->
+</a><code>protected&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/bookkeeper/conf/AbstractConfiguration.html#SHADED_LEDGER_MANAGER_FACTORY_CLASS_PREFIX">SHADED_LEDGER_MANAGER_FACTORY_CLASS_PREFIX</a></code></td>
+<td class="colLast"><code>"shadedLedgerManagerFactoryClassPrefix"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.conf.AbstractConfiguration.TLS_CERTIFICATE_PATH">
+<!--   -->
+</a><code>protected&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/bookkeeper/conf/AbstractConfiguration.html#TLS_CERTIFICATE_PATH">TLS_CERTIFICATE_PATH</a></code></td>
+<td class="colLast"><code>"tlsCertificatePath"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.conf.AbstractConfiguration.TLS_CLIENT_AUTHENTICATION">
+<!--   -->
+</a><code>protected&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/bookkeeper/conf/AbstractConfiguration.html#TLS_CLIENT_AUTHENTICATION">TLS_CLIENT_AUTHENTICATION</a></code></td>
+<td class="colLast"><code>"tlsClientAuthentication"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.conf.AbstractConfiguration.TLS_ENABLED_CIPHER_SUITES">
+<!--   -->
+</a><code>protected&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/bookkeeper/conf/AbstractConfiguration.html#TLS_ENABLED_CIPHER_SUITES">TLS_ENABLED_CIPHER_SUITES</a></code></td>
+<td class="colLast"><code>"tlsEnabledCipherSuites"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.conf.AbstractConfiguration.TLS_ENABLED_PROTOCOLS">
+<!--   -->
+</a><code>protected&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/bookkeeper/conf/AbstractConfiguration.html#TLS_ENABLED_PROTOCOLS">TLS_ENABLED_PROTOCOLS</a></code></td>
+<td class="colLast"><code>"tlsEnabledProtocols"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.conf.AbstractConfiguration.TLS_KEYSTORE">
+<!--   -->
+</a><code>protected&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/bookkeeper/conf/AbstractConfiguration.html#TLS_KEYSTORE">TLS_KEYSTORE</a></code></td>
+<td class="colLast"><code>"tlsKeyStore"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.conf.AbstractConfiguration.TLS_KEYSTORE_PASSWORD_PATH">
+<!--   -->
+</a><code>protected&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/bookkeeper/conf/AbstractConfiguration.html#TLS_KEYSTORE_PASSWORD_PATH">TLS_KEYSTORE_PASSWORD_PATH</a></code></td>
+<td class="colLast"><code>"tlsKeyStorePasswordPath"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.conf.AbstractConfiguration.TLS_KEYSTORE_TYPE">
+<!--   -->
+</a><code>protected&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/bookkeeper/conf/AbstractConfiguration.html#TLS_KEYSTORE_TYPE">TLS_KEYSTORE_TYPE</a></code></td>
+<td class="colLast"><code>"tlsKeyStoreType"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.conf.AbstractConfiguration.TLS_PROVIDER">
+<!--   -->
+</a><code>protected&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/bookkeeper/conf/AbstractConfiguration.html#TLS_PROVIDER">TLS_PROVIDER</a></code></td>
+<td class="colLast"><code>"tlsProvider"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.conf.AbstractConfiguration.TLS_PROVIDER_FACTORY_CLASS">
+<!--   -->
+</a><code>protected&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/bookkeeper/conf/AbstractConfiguration.html#TLS_PROVIDER_FACTORY_CLASS">TLS_PROVIDER_FACTORY_CLASS</a></code></td>
+<td class="colLast"><code>"tlsProviderFactoryClass"</code></td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><a name="org.apache.bookkeeper.conf.AbstractConfiguration.TLS_TRUSTSTORE">
+<!--   -->
+</a><code>protected&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
+<td><code><a href="org/apache/bookkeeper/conf/AbstractConfiguration.html#TLS_TRUSTSTORE">TLS_TRUSTSTORE</a></code></td>
+<td class="colLast"><code>"tlsTrustStore"</code></td>
+</tr>
+<tr class="altColor">
... 222974 lines suppressed ...

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