You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by pe...@apache.org on 2022/03/29 14:45:26 UTC

[pulsar] branch asf-site updated: Updated site at revision f3295ff

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

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


The following commit(s) were added to refs/heads/asf-site by this push:
     new 567c421  Updated site at revision f3295ff
567c421 is described below

commit 567c4216fdb5786d46ad57e4d190ac6f62f567e1
Author: Pulsar Site Updater <de...@pulsar.apache.org>
AuthorDate: Mon Mar 28 21:09:51 2022 +0000

    Updated site at revision f3295ff
---
 .../admin/2.10.0-SNAPSHOT/member-search-index.zip  | Bin 12901 -> 12901 bytes
 .../admin/2.10.0-SNAPSHOT/overview-summary.html    |   2 +-
 .../admin/2.10.0-SNAPSHOT/package-search-index.zip | Bin 263 -> 263 bytes
 .../admin/2.10.0-SNAPSHOT/type-search-index.zip    | Bin 500 -> 500 bytes
 .../client/2.10.0-SNAPSHOT/member-search-index.zip | Bin 11209 -> 11209 bytes
 .../client/2.10.0-SNAPSHOT/overview-summary.html   |   2 +-
 .../2.10.0-SNAPSHOT/package-search-index.zip       | Bin 298 -> 298 bytes
 .../client/2.10.0-SNAPSHOT/type-search-index.zip   | Bin 1549 -> 1549 bytes
 .../pulsar-broker/2.10.0-SNAPSHOT/index-all.html   |   4 +-
 .../2.10.0-SNAPSHOT/member-search-index.js         |   2 +-
 .../2.10.0-SNAPSHOT/member-search-index.zip        | Bin 70407 -> 70425 bytes
 .../apache/pulsar/broker/admin/AdminResource.html  |   2 +-
 .../pulsar/broker/admin/impl/BrokerStatsBase.html  |   2 +-
 .../pulsar/broker/admin/impl/BrokersBase.html      |   2 +-
 .../pulsar/broker/admin/impl/ClustersBase.html     |   2 +-
 .../pulsar/broker/admin/impl/FunctionsBase.html    |   2 +-
 .../pulsar/broker/admin/impl/NamespacesBase.html   |   2 +-
 .../pulsar/broker/admin/impl/PackagesBase.html     |   2 +-
 .../broker/admin/impl/PersistentTopicsBase.html    |   2 +-
 .../broker/admin/impl/ResourceGroupsBase.html      |   2 +-
 .../broker/admin/impl/ResourceQuotasBase.html      |   2 +-
 .../broker/admin/impl/SchemasResourceBase.html     |   2 +-
 .../apache/pulsar/broker/admin/impl/SinksBase.html |   2 +-
 .../pulsar/broker/admin/impl/SourcesBase.html      |   2 +-
 .../pulsar/broker/admin/impl/TenantsBase.html      |   2 +-
 .../pulsar/broker/admin/impl/TransactionsBase.html |   2 +-
 .../apache/pulsar/broker/admin/v1/BrokerStats.html |   2 +-
 .../org/apache/pulsar/broker/admin/v1/Brokers.html |   2 +-
 .../apache/pulsar/broker/admin/v1/Clusters.html    |   2 +-
 .../apache/pulsar/broker/admin/v1/Functions.html   |   2 +-
 .../apache/pulsar/broker/admin/v1/Namespaces.html  |   2 +-
 .../broker/admin/v1/NonPersistentTopics.html       |   2 +-
 .../pulsar/broker/admin/v1/PersistentTopics.html   |   2 +-
 .../apache/pulsar/broker/admin/v1/Properties.html  |   2 +-
 .../pulsar/broker/admin/v1/ResourceQuotas.html     |   2 +-
 .../pulsar/broker/admin/v1/SchemasResource.html    |   2 +-
 .../org/apache/pulsar/broker/admin/v2/Bookies.html |   2 +-
 .../apache/pulsar/broker/admin/v2/BrokerStats.html |   2 +-
 .../org/apache/pulsar/broker/admin/v2/Brokers.html |   2 +-
 .../apache/pulsar/broker/admin/v2/Clusters.html    |   2 +-
 .../apache/pulsar/broker/admin/v2/Functions.html   |   2 +-
 .../apache/pulsar/broker/admin/v2/Namespaces.html  |   2 +-
 .../broker/admin/v2/NonPersistentTopics.html       |   2 +-
 .../pulsar/broker/admin/v2/PersistentTopics.html   |   2 +-
 .../pulsar/broker/admin/v2/ResourceGroups.html     |   2 +-
 .../pulsar/broker/admin/v2/ResourceQuotas.html     |   2 +-
 .../pulsar/broker/admin/v2/SchemasResource.html    |   2 +-
 .../org/apache/pulsar/broker/admin/v2/Tenants.html |   2 +-
 .../org/apache/pulsar/broker/admin/v2/Worker.html  |   2 +-
 .../apache/pulsar/broker/admin/v2/WorkerStats.html |   2 +-
 .../apache/pulsar/broker/admin/v3/Functions.html   |   2 +-
 .../apache/pulsar/broker/admin/v3/Packages.html    |   2 +-
 .../org/apache/pulsar/broker/admin/v3/Sink.html    |   2 +-
 .../org/apache/pulsar/broker/admin/v3/Sinks.html   |   2 +-
 .../org/apache/pulsar/broker/admin/v3/Source.html  |   2 +-
 .../org/apache/pulsar/broker/admin/v3/Sources.html |   2 +-
 .../pulsar/broker/admin/v3/Transactions.html       |   2 +-
 .../pulsar/broker/lookup/TopicLookupBase.html      |   2 +-
 .../pulsar/broker/lookup/v1/TopicLookup.html       |   2 +-
 .../pulsar/broker/lookup/v2/TopicLookup.html       |   2 +-
 .../org/apache/pulsar/broker/rest/Topics.html      |   2 +-
 .../org/apache/pulsar/broker/rest/TopicsBase.html  |   2 +-
 .../pulsar/broker/web/PulsarWebResource.html       |  48 +-
 .../2.10.0-SNAPSHOT/overview-summary.html          |   2 +-
 .../2.10.0-SNAPSHOT/package-search-index.zip       | Bin 593 -> 593 bytes
 .../2.10.0-SNAPSHOT/type-search-index.zip          | Bin 4389 -> 4389 bytes
 .../2.10.0-SNAPSHOT/member-search-index.zip        | Bin 1277 -> 1277 bytes
 .../2.10.0-SNAPSHOT/overview-summary.html          |   2 +-
 .../2.10.0-SNAPSHOT/package-search-index.zip       | Bin 260 -> 260 bytes
 .../2.10.0-SNAPSHOT/type-search-index.zip          | Bin 349 -> 349 bytes
 .../2.1.0-incubating/reference-configuration.html  |   2 +-
 .../reference-configuration/index.html             |   2 +-
 .../2.1.1-incubating/reference-configuration.html  |   2 +-
 .../reference-configuration/index.html             |   2 +-
 .../docs/zh-CN/2.2.0/reference-configuration.html  |   2 +-
 .../zh-CN/2.2.0/reference-configuration/index.html |   2 +-
 .../docs/zh-CN/2.2.1/reference-configuration.html  |   2 +-
 .../zh-CN/2.2.1/reference-configuration/index.html |   2 +-
 .../docs/zh-CN/2.3.0/reference-configuration.html  |   2 +-
 .../zh-CN/2.3.0/reference-configuration/index.html |   2 +-
 .../docs/zh-CN/2.3.1/reference-configuration.html  |   2 +-
 .../zh-CN/2.3.1/reference-configuration/index.html |   2 +-
 .../docs/zh-CN/2.3.2/reference-configuration.html  |   2 +-
 .../zh-CN/2.3.2/reference-configuration/index.html |   2 +-
 .../docs/zh-CN/2.4.0/reference-configuration.html  |   2 +-
 .../zh-CN/2.4.0/reference-configuration/index.html |   2 +-
 .../docs/zh-CN/2.4.1/reference-configuration.html  |   2 +-
 .../zh-CN/2.4.1/reference-configuration/index.html |   2 +-
 .../docs/zh-CN/2.4.2/reference-configuration.html  |   2 +-
 .../zh-CN/2.4.2/reference-configuration/index.html |   2 +-
 .../docs/zh-CN/2.5.0/reference-configuration.html  |   2 +-
 .../zh-CN/2.5.0/reference-configuration/index.html |   2 +-
 .../docs/zh-CN/2.5.1/reference-configuration.html  |   2 +-
 .../zh-CN/2.5.1/reference-configuration/index.html |   2 +-
 .../docs/zh-CN/2.5.2/reference-configuration.html  |   2 +-
 .../zh-CN/2.5.2/reference-configuration/index.html |   2 +-
 .../docs/zh-CN/2.6.0/reference-configuration.html  |   2 +-
 .../zh-CN/2.6.0/reference-configuration/index.html |   2 +-
 .../docs/zh-CN/2.6.1/reference-configuration.html  |   2 +-
 .../zh-CN/2.6.1/reference-configuration/index.html |   2 +-
 .../docs/zh-CN/2.6.2/reference-configuration.html  |   2 +-
 .../zh-CN/2.6.2/reference-configuration/index.html |   2 +-
 .../docs/zh-CN/2.6.3/reference-configuration.html  |   2 +-
 .../zh-CN/2.6.3/reference-configuration/index.html |   2 +-
 .../docs/zh-CN/2.6.4/reference-configuration.html  |   2 +-
 .../zh-CN/2.6.4/reference-configuration/index.html |   2 +-
 .../docs/zh-CN/2.7.0/reference-configuration.html  |  14 +-
 .../zh-CN/2.7.0/reference-configuration/index.html |  14 +-
 .../docs/zh-CN/2.7.1/reference-configuration.html  |  14 +-
 .../zh-CN/2.7.1/reference-configuration/index.html |  14 +-
 .../docs/zh-CN/2.7.2/reference-configuration.html  |  14 +-
 .../zh-CN/2.7.2/reference-configuration/index.html |  14 +-
 .../docs/zh-CN/2.7.3/reference-configuration.html  |  14 +-
 .../zh-CN/2.7.3/reference-configuration/index.html |  14 +-
 .../docs/zh-CN/2.7.4/reference-configuration.html  |  14 +-
 .../zh-CN/2.7.4/reference-configuration/index.html |  14 +-
 .../docs/zh-CN/2.8.0/reference-configuration.html  |  14 +-
 .../zh-CN/2.8.0/reference-configuration/index.html |  14 +-
 .../docs/zh-CN/2.8.1/reference-configuration.html  |  14 +-
 .../zh-CN/2.8.1/reference-configuration/index.html |  14 +-
 .../docs/zh-CN/2.8.2/reference-configuration.html  |  14 +-
 .../zh-CN/2.8.2/reference-configuration/index.html |  14 +-
 .../docs/zh-CN/2.8.3/reference-configuration.html  |  14 +-
 .../zh-CN/2.8.3/reference-configuration/index.html |  14 +-
 .../docs/zh-CN/2.9.0/reference-configuration.html  |  14 +-
 .../zh-CN/2.9.0/reference-configuration/index.html |  14 +-
 .../docs/zh-CN/next/reference-configuration.html   |  65 +-
 .../zh-CN/next/reference-configuration/index.html  |  65 +-
 content/docs/zh-CN/reference-configuration.html    |  14 +-
 .../docs/zh-CN/reference-configuration/index.html  |  14 +-
 content/swagger/2.10.0-SNAPSHOT/swagger.json       | 714 +++++++++---------
 .../swagger/2.10.0-SNAPSHOT/swaggerfunctions.json  | 354 ++++-----
 .../swagger/2.10.0-SNAPSHOT/swaggerpackages.json   | 306 ++++----
 content/swagger/2.10.0-SNAPSHOT/swaggersink.json   | 306 ++++----
 content/swagger/2.10.0-SNAPSHOT/swaggersource.json | 306 ++++----
 content/swagger/2.10.0-SNAPSHOT/v2/swagger.json    | 814 ++++++++++-----------
 .../2.10.0-SNAPSHOT/v3/swaggerfunctions.json       | 410 +++++------
 .../2.10.0-SNAPSHOT/v3/swaggerpackages.json        | 362 ++++-----
 .../swagger/2.10.0-SNAPSHOT/v3/swaggersink.json    | 362 ++++-----
 .../swagger/2.10.0-SNAPSHOT/v3/swaggersource.json  | 362 ++++-----
 content/swagger/master/swagger.json                | 714 +++++++++---------
 content/swagger/master/swaggerfunctions.json       | 354 ++++-----
 content/swagger/master/swaggerpackages.json        | 306 ++++----
 content/swagger/master/swaggersink.json            | 306 ++++----
 content/swagger/master/swaggersource.json          | 306 ++++----
 content/swagger/master/v2/swagger.json             | 814 ++++++++++-----------
 content/swagger/master/v3/swaggerfunctions.json    | 410 +++++------
 content/swagger/master/v3/swaggerpackages.json     | 362 ++++-----
 content/swagger/master/v3/swaggersink.json         | 362 ++++-----
 content/swagger/master/v3/swaggersource.json       | 362 ++++-----
 150 files changed, 4631 insertions(+), 4635 deletions(-)

diff --git a/content/api/admin/2.10.0-SNAPSHOT/member-search-index.zip b/content/api/admin/2.10.0-SNAPSHOT/member-search-index.zip
index 984defd..eb299bc 100644
Binary files a/content/api/admin/2.10.0-SNAPSHOT/member-search-index.zip and b/content/api/admin/2.10.0-SNAPSHOT/member-search-index.zip differ
diff --git a/content/api/admin/2.10.0-SNAPSHOT/overview-summary.html b/content/api/admin/2.10.0-SNAPSHOT/overview-summary.html
index bc34887..db76cb6 100644
--- a/content/api/admin/2.10.0-SNAPSHOT/overview-summary.html
+++ b/content/api/admin/2.10.0-SNAPSHOT/overview-summary.html
@@ -2,7 +2,7 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (11.0.11) on Mon Mar 28 00:16:29 UTC 2022 -->
+<!-- Generated by javadoc (11.0.11) on Mon Mar 28 18:56:42 UTC 2022 -->
 <title>Pulsar Client Admin Original 2.10.0-SNAPSHOT API</title>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 <script type="text/javascript">window.location.replace('index.html')</script>
diff --git a/content/api/admin/2.10.0-SNAPSHOT/package-search-index.zip b/content/api/admin/2.10.0-SNAPSHOT/package-search-index.zip
index a5dbc91..fa9ac4d 100644
Binary files a/content/api/admin/2.10.0-SNAPSHOT/package-search-index.zip and b/content/api/admin/2.10.0-SNAPSHOT/package-search-index.zip differ
diff --git a/content/api/admin/2.10.0-SNAPSHOT/type-search-index.zip b/content/api/admin/2.10.0-SNAPSHOT/type-search-index.zip
index 1148e0c..2f3490d 100644
Binary files a/content/api/admin/2.10.0-SNAPSHOT/type-search-index.zip and b/content/api/admin/2.10.0-SNAPSHOT/type-search-index.zip differ
diff --git a/content/api/client/2.10.0-SNAPSHOT/member-search-index.zip b/content/api/client/2.10.0-SNAPSHOT/member-search-index.zip
index 082e8aa..ea1d251 100644
Binary files a/content/api/client/2.10.0-SNAPSHOT/member-search-index.zip and b/content/api/client/2.10.0-SNAPSHOT/member-search-index.zip differ
diff --git a/content/api/client/2.10.0-SNAPSHOT/overview-summary.html b/content/api/client/2.10.0-SNAPSHOT/overview-summary.html
index beb7737..2ad69c3 100644
--- a/content/api/client/2.10.0-SNAPSHOT/overview-summary.html
+++ b/content/api/client/2.10.0-SNAPSHOT/overview-summary.html
@@ -2,7 +2,7 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (11.0.11) on Mon Mar 28 00:16:22 UTC 2022 -->
+<!-- Generated by javadoc (11.0.11) on Mon Mar 28 18:56:30 UTC 2022 -->
 <title>Pulsar Client :: API 2.10.0-SNAPSHOT API</title>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 <script type="text/javascript">window.location.replace('index.html')</script>
diff --git a/content/api/client/2.10.0-SNAPSHOT/package-search-index.zip b/content/api/client/2.10.0-SNAPSHOT/package-search-index.zip
index 2d60bc3..85453ee 100644
Binary files a/content/api/client/2.10.0-SNAPSHOT/package-search-index.zip and b/content/api/client/2.10.0-SNAPSHOT/package-search-index.zip differ
diff --git a/content/api/client/2.10.0-SNAPSHOT/type-search-index.zip b/content/api/client/2.10.0-SNAPSHOT/type-search-index.zip
index 5c83dc8..23e6763 100644
Binary files a/content/api/client/2.10.0-SNAPSHOT/type-search-index.zip and b/content/api/client/2.10.0-SNAPSHOT/type-search-index.zip differ
diff --git a/content/api/pulsar-broker/2.10.0-SNAPSHOT/index-all.html b/content/api/pulsar-broker/2.10.0-SNAPSHOT/index-all.html
index 447d320..2231bb4 100644
--- a/content/api/pulsar-broker/2.10.0-SNAPSHOT/index-all.html
+++ b/content/api/pulsar-broker/2.10.0-SNAPSHOT/index-all.html
@@ -6094,8 +6094,6 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/broker/transaction/recover/TransactionRecoverTrackerImpl.html#handleCommittingAndAbortingTransaction()">handleCommittingAndAbortingTransaction()</a></span> - Method in class org.apache.pulsar.broker.transaction.recover.<a href="org/apache/pulsar/broker/transaction/recover/TransactionRecoverTrackerImpl.html" title="class in org.apache.pulsar.broker.transaction.recover">TransactionRecoverTrackerImpl</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/pulsar/broker/web/PulsarWebResource.html#handleCommonRestAsyncException(javax.ws.rs.container.AsyncResponse,java.lang.Throwable)">handleCommonRestAsyncException(AsyncResponse, Throwable)</a></span> - Method in class org.apache.pulsar.broker.web.<a href="org/apache/pulsar/broker/web/PulsarWebResource.html" title="class in org.apache.pulsar.broker.web">PulsarWebResource</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/broker/service/ServerCnx.html#handleConnect(org.apache.pulsar.common.api.proto.CommandConnect)">handleConnect(CommandConnect)</a></span> - Method in class org.apache.pulsar.broker.service.<a href="org/apache/pulsar/broker/service/ServerCnx.html" title="class in org.apache.pulsar.broker.service">ServerCnx</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/broker/service/AbstractTopic.html#handleConsumerAdded(java.lang.String,java.lang.String)">handleConsumerAdded(String, String)</a></span> - Method in class org.apache.pulsar.broker.service.<a href="org/apache/pulsar/broker/service/AbstractTopic.html" title="class in org.apache.pulsar.broker.service">AbstractTopic</a></dt>
@@ -12242,6 +12240,8 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/broker/stats/prometheus/metrics/ObserverGauge.Builder.html#supplier(java.util.function.Supplier)">supplier(Supplier&lt;Number&gt;)</a></span> - Method in class org.apache.pulsar.broker.stats.prometheus.metrics.<a href="org/apache/pulsar/broker/stats/prometheus/metrics/ObserverGauge.Builder.html" title="class in org.apache.pulsar.broker.stats.prometheus.metrics">ObserverGauge.Builder</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/pulsar/broker/web/PulsarWebResource.html#sync(java.util.function.Supplier)">sync(Supplier&lt;CompletableFuture&lt;T&gt;&gt;)</a></span> - Method in class org.apache.pulsar.broker.web.<a href="org/apache/pulsar/broker/web/PulsarWebResource.html" title="class in org.apache.pulsar.broker.web">PulsarWebResource</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/broker/transaction/pendingack/impl/PendingAckHandleDisabled.html#syncBatchPositionAckSetForTransaction(org.apache.bookkeeper.mledger.impl.PositionImpl)">syncBatchPositionAckSetForTransaction(PositionImpl)</a></span> - Method in class org.apache.pulsar.broker.transaction.pendingack.impl.<a href="org/apache/pulsar/broker/transaction/pendingack/impl/PendingAckHandleDisabled.html" title="class in org.apache.pulsar.broker.transaction [...]
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/broker/transaction/pendingack/impl/PendingAckHandleImpl.html#syncBatchPositionAckSetForTransaction(org.apache.bookkeeper.mledger.impl.PositionImpl)">syncBatchPositionAckSetForTransaction(PositionImpl)</a></span> - Method in class org.apache.pulsar.broker.transaction.pendingack.impl.<a href="org/apache/pulsar/broker/transaction/pendingack/impl/PendingAckHandleImpl.html" title="class in org.apache.pulsar.broker.transaction.pending [...]
diff --git a/content/api/pulsar-broker/2.10.0-SNAPSHOT/member-search-index.js b/content/api/pulsar-broker/2.10.0-SNAPSHOT/member-search-index.js
index 4299990..a9d3a13 100644
--- a/content/api/pulsar-broker/2.10.0-SNAPSHOT/member-search-index.js
+++ b/content/api/pulsar-broker/2.10.0-SNAPSHOT/member-search-index.js
@@ -1 +1 @@
-memberSearchIndex = [{"p":"org.apache.pulsar.broker.transaction.pendingack.proto","c":"PendingAckOp","l":"ABORT"},{"p":"org.apache.pulsar.broker.transaction.pendingack.proto","c":"PendingAckOp","l":"ABORT_VALUE"},{"p":"org.apache.pulsar.broker.stats.prometheus","c":"AggregatedTransactionCoordinatorStats","l":"abortedCount"},{"p":"org.apache.pulsar.broker.transaction.buffer","c":"TransactionMeta","l":"abortTxn()"},{"p":"org.apache.pulsar.broker.transaction.pendingack","c":"PendingAckHandl [...]
\ No newline at end of file
+memberSearchIndex = [{"p":"org.apache.pulsar.broker.transaction.pendingack.proto","c":"PendingAckOp","l":"ABORT"},{"p":"org.apache.pulsar.broker.transaction.pendingack.proto","c":"PendingAckOp","l":"ABORT_VALUE"},{"p":"org.apache.pulsar.broker.stats.prometheus","c":"AggregatedTransactionCoordinatorStats","l":"abortedCount"},{"p":"org.apache.pulsar.broker.transaction.buffer","c":"TransactionMeta","l":"abortTxn()"},{"p":"org.apache.pulsar.broker.transaction.pendingack","c":"PendingAckHandl [...]
\ No newline at end of file
diff --git a/content/api/pulsar-broker/2.10.0-SNAPSHOT/member-search-index.zip b/content/api/pulsar-broker/2.10.0-SNAPSHOT/member-search-index.zip
index 3b4a81e..50f1cb1 100644
Binary files a/content/api/pulsar-broker/2.10.0-SNAPSHOT/member-search-index.zip and b/content/api/pulsar-broker/2.10.0-SNAPSHOT/member-search-index.zip differ
diff --git a/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/AdminResource.html b/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/AdminResource.html
index 0371e0b..43404d3 100644
--- a/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/AdminResource.html
+++ b/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/AdminResource.html
@@ -549,7 +549,7 @@ extends <a href="../web/PulsarWebResource.html" title="class in org.apache.pulsa
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.pulsar.broker.web.<a href="../web/PulsarWebResource.html" title="class in org.apache.pulsar.broker.web">PulsarWebResource</a></h3>
-<code><a href="../web/PulsarWebResource.html#bookieResources()">bookieResources</a>, <a href="../web/PulsarWebResource.html#canUpdateCluster(java.lang.String,java.util.Set,java.util.Set)">canUpdateCluster</a>, <a href="../web/PulsarWebResource.html#checkAuthorization(org.apache.pulsar.broker.PulsarService,org.apache.pulsar.common.naming.TopicName,java.lang.String,org.apache.pulsar.broker.authentication.AuthenticationDataSource)">checkAuthorization</a>, <a href="../web/PulsarWebResource.h [...]
+<code><a href="../web/PulsarWebResource.html#bookieResources()">bookieResources</a>, <a href="../web/PulsarWebResource.html#canUpdateCluster(java.lang.String,java.util.Set,java.util.Set)">canUpdateCluster</a>, <a href="../web/PulsarWebResource.html#checkAuthorization(org.apache.pulsar.broker.PulsarService,org.apache.pulsar.common.naming.TopicName,java.lang.String,org.apache.pulsar.broker.authentication.AuthenticationDataSource)">checkAuthorization</a>, <a href="../web/PulsarWebResource.h [...]
 </ul>
 <ul class="blockList">
 <li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
diff --git a/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/impl/BrokerStatsBase.html b/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/impl/BrokerStatsBase.html
index 4e00f0f..ffd2033 100644
--- a/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/impl/BrokerStatsBase.html
+++ b/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/impl/BrokerStatsBase.html
@@ -260,7 +260,7 @@ extends <a href="../AdminResource.html" title="class in org.apache.pulsar.broker
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.pulsar.broker.web.<a href="../../web/PulsarWebResource.html" title="class in org.apache.pulsar.broker.web">PulsarWebResource</a></h3>
-<code><a href="../../web/PulsarWebResource.html#bookieResources()">bookieResources</a>, <a href="../../web/PulsarWebResource.html#canUpdateCluster(java.lang.String,java.util.Set,java.util.Set)">canUpdateCluster</a>, <a href="../../web/PulsarWebResource.html#checkAuthorization(org.apache.pulsar.broker.PulsarService,org.apache.pulsar.common.naming.TopicName,java.lang.String,org.apache.pulsar.broker.authentication.AuthenticationDataSource)">checkAuthorization</a>, <a href="../../web/PulsarW [...]
+<code><a href="../../web/PulsarWebResource.html#bookieResources()">bookieResources</a>, <a href="../../web/PulsarWebResource.html#canUpdateCluster(java.lang.String,java.util.Set,java.util.Set)">canUpdateCluster</a>, <a href="../../web/PulsarWebResource.html#checkAuthorization(org.apache.pulsar.broker.PulsarService,org.apache.pulsar.common.naming.TopicName,java.lang.String,org.apache.pulsar.broker.authentication.AuthenticationDataSource)">checkAuthorization</a>, <a href="../../web/PulsarW [...]
 </ul>
 <ul class="blockList">
 <li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
diff --git a/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/impl/BrokersBase.html b/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/impl/BrokersBase.html
index 7c547f7..6eaf608 100644
--- a/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/impl/BrokersBase.html
+++ b/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/impl/BrokersBase.html
@@ -316,7 +316,7 @@ extends <a href="../AdminResource.html" title="class in org.apache.pulsar.broker
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.pulsar.broker.web.<a href="../../web/PulsarWebResource.html" title="class in org.apache.pulsar.broker.web">PulsarWebResource</a></h3>
-<code><a href="../../web/PulsarWebResource.html#bookieResources()">bookieResources</a>, <a href="../../web/PulsarWebResource.html#canUpdateCluster(java.lang.String,java.util.Set,java.util.Set)">canUpdateCluster</a>, <a href="../../web/PulsarWebResource.html#checkAuthorization(org.apache.pulsar.broker.PulsarService,org.apache.pulsar.common.naming.TopicName,java.lang.String,org.apache.pulsar.broker.authentication.AuthenticationDataSource)">checkAuthorization</a>, <a href="../../web/PulsarW [...]
+<code><a href="../../web/PulsarWebResource.html#bookieResources()">bookieResources</a>, <a href="../../web/PulsarWebResource.html#canUpdateCluster(java.lang.String,java.util.Set,java.util.Set)">canUpdateCluster</a>, <a href="../../web/PulsarWebResource.html#checkAuthorization(org.apache.pulsar.broker.PulsarService,org.apache.pulsar.common.naming.TopicName,java.lang.String,org.apache.pulsar.broker.authentication.AuthenticationDataSource)">checkAuthorization</a>, <a href="../../web/PulsarW [...]
 </ul>
 <ul class="blockList">
 <li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
diff --git a/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/impl/ClustersBase.html b/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/impl/ClustersBase.html
index 2edffc9..fe7ffac 100644
--- a/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/impl/ClustersBase.html
+++ b/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/impl/ClustersBase.html
@@ -304,7 +304,7 @@ extends <a href="../../web/PulsarWebResource.html" title="class in org.apache.pu
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.pulsar.broker.web.<a href="../../web/PulsarWebResource.html" title="class in org.apache.pulsar.broker.web">PulsarWebResource</a></h3>
-<code><a href="../../web/PulsarWebResource.html#bookieResources()">bookieResources</a>, <a href="../../web/PulsarWebResource.html#canUpdateCluster(java.lang.String,java.util.Set,java.util.Set)">canUpdateCluster</a>, <a href="../../web/PulsarWebResource.html#checkAuthorization(org.apache.pulsar.broker.PulsarService,org.apache.pulsar.common.naming.TopicName,java.lang.String,org.apache.pulsar.broker.authentication.AuthenticationDataSource)">checkAuthorization</a>, <a href="../../web/PulsarW [...]
+<code><a href="../../web/PulsarWebResource.html#bookieResources()">bookieResources</a>, <a href="../../web/PulsarWebResource.html#canUpdateCluster(java.lang.String,java.util.Set,java.util.Set)">canUpdateCluster</a>, <a href="../../web/PulsarWebResource.html#checkAuthorization(org.apache.pulsar.broker.PulsarService,org.apache.pulsar.common.naming.TopicName,java.lang.String,org.apache.pulsar.broker.authentication.AuthenticationDataSource)">checkAuthorization</a>, <a href="../../web/PulsarW [...]
 </ul>
 <ul class="blockList">
 <li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
diff --git a/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/impl/FunctionsBase.html b/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/impl/FunctionsBase.html
index 391dfb8..4500988 100644
--- a/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/impl/FunctionsBase.html
+++ b/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/impl/FunctionsBase.html
@@ -404,7 +404,7 @@ extends <a href="../AdminResource.html" title="class in org.apache.pulsar.broker
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.pulsar.broker.web.<a href="../../web/PulsarWebResource.html" title="class in org.apache.pulsar.broker.web">PulsarWebResource</a></h3>
-<code><a href="../../web/PulsarWebResource.html#bookieResources()">bookieResources</a>, <a href="../../web/PulsarWebResource.html#canUpdateCluster(java.lang.String,java.util.Set,java.util.Set)">canUpdateCluster</a>, <a href="../../web/PulsarWebResource.html#checkAuthorization(org.apache.pulsar.broker.PulsarService,org.apache.pulsar.common.naming.TopicName,java.lang.String,org.apache.pulsar.broker.authentication.AuthenticationDataSource)">checkAuthorization</a>, <a href="../../web/PulsarW [...]
+<code><a href="../../web/PulsarWebResource.html#bookieResources()">bookieResources</a>, <a href="../../web/PulsarWebResource.html#canUpdateCluster(java.lang.String,java.util.Set,java.util.Set)">canUpdateCluster</a>, <a href="../../web/PulsarWebResource.html#checkAuthorization(org.apache.pulsar.broker.PulsarService,org.apache.pulsar.common.naming.TopicName,java.lang.String,org.apache.pulsar.broker.authentication.AuthenticationDataSource)">checkAuthorization</a>, <a href="../../web/PulsarW [...]
 </ul>
 <ul class="blockList">
 <li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
diff --git a/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/impl/NamespacesBase.html b/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/impl/NamespacesBase.html
index 5e4b791..f7693bd 100644
--- a/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/impl/NamespacesBase.html
+++ b/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/impl/NamespacesBase.html
@@ -861,7 +861,7 @@ extends <a href="../AdminResource.html" title="class in org.apache.pulsar.broker
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.pulsar.broker.web.<a href="../../web/PulsarWebResource.html" title="class in org.apache.pulsar.broker.web">PulsarWebResource</a></h3>
-<code><a href="../../web/PulsarWebResource.html#bookieResources()">bookieResources</a>, <a href="../../web/PulsarWebResource.html#canUpdateCluster(java.lang.String,java.util.Set,java.util.Set)">canUpdateCluster</a>, <a href="../../web/PulsarWebResource.html#checkAuthorization(org.apache.pulsar.broker.PulsarService,org.apache.pulsar.common.naming.TopicName,java.lang.String,org.apache.pulsar.broker.authentication.AuthenticationDataSource)">checkAuthorization</a>, <a href="../../web/PulsarW [...]
+<code><a href="../../web/PulsarWebResource.html#bookieResources()">bookieResources</a>, <a href="../../web/PulsarWebResource.html#canUpdateCluster(java.lang.String,java.util.Set,java.util.Set)">canUpdateCluster</a>, <a href="../../web/PulsarWebResource.html#checkAuthorization(org.apache.pulsar.broker.PulsarService,org.apache.pulsar.common.naming.TopicName,java.lang.String,org.apache.pulsar.broker.authentication.AuthenticationDataSource)">checkAuthorization</a>, <a href="../../web/PulsarW [...]
 </ul>
 <ul class="blockList">
 <li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
diff --git a/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/impl/PackagesBase.html b/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/impl/PackagesBase.html
index cf4b4fb..5578911 100644
--- a/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/impl/PackagesBase.html
+++ b/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/impl/PackagesBase.html
@@ -294,7 +294,7 @@ extends <a href="../AdminResource.html" title="class in org.apache.pulsar.broker
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.pulsar.broker.web.<a href="../../web/PulsarWebResource.html" title="class in org.apache.pulsar.broker.web">PulsarWebResource</a></h3>
-<code><a href="../../web/PulsarWebResource.html#bookieResources()">bookieResources</a>, <a href="../../web/PulsarWebResource.html#canUpdateCluster(java.lang.String,java.util.Set,java.util.Set)">canUpdateCluster</a>, <a href="../../web/PulsarWebResource.html#checkAuthorization(org.apache.pulsar.broker.PulsarService,org.apache.pulsar.common.naming.TopicName,java.lang.String,org.apache.pulsar.broker.authentication.AuthenticationDataSource)">checkAuthorization</a>, <a href="../../web/PulsarW [...]
+<code><a href="../../web/PulsarWebResource.html#bookieResources()">bookieResources</a>, <a href="../../web/PulsarWebResource.html#canUpdateCluster(java.lang.String,java.util.Set,java.util.Set)">canUpdateCluster</a>, <a href="../../web/PulsarWebResource.html#checkAuthorization(org.apache.pulsar.broker.PulsarService,org.apache.pulsar.common.naming.TopicName,java.lang.String,org.apache.pulsar.broker.authentication.AuthenticationDataSource)">checkAuthorization</a>, <a href="../../web/PulsarW [...]
 </ul>
 <ul class="blockList">
 <li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
diff --git a/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/impl/PersistentTopicsBase.html b/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/impl/PersistentTopicsBase.html
index 60cafd4..ca757b9d 100644
--- a/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/impl/PersistentTopicsBase.html
+++ b/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/impl/PersistentTopicsBase.html
@@ -935,7 +935,7 @@ extends <a href="../AdminResource.html" title="class in org.apache.pulsar.broker
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.pulsar.broker.web.<a href="../../web/PulsarWebResource.html" title="class in org.apache.pulsar.broker.web">PulsarWebResource</a></h3>
-<code><a href="../../web/PulsarWebResource.html#bookieResources()">bookieResources</a>, <a href="../../web/PulsarWebResource.html#canUpdateCluster(java.lang.String,java.util.Set,java.util.Set)">canUpdateCluster</a>, <a href="../../web/PulsarWebResource.html#checkAuthorization(org.apache.pulsar.broker.PulsarService,org.apache.pulsar.common.naming.TopicName,java.lang.String,org.apache.pulsar.broker.authentication.AuthenticationDataSource)">checkAuthorization</a>, <a href="../../web/PulsarW [...]
+<code><a href="../../web/PulsarWebResource.html#bookieResources()">bookieResources</a>, <a href="../../web/PulsarWebResource.html#canUpdateCluster(java.lang.String,java.util.Set,java.util.Set)">canUpdateCluster</a>, <a href="../../web/PulsarWebResource.html#checkAuthorization(org.apache.pulsar.broker.PulsarService,org.apache.pulsar.common.naming.TopicName,java.lang.String,org.apache.pulsar.broker.authentication.AuthenticationDataSource)">checkAuthorization</a>, <a href="../../web/PulsarW [...]
 </ul>
 <ul class="blockList">
 <li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
diff --git a/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/impl/ResourceGroupsBase.html b/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/impl/ResourceGroupsBase.html
index b6d9d28..18bffa0 100644
--- a/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/impl/ResourceGroupsBase.html
+++ b/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/impl/ResourceGroupsBase.html
@@ -263,7 +263,7 @@ extends <a href="../AdminResource.html" title="class in org.apache.pulsar.broker
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.pulsar.broker.web.<a href="../../web/PulsarWebResource.html" title="class in org.apache.pulsar.broker.web">PulsarWebResource</a></h3>
-<code><a href="../../web/PulsarWebResource.html#bookieResources()">bookieResources</a>, <a href="../../web/PulsarWebResource.html#canUpdateCluster(java.lang.String,java.util.Set,java.util.Set)">canUpdateCluster</a>, <a href="../../web/PulsarWebResource.html#checkAuthorization(org.apache.pulsar.broker.PulsarService,org.apache.pulsar.common.naming.TopicName,java.lang.String,org.apache.pulsar.broker.authentication.AuthenticationDataSource)">checkAuthorization</a>, <a href="../../web/PulsarW [...]
+<code><a href="../../web/PulsarWebResource.html#bookieResources()">bookieResources</a>, <a href="../../web/PulsarWebResource.html#canUpdateCluster(java.lang.String,java.util.Set,java.util.Set)">canUpdateCluster</a>, <a href="../../web/PulsarWebResource.html#checkAuthorization(org.apache.pulsar.broker.PulsarService,org.apache.pulsar.common.naming.TopicName,java.lang.String,org.apache.pulsar.broker.authentication.AuthenticationDataSource)">checkAuthorization</a>, <a href="../../web/PulsarW [...]
 </ul>
 <ul class="blockList">
 <li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
diff --git a/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/impl/ResourceQuotasBase.html b/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/impl/ResourceQuotasBase.html
index 75f147f..bbc0712 100644
--- a/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/impl/ResourceQuotasBase.html
+++ b/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/impl/ResourceQuotasBase.html
@@ -263,7 +263,7 @@ extends <a href="NamespacesBase.html" title="class in org.apache.pulsar.broker.a
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.pulsar.broker.web.<a href="../../web/PulsarWebResource.html" title="class in org.apache.pulsar.broker.web">PulsarWebResource</a></h3>
-<code><a href="../../web/PulsarWebResource.html#bookieResources()">bookieResources</a>, <a href="../../web/PulsarWebResource.html#canUpdateCluster(java.lang.String,java.util.Set,java.util.Set)">canUpdateCluster</a>, <a href="../../web/PulsarWebResource.html#checkAuthorization(org.apache.pulsar.broker.PulsarService,org.apache.pulsar.common.naming.TopicName,java.lang.String,org.apache.pulsar.broker.authentication.AuthenticationDataSource)">checkAuthorization</a>, <a href="../../web/PulsarW [...]
+<code><a href="../../web/PulsarWebResource.html#bookieResources()">bookieResources</a>, <a href="../../web/PulsarWebResource.html#canUpdateCluster(java.lang.String,java.util.Set,java.util.Set)">canUpdateCluster</a>, <a href="../../web/PulsarWebResource.html#checkAuthorization(org.apache.pulsar.broker.PulsarService,org.apache.pulsar.common.naming.TopicName,java.lang.String,org.apache.pulsar.broker.authentication.AuthenticationDataSource)">checkAuthorization</a>, <a href="../../web/PulsarW [...]
 </ul>
 <ul class="blockList">
 <li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
diff --git a/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/impl/SchemasResourceBase.html b/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/impl/SchemasResourceBase.html
index c65cbde..2df46e9 100644
--- a/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/impl/SchemasResourceBase.html
+++ b/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/impl/SchemasResourceBase.html
@@ -283,7 +283,7 @@ extends <a href="../AdminResource.html" title="class in org.apache.pulsar.broker
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.pulsar.broker.web.<a href="../../web/PulsarWebResource.html" title="class in org.apache.pulsar.broker.web">PulsarWebResource</a></h3>
-<code><a href="../../web/PulsarWebResource.html#bookieResources()">bookieResources</a>, <a href="../../web/PulsarWebResource.html#canUpdateCluster(java.lang.String,java.util.Set,java.util.Set)">canUpdateCluster</a>, <a href="../../web/PulsarWebResource.html#checkAuthorization(org.apache.pulsar.broker.PulsarService,org.apache.pulsar.common.naming.TopicName,java.lang.String,org.apache.pulsar.broker.authentication.AuthenticationDataSource)">checkAuthorization</a>, <a href="../../web/PulsarW [...]
+<code><a href="../../web/PulsarWebResource.html#bookieResources()">bookieResources</a>, <a href="../../web/PulsarWebResource.html#canUpdateCluster(java.lang.String,java.util.Set,java.util.Set)">canUpdateCluster</a>, <a href="../../web/PulsarWebResource.html#checkAuthorization(org.apache.pulsar.broker.PulsarService,org.apache.pulsar.common.naming.TopicName,java.lang.String,org.apache.pulsar.broker.authentication.AuthenticationDataSource)">checkAuthorization</a>, <a href="../../web/PulsarW [...]
 </ul>
 <ul class="blockList">
 <li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
diff --git a/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/impl/SinksBase.html b/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/impl/SinksBase.html
index cb92e6b..a1a10bd 100644
--- a/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/impl/SinksBase.html
+++ b/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/impl/SinksBase.html
@@ -343,7 +343,7 @@ extends <a href="../AdminResource.html" title="class in org.apache.pulsar.broker
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.pulsar.broker.web.<a href="../../web/PulsarWebResource.html" title="class in org.apache.pulsar.broker.web">PulsarWebResource</a></h3>
-<code><a href="../../web/PulsarWebResource.html#bookieResources()">bookieResources</a>, <a href="../../web/PulsarWebResource.html#canUpdateCluster(java.lang.String,java.util.Set,java.util.Set)">canUpdateCluster</a>, <a href="../../web/PulsarWebResource.html#checkAuthorization(org.apache.pulsar.broker.PulsarService,org.apache.pulsar.common.naming.TopicName,java.lang.String,org.apache.pulsar.broker.authentication.AuthenticationDataSource)">checkAuthorization</a>, <a href="../../web/PulsarW [...]
+<code><a href="../../web/PulsarWebResource.html#bookieResources()">bookieResources</a>, <a href="../../web/PulsarWebResource.html#canUpdateCluster(java.lang.String,java.util.Set,java.util.Set)">canUpdateCluster</a>, <a href="../../web/PulsarWebResource.html#checkAuthorization(org.apache.pulsar.broker.PulsarService,org.apache.pulsar.common.naming.TopicName,java.lang.String,org.apache.pulsar.broker.authentication.AuthenticationDataSource)">checkAuthorization</a>, <a href="../../web/PulsarW [...]
 </ul>
 <ul class="blockList">
 <li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
diff --git a/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/impl/SourcesBase.html b/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/impl/SourcesBase.html
index c041d73..c400e55 100644
--- a/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/impl/SourcesBase.html
+++ b/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/impl/SourcesBase.html
@@ -343,7 +343,7 @@ extends <a href="../AdminResource.html" title="class in org.apache.pulsar.broker
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.pulsar.broker.web.<a href="../../web/PulsarWebResource.html" title="class in org.apache.pulsar.broker.web">PulsarWebResource</a></h3>
-<code><a href="../../web/PulsarWebResource.html#bookieResources()">bookieResources</a>, <a href="../../web/PulsarWebResource.html#canUpdateCluster(java.lang.String,java.util.Set,java.util.Set)">canUpdateCluster</a>, <a href="../../web/PulsarWebResource.html#checkAuthorization(org.apache.pulsar.broker.PulsarService,org.apache.pulsar.common.naming.TopicName,java.lang.String,org.apache.pulsar.broker.authentication.AuthenticationDataSource)">checkAuthorization</a>, <a href="../../web/PulsarW [...]
+<code><a href="../../web/PulsarWebResource.html#bookieResources()">bookieResources</a>, <a href="../../web/PulsarWebResource.html#canUpdateCluster(java.lang.String,java.util.Set,java.util.Set)">canUpdateCluster</a>, <a href="../../web/PulsarWebResource.html#checkAuthorization(org.apache.pulsar.broker.PulsarService,org.apache.pulsar.common.naming.TopicName,java.lang.String,org.apache.pulsar.broker.authentication.AuthenticationDataSource)">checkAuthorization</a>, <a href="../../web/PulsarW [...]
 </ul>
 <ul class="blockList">
 <li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
diff --git a/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/impl/TenantsBase.html b/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/impl/TenantsBase.html
index 007c7e7..675a65d 100644
--- a/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/impl/TenantsBase.html
+++ b/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/impl/TenantsBase.html
@@ -257,7 +257,7 @@ extends <a href="../../web/PulsarWebResource.html" title="class in org.apache.pu
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.pulsar.broker.web.<a href="../../web/PulsarWebResource.html" title="class in org.apache.pulsar.broker.web">PulsarWebResource</a></h3>
-<code><a href="../../web/PulsarWebResource.html#bookieResources()">bookieResources</a>, <a href="../../web/PulsarWebResource.html#canUpdateCluster(java.lang.String,java.util.Set,java.util.Set)">canUpdateCluster</a>, <a href="../../web/PulsarWebResource.html#checkAuthorization(org.apache.pulsar.broker.PulsarService,org.apache.pulsar.common.naming.TopicName,java.lang.String,org.apache.pulsar.broker.authentication.AuthenticationDataSource)">checkAuthorization</a>, <a href="../../web/PulsarW [...]
+<code><a href="../../web/PulsarWebResource.html#bookieResources()">bookieResources</a>, <a href="../../web/PulsarWebResource.html#canUpdateCluster(java.lang.String,java.util.Set,java.util.Set)">canUpdateCluster</a>, <a href="../../web/PulsarWebResource.html#checkAuthorization(org.apache.pulsar.broker.PulsarService,org.apache.pulsar.common.naming.TopicName,java.lang.String,org.apache.pulsar.broker.authentication.AuthenticationDataSource)">checkAuthorization</a>, <a href="../../web/PulsarW [...]
 </ul>
 <ul class="blockList">
 <li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
diff --git a/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/impl/TransactionsBase.html b/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/impl/TransactionsBase.html
index e18f3f4..0e99237 100644
--- a/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/impl/TransactionsBase.html
+++ b/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/impl/TransactionsBase.html
@@ -302,7 +302,7 @@ extends <a href="../AdminResource.html" title="class in org.apache.pulsar.broker
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.pulsar.broker.web.<a href="../../web/PulsarWebResource.html" title="class in org.apache.pulsar.broker.web">PulsarWebResource</a></h3>
-<code><a href="../../web/PulsarWebResource.html#bookieResources()">bookieResources</a>, <a href="../../web/PulsarWebResource.html#canUpdateCluster(java.lang.String,java.util.Set,java.util.Set)">canUpdateCluster</a>, <a href="../../web/PulsarWebResource.html#checkAuthorization(org.apache.pulsar.broker.PulsarService,org.apache.pulsar.common.naming.TopicName,java.lang.String,org.apache.pulsar.broker.authentication.AuthenticationDataSource)">checkAuthorization</a>, <a href="../../web/PulsarW [...]
+<code><a href="../../web/PulsarWebResource.html#bookieResources()">bookieResources</a>, <a href="../../web/PulsarWebResource.html#canUpdateCluster(java.lang.String,java.util.Set,java.util.Set)">canUpdateCluster</a>, <a href="../../web/PulsarWebResource.html#checkAuthorization(org.apache.pulsar.broker.PulsarService,org.apache.pulsar.common.naming.TopicName,java.lang.String,org.apache.pulsar.broker.authentication.AuthenticationDataSource)">checkAuthorization</a>, <a href="../../web/PulsarW [...]
 </ul>
 <ul class="blockList">
 <li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
diff --git a/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v1/BrokerStats.html b/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v1/BrokerStats.html
index ca8d3be..c5c51f1 100644
--- a/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v1/BrokerStats.html
+++ b/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v1/BrokerStats.html
@@ -242,7 +242,7 @@ extends <a href="../impl/BrokerStatsBase.html" title="class in org.apache.pulsar
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.pulsar.broker.web.<a href="../../web/PulsarWebResource.html" title="class in org.apache.pulsar.broker.web">PulsarWebResource</a></h3>
-<code><a href="../../web/PulsarWebResource.html#bookieResources()">bookieResources</a>, <a href="../../web/PulsarWebResource.html#canUpdateCluster(java.lang.String,java.util.Set,java.util.Set)">canUpdateCluster</a>, <a href="../../web/PulsarWebResource.html#checkAuthorization(org.apache.pulsar.broker.PulsarService,org.apache.pulsar.common.naming.TopicName,java.lang.String,org.apache.pulsar.broker.authentication.AuthenticationDataSource)">checkAuthorization</a>, <a href="../../web/PulsarW [...]
+<code><a href="../../web/PulsarWebResource.html#bookieResources()">bookieResources</a>, <a href="../../web/PulsarWebResource.html#canUpdateCluster(java.lang.String,java.util.Set,java.util.Set)">canUpdateCluster</a>, <a href="../../web/PulsarWebResource.html#checkAuthorization(org.apache.pulsar.broker.PulsarService,org.apache.pulsar.common.naming.TopicName,java.lang.String,org.apache.pulsar.broker.authentication.AuthenticationDataSource)">checkAuthorization</a>, <a href="../../web/PulsarW [...]
 </ul>
 <ul class="blockList">
 <li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
diff --git a/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v1/Brokers.html b/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v1/Brokers.html
index c524bb5..79f4d73 100644
--- a/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v1/Brokers.html
+++ b/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v1/Brokers.html
@@ -228,7 +228,7 @@ extends <a href="../impl/BrokersBase.html" title="class in org.apache.pulsar.bro
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.pulsar.broker.web.<a href="../../web/PulsarWebResource.html" title="class in org.apache.pulsar.broker.web">PulsarWebResource</a></h3>
-<code><a href="../../web/PulsarWebResource.html#bookieResources()">bookieResources</a>, <a href="../../web/PulsarWebResource.html#canUpdateCluster(java.lang.String,java.util.Set,java.util.Set)">canUpdateCluster</a>, <a href="../../web/PulsarWebResource.html#checkAuthorization(org.apache.pulsar.broker.PulsarService,org.apache.pulsar.common.naming.TopicName,java.lang.String,org.apache.pulsar.broker.authentication.AuthenticationDataSource)">checkAuthorization</a>, <a href="../../web/PulsarW [...]
+<code><a href="../../web/PulsarWebResource.html#bookieResources()">bookieResources</a>, <a href="../../web/PulsarWebResource.html#canUpdateCluster(java.lang.String,java.util.Set,java.util.Set)">canUpdateCluster</a>, <a href="../../web/PulsarWebResource.html#checkAuthorization(org.apache.pulsar.broker.PulsarService,org.apache.pulsar.common.naming.TopicName,java.lang.String,org.apache.pulsar.broker.authentication.AuthenticationDataSource)">checkAuthorization</a>, <a href="../../web/PulsarW [...]
 </ul>
 <ul class="blockList">
 <li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
diff --git a/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v1/Clusters.html b/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v1/Clusters.html
index 09b4b06..dbc9edf 100644
--- a/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v1/Clusters.html
+++ b/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v1/Clusters.html
@@ -202,7 +202,7 @@ extends <a href="../impl/ClustersBase.html" title="class in org.apache.pulsar.br
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.pulsar.broker.web.<a href="../../web/PulsarWebResource.html" title="class in org.apache.pulsar.broker.web">PulsarWebResource</a></h3>
-<code><a href="../../web/PulsarWebResource.html#bookieResources()">bookieResources</a>, <a href="../../web/PulsarWebResource.html#canUpdateCluster(java.lang.String,java.util.Set,java.util.Set)">canUpdateCluster</a>, <a href="../../web/PulsarWebResource.html#checkAuthorization(org.apache.pulsar.broker.PulsarService,org.apache.pulsar.common.naming.TopicName,java.lang.String,org.apache.pulsar.broker.authentication.AuthenticationDataSource)">checkAuthorization</a>, <a href="../../web/PulsarW [...]
+<code><a href="../../web/PulsarWebResource.html#bookieResources()">bookieResources</a>, <a href="../../web/PulsarWebResource.html#canUpdateCluster(java.lang.String,java.util.Set,java.util.Set)">canUpdateCluster</a>, <a href="../../web/PulsarWebResource.html#checkAuthorization(org.apache.pulsar.broker.PulsarService,org.apache.pulsar.common.naming.TopicName,java.lang.String,org.apache.pulsar.broker.authentication.AuthenticationDataSource)">checkAuthorization</a>, <a href="../../web/PulsarW [...]
 </ul>
 <ul class="blockList">
 <li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
diff --git a/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v1/Functions.html b/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v1/Functions.html
index 4653b68..b7047ff 100644
--- a/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v1/Functions.html
+++ b/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v1/Functions.html
@@ -222,7 +222,7 @@ extends <a href="../v2/Functions.html" title="class in org.apache.pulsar.broker.
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.pulsar.broker.web.<a href="../../web/PulsarWebResource.html" title="class in org.apache.pulsar.broker.web">PulsarWebResource</a></h3>
-<code><a href="../../web/PulsarWebResource.html#bookieResources()">bookieResources</a>, <a href="../../web/PulsarWebResource.html#canUpdateCluster(java.lang.String,java.util.Set,java.util.Set)">canUpdateCluster</a>, <a href="../../web/PulsarWebResource.html#checkAuthorization(org.apache.pulsar.broker.PulsarService,org.apache.pulsar.common.naming.TopicName,java.lang.String,org.apache.pulsar.broker.authentication.AuthenticationDataSource)">checkAuthorization</a>, <a href="../../web/PulsarW [...]
+<code><a href="../../web/PulsarWebResource.html#bookieResources()">bookieResources</a>, <a href="../../web/PulsarWebResource.html#canUpdateCluster(java.lang.String,java.util.Set,java.util.Set)">canUpdateCluster</a>, <a href="../../web/PulsarWebResource.html#checkAuthorization(org.apache.pulsar.broker.PulsarService,org.apache.pulsar.common.naming.TopicName,java.lang.String,org.apache.pulsar.broker.authentication.AuthenticationDataSource)">checkAuthorization</a>, <a href="../../web/PulsarW [...]
 </ul>
 <ul class="blockList">
 <li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
diff --git a/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v1/Namespaces.html b/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v1/Namespaces.html
index 0b64d00..6768eaf 100644
--- a/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v1/Namespaces.html
+++ b/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v1/Namespaces.html
@@ -859,7 +859,7 @@ extends <a href="../impl/NamespacesBase.html" title="class in org.apache.pulsar.
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.pulsar.broker.web.<a href="../../web/PulsarWebResource.html" title="class in org.apache.pulsar.broker.web">PulsarWebResource</a></h3>
-<code><a href="../../web/PulsarWebResource.html#bookieResources()">bookieResources</a>, <a href="../../web/PulsarWebResource.html#canUpdateCluster(java.lang.String,java.util.Set,java.util.Set)">canUpdateCluster</a>, <a href="../../web/PulsarWebResource.html#checkAuthorization(org.apache.pulsar.broker.PulsarService,org.apache.pulsar.common.naming.TopicName,java.lang.String,org.apache.pulsar.broker.authentication.AuthenticationDataSource)">checkAuthorization</a>, <a href="../../web/PulsarW [...]
+<code><a href="../../web/PulsarWebResource.html#bookieResources()">bookieResources</a>, <a href="../../web/PulsarWebResource.html#canUpdateCluster(java.lang.String,java.util.Set,java.util.Set)">canUpdateCluster</a>, <a href="../../web/PulsarWebResource.html#checkAuthorization(org.apache.pulsar.broker.PulsarService,org.apache.pulsar.common.naming.TopicName,java.lang.String,org.apache.pulsar.broker.authentication.AuthenticationDataSource)">checkAuthorization</a>, <a href="../../web/PulsarW [...]
 </ul>
 <ul class="blockList">
 <li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
diff --git a/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v1/NonPersistentTopics.html b/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v1/NonPersistentTopics.html
index 75b4cb0..4eb8a0b 100644
--- a/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v1/NonPersistentTopics.html
+++ b/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v1/NonPersistentTopics.html
@@ -315,7 +315,7 @@ extends <a href="PersistentTopics.html" title="class in org.apache.pulsar.broker
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.pulsar.broker.web.<a href="../../web/PulsarWebResource.html" title="class in org.apache.pulsar.broker.web">PulsarWebResource</a></h3>
-<code><a href="../../web/PulsarWebResource.html#bookieResources()">bookieResources</a>, <a href="../../web/PulsarWebResource.html#canUpdateCluster(java.lang.String,java.util.Set,java.util.Set)">canUpdateCluster</a>, <a href="../../web/PulsarWebResource.html#checkAuthorization(org.apache.pulsar.broker.PulsarService,org.apache.pulsar.common.naming.TopicName,java.lang.String,org.apache.pulsar.broker.authentication.AuthenticationDataSource)">checkAuthorization</a>, <a href="../../web/PulsarW [...]
+<code><a href="../../web/PulsarWebResource.html#bookieResources()">bookieResources</a>, <a href="../../web/PulsarWebResource.html#canUpdateCluster(java.lang.String,java.util.Set,java.util.Set)">canUpdateCluster</a>, <a href="../../web/PulsarWebResource.html#checkAuthorization(org.apache.pulsar.broker.PulsarService,org.apache.pulsar.common.naming.TopicName,java.lang.String,org.apache.pulsar.broker.authentication.AuthenticationDataSource)">checkAuthorization</a>, <a href="../../web/PulsarW [...]
 </ul>
 <ul class="blockList">
 <li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
diff --git a/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v1/PersistentTopics.html b/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v1/PersistentTopics.html
index a7a0647..d58782b 100644
--- a/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v1/PersistentTopics.html
+++ b/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v1/PersistentTopics.html
@@ -651,7 +651,7 @@ extends <a href="../impl/PersistentTopicsBase.html" title="class in org.apache.p
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.pulsar.broker.web.<a href="../../web/PulsarWebResource.html" title="class in org.apache.pulsar.broker.web">PulsarWebResource</a></h3>
-<code><a href="../../web/PulsarWebResource.html#bookieResources()">bookieResources</a>, <a href="../../web/PulsarWebResource.html#canUpdateCluster(java.lang.String,java.util.Set,java.util.Set)">canUpdateCluster</a>, <a href="../../web/PulsarWebResource.html#checkAuthorization(org.apache.pulsar.broker.PulsarService,org.apache.pulsar.common.naming.TopicName,java.lang.String,org.apache.pulsar.broker.authentication.AuthenticationDataSource)">checkAuthorization</a>, <a href="../../web/PulsarW [...]
+<code><a href="../../web/PulsarWebResource.html#bookieResources()">bookieResources</a>, <a href="../../web/PulsarWebResource.html#canUpdateCluster(java.lang.String,java.util.Set,java.util.Set)">canUpdateCluster</a>, <a href="../../web/PulsarWebResource.html#checkAuthorization(org.apache.pulsar.broker.PulsarService,org.apache.pulsar.common.naming.TopicName,java.lang.String,org.apache.pulsar.broker.authentication.AuthenticationDataSource)">checkAuthorization</a>, <a href="../../web/PulsarW [...]
 </ul>
 <ul class="blockList">
 <li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
diff --git a/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v1/Properties.html b/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v1/Properties.html
index 3ec88a9..3e5f505 100644
--- a/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v1/Properties.html
+++ b/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v1/Properties.html
@@ -203,7 +203,7 @@ extends <a href="../impl/TenantsBase.html" title="class in org.apache.pulsar.bro
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.pulsar.broker.web.<a href="../../web/PulsarWebResource.html" title="class in org.apache.pulsar.broker.web">PulsarWebResource</a></h3>
-<code><a href="../../web/PulsarWebResource.html#bookieResources()">bookieResources</a>, <a href="../../web/PulsarWebResource.html#canUpdateCluster(java.lang.String,java.util.Set,java.util.Set)">canUpdateCluster</a>, <a href="../../web/PulsarWebResource.html#checkAuthorization(org.apache.pulsar.broker.PulsarService,org.apache.pulsar.common.naming.TopicName,java.lang.String,org.apache.pulsar.broker.authentication.AuthenticationDataSource)">checkAuthorization</a>, <a href="../../web/PulsarW [...]
+<code><a href="../../web/PulsarWebResource.html#bookieResources()">bookieResources</a>, <a href="../../web/PulsarWebResource.html#canUpdateCluster(java.lang.String,java.util.Set,java.util.Set)">canUpdateCluster</a>, <a href="../../web/PulsarWebResource.html#checkAuthorization(org.apache.pulsar.broker.PulsarService,org.apache.pulsar.common.naming.TopicName,java.lang.String,org.apache.pulsar.broker.authentication.AuthenticationDataSource)">checkAuthorization</a>, <a href="../../web/PulsarW [...]
 </ul>
 <ul class="blockList">
 <li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
diff --git a/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v1/ResourceQuotas.html b/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v1/ResourceQuotas.html
index 48410c1..4b6eb78 100644
--- a/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v1/ResourceQuotas.html
+++ b/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v1/ResourceQuotas.html
@@ -273,7 +273,7 @@ extends <a href="../impl/ResourceQuotasBase.html" title="class in org.apache.pul
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.pulsar.broker.web.<a href="../../web/PulsarWebResource.html" title="class in org.apache.pulsar.broker.web">PulsarWebResource</a></h3>
-<code><a href="../../web/PulsarWebResource.html#bookieResources()">bookieResources</a>, <a href="../../web/PulsarWebResource.html#canUpdateCluster(java.lang.String,java.util.Set,java.util.Set)">canUpdateCluster</a>, <a href="../../web/PulsarWebResource.html#checkAuthorization(org.apache.pulsar.broker.PulsarService,org.apache.pulsar.common.naming.TopicName,java.lang.String,org.apache.pulsar.broker.authentication.AuthenticationDataSource)">checkAuthorization</a>, <a href="../../web/PulsarW [...]
+<code><a href="../../web/PulsarWebResource.html#bookieResources()">bookieResources</a>, <a href="../../web/PulsarWebResource.html#canUpdateCluster(java.lang.String,java.util.Set,java.util.Set)">canUpdateCluster</a>, <a href="../../web/PulsarWebResource.html#checkAuthorization(org.apache.pulsar.broker.PulsarService,org.apache.pulsar.common.naming.TopicName,java.lang.String,org.apache.pulsar.broker.authentication.AuthenticationDataSource)">checkAuthorization</a>, <a href="../../web/PulsarW [...]
 </ul>
 <ul class="blockList">
 <li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
diff --git a/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v1/SchemasResource.html b/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v1/SchemasResource.html
index 02dd962..317e6a5 100644
--- a/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v1/SchemasResource.html
+++ b/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v1/SchemasResource.html
@@ -309,7 +309,7 @@ extends <a href="../impl/SchemasResourceBase.html" title="class in org.apache.pu
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.pulsar.broker.web.<a href="../../web/PulsarWebResource.html" title="class in org.apache.pulsar.broker.web">PulsarWebResource</a></h3>
-<code><a href="../../web/PulsarWebResource.html#bookieResources()">bookieResources</a>, <a href="../../web/PulsarWebResource.html#canUpdateCluster(java.lang.String,java.util.Set,java.util.Set)">canUpdateCluster</a>, <a href="../../web/PulsarWebResource.html#checkAuthorization(org.apache.pulsar.broker.PulsarService,org.apache.pulsar.common.naming.TopicName,java.lang.String,org.apache.pulsar.broker.authentication.AuthenticationDataSource)">checkAuthorization</a>, <a href="../../web/PulsarW [...]
+<code><a href="../../web/PulsarWebResource.html#bookieResources()">bookieResources</a>, <a href="../../web/PulsarWebResource.html#canUpdateCluster(java.lang.String,java.util.Set,java.util.Set)">canUpdateCluster</a>, <a href="../../web/PulsarWebResource.html#checkAuthorization(org.apache.pulsar.broker.PulsarService,org.apache.pulsar.common.naming.TopicName,java.lang.String,org.apache.pulsar.broker.authentication.AuthenticationDataSource)">checkAuthorization</a>, <a href="../../web/PulsarW [...]
 </ul>
 <ul class="blockList">
 <li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
diff --git a/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v2/Bookies.html b/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v2/Bookies.html
index 2618b8f..3cd5ab5 100644
--- a/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v2/Bookies.html
+++ b/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v2/Bookies.html
@@ -253,7 +253,7 @@ extends <a href="../AdminResource.html" title="class in org.apache.pulsar.broker
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.pulsar.broker.web.<a href="../../web/PulsarWebResource.html" title="class in org.apache.pulsar.broker.web">PulsarWebResource</a></h3>
-<code><a href="../../web/PulsarWebResource.html#bookieResources()">bookieResources</a>, <a href="../../web/PulsarWebResource.html#canUpdateCluster(java.lang.String,java.util.Set,java.util.Set)">canUpdateCluster</a>, <a href="../../web/PulsarWebResource.html#checkAuthorization(org.apache.pulsar.broker.PulsarService,org.apache.pulsar.common.naming.TopicName,java.lang.String,org.apache.pulsar.broker.authentication.AuthenticationDataSource)">checkAuthorization</a>, <a href="../../web/PulsarW [...]
+<code><a href="../../web/PulsarWebResource.html#bookieResources()">bookieResources</a>, <a href="../../web/PulsarWebResource.html#canUpdateCluster(java.lang.String,java.util.Set,java.util.Set)">canUpdateCluster</a>, <a href="../../web/PulsarWebResource.html#checkAuthorization(org.apache.pulsar.broker.PulsarService,org.apache.pulsar.common.naming.TopicName,java.lang.String,org.apache.pulsar.broker.authentication.AuthenticationDataSource)">checkAuthorization</a>, <a href="../../web/PulsarW [...]
 </ul>
 <ul class="blockList">
 <li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
diff --git a/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v2/BrokerStats.html b/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v2/BrokerStats.html
index d7abe51..bcee52b 100644
--- a/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v2/BrokerStats.html
+++ b/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v2/BrokerStats.html
@@ -246,7 +246,7 @@ extends <a href="../impl/BrokerStatsBase.html" title="class in org.apache.pulsar
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.pulsar.broker.web.<a href="../../web/PulsarWebResource.html" title="class in org.apache.pulsar.broker.web">PulsarWebResource</a></h3>
-<code><a href="../../web/PulsarWebResource.html#bookieResources()">bookieResources</a>, <a href="../../web/PulsarWebResource.html#canUpdateCluster(java.lang.String,java.util.Set,java.util.Set)">canUpdateCluster</a>, <a href="../../web/PulsarWebResource.html#checkAuthorization(org.apache.pulsar.broker.PulsarService,org.apache.pulsar.common.naming.TopicName,java.lang.String,org.apache.pulsar.broker.authentication.AuthenticationDataSource)">checkAuthorization</a>, <a href="../../web/PulsarW [...]
+<code><a href="../../web/PulsarWebResource.html#bookieResources()">bookieResources</a>, <a href="../../web/PulsarWebResource.html#canUpdateCluster(java.lang.String,java.util.Set,java.util.Set)">canUpdateCluster</a>, <a href="../../web/PulsarWebResource.html#checkAuthorization(org.apache.pulsar.broker.PulsarService,org.apache.pulsar.common.naming.TopicName,java.lang.String,org.apache.pulsar.broker.authentication.AuthenticationDataSource)">checkAuthorization</a>, <a href="../../web/PulsarW [...]
 </ul>
 <ul class="blockList">
 <li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
diff --git a/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v2/Brokers.html b/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v2/Brokers.html
index fb5266a..093a44b 100644
--- a/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v2/Brokers.html
+++ b/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v2/Brokers.html
@@ -228,7 +228,7 @@ extends <a href="../impl/BrokersBase.html" title="class in org.apache.pulsar.bro
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.pulsar.broker.web.<a href="../../web/PulsarWebResource.html" title="class in org.apache.pulsar.broker.web">PulsarWebResource</a></h3>
-<code><a href="../../web/PulsarWebResource.html#bookieResources()">bookieResources</a>, <a href="../../web/PulsarWebResource.html#canUpdateCluster(java.lang.String,java.util.Set,java.util.Set)">canUpdateCluster</a>, <a href="../../web/PulsarWebResource.html#checkAuthorization(org.apache.pulsar.broker.PulsarService,org.apache.pulsar.common.naming.TopicName,java.lang.String,org.apache.pulsar.broker.authentication.AuthenticationDataSource)">checkAuthorization</a>, <a href="../../web/PulsarW [...]
+<code><a href="../../web/PulsarWebResource.html#bookieResources()">bookieResources</a>, <a href="../../web/PulsarWebResource.html#canUpdateCluster(java.lang.String,java.util.Set,java.util.Set)">canUpdateCluster</a>, <a href="../../web/PulsarWebResource.html#checkAuthorization(org.apache.pulsar.broker.PulsarService,org.apache.pulsar.common.naming.TopicName,java.lang.String,org.apache.pulsar.broker.authentication.AuthenticationDataSource)">checkAuthorization</a>, <a href="../../web/PulsarW [...]
 </ul>
 <ul class="blockList">
 <li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
diff --git a/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v2/Clusters.html b/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v2/Clusters.html
index 7e8640b..2ee26d7 100644
--- a/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v2/Clusters.html
+++ b/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v2/Clusters.html
@@ -202,7 +202,7 @@ extends <a href="../impl/ClustersBase.html" title="class in org.apache.pulsar.br
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.pulsar.broker.web.<a href="../../web/PulsarWebResource.html" title="class in org.apache.pulsar.broker.web">PulsarWebResource</a></h3>
-<code><a href="../../web/PulsarWebResource.html#bookieResources()">bookieResources</a>, <a href="../../web/PulsarWebResource.html#canUpdateCluster(java.lang.String,java.util.Set,java.util.Set)">canUpdateCluster</a>, <a href="../../web/PulsarWebResource.html#checkAuthorization(org.apache.pulsar.broker.PulsarService,org.apache.pulsar.common.naming.TopicName,java.lang.String,org.apache.pulsar.broker.authentication.AuthenticationDataSource)">checkAuthorization</a>, <a href="../../web/PulsarW [...]
+<code><a href="../../web/PulsarWebResource.html#bookieResources()">bookieResources</a>, <a href="../../web/PulsarWebResource.html#canUpdateCluster(java.lang.String,java.util.Set,java.util.Set)">canUpdateCluster</a>, <a href="../../web/PulsarWebResource.html#checkAuthorization(org.apache.pulsar.broker.PulsarService,org.apache.pulsar.common.naming.TopicName,java.lang.String,org.apache.pulsar.broker.authentication.AuthenticationDataSource)">checkAuthorization</a>, <a href="../../web/PulsarW [...]
 </ul>
 <ul class="blockList">
 <li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
diff --git a/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v2/Functions.html b/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v2/Functions.html
index c590594..3b04d37 100644
--- a/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v2/Functions.html
+++ b/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v2/Functions.html
@@ -349,7 +349,7 @@ extends <a href="../AdminResource.html" title="class in org.apache.pulsar.broker
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.pulsar.broker.web.<a href="../../web/PulsarWebResource.html" title="class in org.apache.pulsar.broker.web">PulsarWebResource</a></h3>
-<code><a href="../../web/PulsarWebResource.html#bookieResources()">bookieResources</a>, <a href="../../web/PulsarWebResource.html#canUpdateCluster(java.lang.String,java.util.Set,java.util.Set)">canUpdateCluster</a>, <a href="../../web/PulsarWebResource.html#checkAuthorization(org.apache.pulsar.broker.PulsarService,org.apache.pulsar.common.naming.TopicName,java.lang.String,org.apache.pulsar.broker.authentication.AuthenticationDataSource)">checkAuthorization</a>, <a href="../../web/PulsarW [...]
+<code><a href="../../web/PulsarWebResource.html#bookieResources()">bookieResources</a>, <a href="../../web/PulsarWebResource.html#canUpdateCluster(java.lang.String,java.util.Set,java.util.Set)">canUpdateCluster</a>, <a href="../../web/PulsarWebResource.html#checkAuthorization(org.apache.pulsar.broker.PulsarService,org.apache.pulsar.common.naming.TopicName,java.lang.String,org.apache.pulsar.broker.authentication.AuthenticationDataSource)">checkAuthorization</a>, <a href="../../web/PulsarW [...]
 </ul>
 <ul class="blockList">
 <li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
diff --git a/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v2/Namespaces.html b/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v2/Namespaces.html
index c21c2eb..67aecbe 100644
--- a/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v2/Namespaces.html
+++ b/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v2/Namespaces.html
@@ -1150,7 +1150,7 @@ extends <a href="../impl/NamespacesBase.html" title="class in org.apache.pulsar.
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.pulsar.broker.web.<a href="../../web/PulsarWebResource.html" title="class in org.apache.pulsar.broker.web">PulsarWebResource</a></h3>
-<code><a href="../../web/PulsarWebResource.html#bookieResources()">bookieResources</a>, <a href="../../web/PulsarWebResource.html#canUpdateCluster(java.lang.String,java.util.Set,java.util.Set)">canUpdateCluster</a>, <a href="../../web/PulsarWebResource.html#checkAuthorization(org.apache.pulsar.broker.PulsarService,org.apache.pulsar.common.naming.TopicName,java.lang.String,org.apache.pulsar.broker.authentication.AuthenticationDataSource)">checkAuthorization</a>, <a href="../../web/PulsarW [...]
+<code><a href="../../web/PulsarWebResource.html#bookieResources()">bookieResources</a>, <a href="../../web/PulsarWebResource.html#canUpdateCluster(java.lang.String,java.util.Set,java.util.Set)">canUpdateCluster</a>, <a href="../../web/PulsarWebResource.html#checkAuthorization(org.apache.pulsar.broker.PulsarService,org.apache.pulsar.common.naming.TopicName,java.lang.String,org.apache.pulsar.broker.authentication.AuthenticationDataSource)">checkAuthorization</a>, <a href="../../web/PulsarW [...]
 </ul>
 <ul class="blockList">
 <li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
diff --git a/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v2/NonPersistentTopics.html b/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v2/NonPersistentTopics.html
index 1425676..2ae7fd2 100644
--- a/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v2/NonPersistentTopics.html
+++ b/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v2/NonPersistentTopics.html
@@ -339,7 +339,7 @@ extends <a href="PersistentTopics.html" title="class in org.apache.pulsar.broker
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.pulsar.broker.web.<a href="../../web/PulsarWebResource.html" title="class in org.apache.pulsar.broker.web">PulsarWebResource</a></h3>
-<code><a href="../../web/PulsarWebResource.html#bookieResources()">bookieResources</a>, <a href="../../web/PulsarWebResource.html#canUpdateCluster(java.lang.String,java.util.Set,java.util.Set)">canUpdateCluster</a>, <a href="../../web/PulsarWebResource.html#checkAuthorization(org.apache.pulsar.broker.PulsarService,org.apache.pulsar.common.naming.TopicName,java.lang.String,org.apache.pulsar.broker.authentication.AuthenticationDataSource)">checkAuthorization</a>, <a href="../../web/PulsarW [...]
+<code><a href="../../web/PulsarWebResource.html#bookieResources()">bookieResources</a>, <a href="../../web/PulsarWebResource.html#canUpdateCluster(java.lang.String,java.util.Set,java.util.Set)">canUpdateCluster</a>, <a href="../../web/PulsarWebResource.html#checkAuthorization(org.apache.pulsar.broker.PulsarService,org.apache.pulsar.common.naming.TopicName,java.lang.String,org.apache.pulsar.broker.authentication.AuthenticationDataSource)">checkAuthorization</a>, <a href="../../web/PulsarW [...]
 </ul>
 <ul class="blockList">
 <li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
diff --git a/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v2/PersistentTopics.html b/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v2/PersistentTopics.html
index fe1029b..a7156fe 100644
--- a/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v2/PersistentTopics.html
+++ b/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v2/PersistentTopics.html
@@ -1468,7 +1468,7 @@ extends <a href="../impl/PersistentTopicsBase.html" title="class in org.apache.p
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.pulsar.broker.web.<a href="../../web/PulsarWebResource.html" title="class in org.apache.pulsar.broker.web">PulsarWebResource</a></h3>
-<code><a href="../../web/PulsarWebResource.html#bookieResources()">bookieResources</a>, <a href="../../web/PulsarWebResource.html#canUpdateCluster(java.lang.String,java.util.Set,java.util.Set)">canUpdateCluster</a>, <a href="../../web/PulsarWebResource.html#checkAuthorization(org.apache.pulsar.broker.PulsarService,org.apache.pulsar.common.naming.TopicName,java.lang.String,org.apache.pulsar.broker.authentication.AuthenticationDataSource)">checkAuthorization</a>, <a href="../../web/PulsarW [...]
+<code><a href="../../web/PulsarWebResource.html#bookieResources()">bookieResources</a>, <a href="../../web/PulsarWebResource.html#canUpdateCluster(java.lang.String,java.util.Set,java.util.Set)">canUpdateCluster</a>, <a href="../../web/PulsarWebResource.html#checkAuthorization(org.apache.pulsar.broker.PulsarService,org.apache.pulsar.common.naming.TopicName,java.lang.String,org.apache.pulsar.broker.authentication.AuthenticationDataSource)">checkAuthorization</a>, <a href="../../web/PulsarW [...]
 </ul>
 <ul class="blockList">
 <li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
diff --git a/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v2/ResourceGroups.html b/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v2/ResourceGroups.html
index 41fe3d8..21a1c2d 100644
--- a/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v2/ResourceGroups.html
+++ b/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v2/ResourceGroups.html
@@ -257,7 +257,7 @@ extends <a href="../impl/ResourceGroupsBase.html" title="class in org.apache.pul
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.pulsar.broker.web.<a href="../../web/PulsarWebResource.html" title="class in org.apache.pulsar.broker.web">PulsarWebResource</a></h3>
-<code><a href="../../web/PulsarWebResource.html#bookieResources()">bookieResources</a>, <a href="../../web/PulsarWebResource.html#canUpdateCluster(java.lang.String,java.util.Set,java.util.Set)">canUpdateCluster</a>, <a href="../../web/PulsarWebResource.html#checkAuthorization(org.apache.pulsar.broker.PulsarService,org.apache.pulsar.common.naming.TopicName,java.lang.String,org.apache.pulsar.broker.authentication.AuthenticationDataSource)">checkAuthorization</a>, <a href="../../web/PulsarW [...]
+<code><a href="../../web/PulsarWebResource.html#bookieResources()">bookieResources</a>, <a href="../../web/PulsarWebResource.html#canUpdateCluster(java.lang.String,java.util.Set,java.util.Set)">canUpdateCluster</a>, <a href="../../web/PulsarWebResource.html#checkAuthorization(org.apache.pulsar.broker.PulsarService,org.apache.pulsar.common.naming.TopicName,java.lang.String,org.apache.pulsar.broker.authentication.AuthenticationDataSource)">checkAuthorization</a>, <a href="../../web/PulsarW [...]
 </ul>
 <ul class="blockList">
 <li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
diff --git a/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v2/ResourceQuotas.html b/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v2/ResourceQuotas.html
index 0d67a14..6c4bc40 100644
--- a/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v2/ResourceQuotas.html
+++ b/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v2/ResourceQuotas.html
@@ -280,7 +280,7 @@ extends <a href="../impl/ResourceQuotasBase.html" title="class in org.apache.pul
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.pulsar.broker.web.<a href="../../web/PulsarWebResource.html" title="class in org.apache.pulsar.broker.web">PulsarWebResource</a></h3>
-<code><a href="../../web/PulsarWebResource.html#bookieResources()">bookieResources</a>, <a href="../../web/PulsarWebResource.html#canUpdateCluster(java.lang.String,java.util.Set,java.util.Set)">canUpdateCluster</a>, <a href="../../web/PulsarWebResource.html#checkAuthorization(org.apache.pulsar.broker.PulsarService,org.apache.pulsar.common.naming.TopicName,java.lang.String,org.apache.pulsar.broker.authentication.AuthenticationDataSource)">checkAuthorization</a>, <a href="../../web/PulsarW [...]
+<code><a href="../../web/PulsarWebResource.html#bookieResources()">bookieResources</a>, <a href="../../web/PulsarWebResource.html#canUpdateCluster(java.lang.String,java.util.Set,java.util.Set)">canUpdateCluster</a>, <a href="../../web/PulsarWebResource.html#checkAuthorization(org.apache.pulsar.broker.PulsarService,org.apache.pulsar.common.naming.TopicName,java.lang.String,org.apache.pulsar.broker.authentication.AuthenticationDataSource)">checkAuthorization</a>, <a href="../../web/PulsarW [...]
 </ul>
 <ul class="blockList">
 <li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
diff --git a/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v2/SchemasResource.html b/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v2/SchemasResource.html
index 07d47cd..63ec537 100644
--- a/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v2/SchemasResource.html
+++ b/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v2/SchemasResource.html
@@ -302,7 +302,7 @@ extends <a href="../impl/SchemasResourceBase.html" title="class in org.apache.pu
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.pulsar.broker.web.<a href="../../web/PulsarWebResource.html" title="class in org.apache.pulsar.broker.web">PulsarWebResource</a></h3>
-<code><a href="../../web/PulsarWebResource.html#bookieResources()">bookieResources</a>, <a href="../../web/PulsarWebResource.html#canUpdateCluster(java.lang.String,java.util.Set,java.util.Set)">canUpdateCluster</a>, <a href="../../web/PulsarWebResource.html#checkAuthorization(org.apache.pulsar.broker.PulsarService,org.apache.pulsar.common.naming.TopicName,java.lang.String,org.apache.pulsar.broker.authentication.AuthenticationDataSource)">checkAuthorization</a>, <a href="../../web/PulsarW [...]
+<code><a href="../../web/PulsarWebResource.html#bookieResources()">bookieResources</a>, <a href="../../web/PulsarWebResource.html#canUpdateCluster(java.lang.String,java.util.Set,java.util.Set)">canUpdateCluster</a>, <a href="../../web/PulsarWebResource.html#checkAuthorization(org.apache.pulsar.broker.PulsarService,org.apache.pulsar.common.naming.TopicName,java.lang.String,org.apache.pulsar.broker.authentication.AuthenticationDataSource)">checkAuthorization</a>, <a href="../../web/PulsarW [...]
 </ul>
 <ul class="blockList">
 <li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
diff --git a/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v2/Tenants.html b/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v2/Tenants.html
index 2b31d74..9fc8872 100644
--- a/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v2/Tenants.html
+++ b/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v2/Tenants.html
@@ -203,7 +203,7 @@ extends <a href="../impl/TenantsBase.html" title="class in org.apache.pulsar.bro
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.pulsar.broker.web.<a href="../../web/PulsarWebResource.html" title="class in org.apache.pulsar.broker.web">PulsarWebResource</a></h3>
-<code><a href="../../web/PulsarWebResource.html#bookieResources()">bookieResources</a>, <a href="../../web/PulsarWebResource.html#canUpdateCluster(java.lang.String,java.util.Set,java.util.Set)">canUpdateCluster</a>, <a href="../../web/PulsarWebResource.html#checkAuthorization(org.apache.pulsar.broker.PulsarService,org.apache.pulsar.common.naming.TopicName,java.lang.String,org.apache.pulsar.broker.authentication.AuthenticationDataSource)">checkAuthorization</a>, <a href="../../web/PulsarW [...]
+<code><a href="../../web/PulsarWebResource.html#bookieResources()">bookieResources</a>, <a href="../../web/PulsarWebResource.html#canUpdateCluster(java.lang.String,java.util.Set,java.util.Set)">canUpdateCluster</a>, <a href="../../web/PulsarWebResource.html#checkAuthorization(org.apache.pulsar.broker.PulsarService,org.apache.pulsar.common.naming.TopicName,java.lang.String,org.apache.pulsar.broker.authentication.AuthenticationDataSource)">checkAuthorization</a>, <a href="../../web/PulsarW [...]
 </ul>
 <ul class="blockList">
 <li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
diff --git a/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v2/Worker.html b/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v2/Worker.html
index 632f16a..0369018 100644
--- a/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v2/Worker.html
+++ b/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v2/Worker.html
@@ -282,7 +282,7 @@ implements java.util.function.Supplier&lt;org.apache.pulsar.functions.worker.Wor
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.pulsar.broker.web.<a href="../../web/PulsarWebResource.html" title="class in org.apache.pulsar.broker.web">PulsarWebResource</a></h3>
-<code><a href="../../web/PulsarWebResource.html#bookieResources()">bookieResources</a>, <a href="../../web/PulsarWebResource.html#canUpdateCluster(java.lang.String,java.util.Set,java.util.Set)">canUpdateCluster</a>, <a href="../../web/PulsarWebResource.html#checkAuthorization(org.apache.pulsar.broker.PulsarService,org.apache.pulsar.common.naming.TopicName,java.lang.String,org.apache.pulsar.broker.authentication.AuthenticationDataSource)">checkAuthorization</a>, <a href="../../web/PulsarW [...]
+<code><a href="../../web/PulsarWebResource.html#bookieResources()">bookieResources</a>, <a href="../../web/PulsarWebResource.html#canUpdateCluster(java.lang.String,java.util.Set,java.util.Set)">canUpdateCluster</a>, <a href="../../web/PulsarWebResource.html#checkAuthorization(org.apache.pulsar.broker.PulsarService,org.apache.pulsar.common.naming.TopicName,java.lang.String,org.apache.pulsar.broker.authentication.AuthenticationDataSource)">checkAuthorization</a>, <a href="../../web/PulsarW [...]
 </ul>
 <ul class="blockList">
 <li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
diff --git a/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v2/WorkerStats.html b/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v2/WorkerStats.html
index 1771303..0e385ef 100644
--- a/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v2/WorkerStats.html
+++ b/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v2/WorkerStats.html
@@ -237,7 +237,7 @@ extends <a href="../AdminResource.html" title="class in org.apache.pulsar.broker
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.pulsar.broker.web.<a href="../../web/PulsarWebResource.html" title="class in org.apache.pulsar.broker.web">PulsarWebResource</a></h3>
-<code><a href="../../web/PulsarWebResource.html#bookieResources()">bookieResources</a>, <a href="../../web/PulsarWebResource.html#canUpdateCluster(java.lang.String,java.util.Set,java.util.Set)">canUpdateCluster</a>, <a href="../../web/PulsarWebResource.html#checkAuthorization(org.apache.pulsar.broker.PulsarService,org.apache.pulsar.common.naming.TopicName,java.lang.String,org.apache.pulsar.broker.authentication.AuthenticationDataSource)">checkAuthorization</a>, <a href="../../web/PulsarW [...]
+<code><a href="../../web/PulsarWebResource.html#bookieResources()">bookieResources</a>, <a href="../../web/PulsarWebResource.html#canUpdateCluster(java.lang.String,java.util.Set,java.util.Set)">canUpdateCluster</a>, <a href="../../web/PulsarWebResource.html#checkAuthorization(org.apache.pulsar.broker.PulsarService,org.apache.pulsar.common.naming.TopicName,java.lang.String,org.apache.pulsar.broker.authentication.AuthenticationDataSource)">checkAuthorization</a>, <a href="../../web/PulsarW [...]
 </ul>
 <ul class="blockList">
 <li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
diff --git a/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v3/Functions.html b/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v3/Functions.html
index 62d45e5..adbb025 100644
--- a/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v3/Functions.html
+++ b/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v3/Functions.html
@@ -222,7 +222,7 @@ extends <a href="../impl/FunctionsBase.html" title="class in org.apache.pulsar.b
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.pulsar.broker.web.<a href="../../web/PulsarWebResource.html" title="class in org.apache.pulsar.broker.web">PulsarWebResource</a></h3>
-<code><a href="../../web/PulsarWebResource.html#bookieResources()">bookieResources</a>, <a href="../../web/PulsarWebResource.html#canUpdateCluster(java.lang.String,java.util.Set,java.util.Set)">canUpdateCluster</a>, <a href="../../web/PulsarWebResource.html#checkAuthorization(org.apache.pulsar.broker.PulsarService,org.apache.pulsar.common.naming.TopicName,java.lang.String,org.apache.pulsar.broker.authentication.AuthenticationDataSource)">checkAuthorization</a>, <a href="../../web/PulsarW [...]
+<code><a href="../../web/PulsarWebResource.html#bookieResources()">bookieResources</a>, <a href="../../web/PulsarWebResource.html#canUpdateCluster(java.lang.String,java.util.Set,java.util.Set)">canUpdateCluster</a>, <a href="../../web/PulsarWebResource.html#checkAuthorization(org.apache.pulsar.broker.PulsarService,org.apache.pulsar.common.naming.TopicName,java.lang.String,org.apache.pulsar.broker.authentication.AuthenticationDataSource)">checkAuthorization</a>, <a href="../../web/PulsarW [...]
 </ul>
 <ul class="blockList">
 <li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
diff --git a/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v3/Packages.html b/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v3/Packages.html
index e32c582..cd9d6c8 100644
--- a/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v3/Packages.html
+++ b/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v3/Packages.html
@@ -305,7 +305,7 @@ extends <a href="../impl/PackagesBase.html" title="class in org.apache.pulsar.br
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.pulsar.broker.web.<a href="../../web/PulsarWebResource.html" title="class in org.apache.pulsar.broker.web">PulsarWebResource</a></h3>
-<code><a href="../../web/PulsarWebResource.html#bookieResources()">bookieResources</a>, <a href="../../web/PulsarWebResource.html#canUpdateCluster(java.lang.String,java.util.Set,java.util.Set)">canUpdateCluster</a>, <a href="../../web/PulsarWebResource.html#checkAuthorization(org.apache.pulsar.broker.PulsarService,org.apache.pulsar.common.naming.TopicName,java.lang.String,org.apache.pulsar.broker.authentication.AuthenticationDataSource)">checkAuthorization</a>, <a href="../../web/PulsarW [...]
+<code><a href="../../web/PulsarWebResource.html#bookieResources()">bookieResources</a>, <a href="../../web/PulsarWebResource.html#canUpdateCluster(java.lang.String,java.util.Set,java.util.Set)">canUpdateCluster</a>, <a href="../../web/PulsarWebResource.html#checkAuthorization(org.apache.pulsar.broker.PulsarService,org.apache.pulsar.common.naming.TopicName,java.lang.String,org.apache.pulsar.broker.authentication.AuthenticationDataSource)">checkAuthorization</a>, <a href="../../web/PulsarW [...]
 </ul>
 <ul class="blockList">
 <li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
diff --git a/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v3/Sink.html b/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v3/Sink.html
index fc786e0..321bd48 100644
--- a/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v3/Sink.html
+++ b/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v3/Sink.html
@@ -226,7 +226,7 @@ extends <a href="../impl/SinksBase.html" title="class in org.apache.pulsar.broke
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.pulsar.broker.web.<a href="../../web/PulsarWebResource.html" title="class in org.apache.pulsar.broker.web">PulsarWebResource</a></h3>
-<code><a href="../../web/PulsarWebResource.html#bookieResources()">bookieResources</a>, <a href="../../web/PulsarWebResource.html#canUpdateCluster(java.lang.String,java.util.Set,java.util.Set)">canUpdateCluster</a>, <a href="../../web/PulsarWebResource.html#checkAuthorization(org.apache.pulsar.broker.PulsarService,org.apache.pulsar.common.naming.TopicName,java.lang.String,org.apache.pulsar.broker.authentication.AuthenticationDataSource)">checkAuthorization</a>, <a href="../../web/PulsarW [...]
+<code><a href="../../web/PulsarWebResource.html#bookieResources()">bookieResources</a>, <a href="../../web/PulsarWebResource.html#canUpdateCluster(java.lang.String,java.util.Set,java.util.Set)">canUpdateCluster</a>, <a href="../../web/PulsarWebResource.html#checkAuthorization(org.apache.pulsar.broker.PulsarService,org.apache.pulsar.common.naming.TopicName,java.lang.String,org.apache.pulsar.broker.authentication.AuthenticationDataSource)">checkAuthorization</a>, <a href="../../web/PulsarW [...]
 </ul>
 <ul class="blockList">
 <li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
diff --git a/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v3/Sinks.html b/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v3/Sinks.html
index 77b1822..5df290e 100644
--- a/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v3/Sinks.html
+++ b/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v3/Sinks.html
@@ -222,7 +222,7 @@ extends <a href="../impl/SinksBase.html" title="class in org.apache.pulsar.broke
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.pulsar.broker.web.<a href="../../web/PulsarWebResource.html" title="class in org.apache.pulsar.broker.web">PulsarWebResource</a></h3>
-<code><a href="../../web/PulsarWebResource.html#bookieResources()">bookieResources</a>, <a href="../../web/PulsarWebResource.html#canUpdateCluster(java.lang.String,java.util.Set,java.util.Set)">canUpdateCluster</a>, <a href="../../web/PulsarWebResource.html#checkAuthorization(org.apache.pulsar.broker.PulsarService,org.apache.pulsar.common.naming.TopicName,java.lang.String,org.apache.pulsar.broker.authentication.AuthenticationDataSource)">checkAuthorization</a>, <a href="../../web/PulsarW [...]
+<code><a href="../../web/PulsarWebResource.html#bookieResources()">bookieResources</a>, <a href="../../web/PulsarWebResource.html#canUpdateCluster(java.lang.String,java.util.Set,java.util.Set)">canUpdateCluster</a>, <a href="../../web/PulsarWebResource.html#checkAuthorization(org.apache.pulsar.broker.PulsarService,org.apache.pulsar.common.naming.TopicName,java.lang.String,org.apache.pulsar.broker.authentication.AuthenticationDataSource)">checkAuthorization</a>, <a href="../../web/PulsarW [...]
 </ul>
 <ul class="blockList">
 <li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
diff --git a/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v3/Source.html b/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v3/Source.html
index 0ab6ccc..774abf6 100644
--- a/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v3/Source.html
+++ b/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v3/Source.html
@@ -226,7 +226,7 @@ extends <a href="../impl/SourcesBase.html" title="class in org.apache.pulsar.bro
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.pulsar.broker.web.<a href="../../web/PulsarWebResource.html" title="class in org.apache.pulsar.broker.web">PulsarWebResource</a></h3>
-<code><a href="../../web/PulsarWebResource.html#bookieResources()">bookieResources</a>, <a href="../../web/PulsarWebResource.html#canUpdateCluster(java.lang.String,java.util.Set,java.util.Set)">canUpdateCluster</a>, <a href="../../web/PulsarWebResource.html#checkAuthorization(org.apache.pulsar.broker.PulsarService,org.apache.pulsar.common.naming.TopicName,java.lang.String,org.apache.pulsar.broker.authentication.AuthenticationDataSource)">checkAuthorization</a>, <a href="../../web/PulsarW [...]
+<code><a href="../../web/PulsarWebResource.html#bookieResources()">bookieResources</a>, <a href="../../web/PulsarWebResource.html#canUpdateCluster(java.lang.String,java.util.Set,java.util.Set)">canUpdateCluster</a>, <a href="../../web/PulsarWebResource.html#checkAuthorization(org.apache.pulsar.broker.PulsarService,org.apache.pulsar.common.naming.TopicName,java.lang.String,org.apache.pulsar.broker.authentication.AuthenticationDataSource)">checkAuthorization</a>, <a href="../../web/PulsarW [...]
 </ul>
 <ul class="blockList">
 <li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
diff --git a/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v3/Sources.html b/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v3/Sources.html
index 7cb9b69..76a85d3 100644
--- a/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v3/Sources.html
+++ b/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v3/Sources.html
@@ -222,7 +222,7 @@ extends <a href="../impl/SourcesBase.html" title="class in org.apache.pulsar.bro
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.pulsar.broker.web.<a href="../../web/PulsarWebResource.html" title="class in org.apache.pulsar.broker.web">PulsarWebResource</a></h3>
-<code><a href="../../web/PulsarWebResource.html#bookieResources()">bookieResources</a>, <a href="../../web/PulsarWebResource.html#canUpdateCluster(java.lang.String,java.util.Set,java.util.Set)">canUpdateCluster</a>, <a href="../../web/PulsarWebResource.html#checkAuthorization(org.apache.pulsar.broker.PulsarService,org.apache.pulsar.common.naming.TopicName,java.lang.String,org.apache.pulsar.broker.authentication.AuthenticationDataSource)">checkAuthorization</a>, <a href="../../web/PulsarW [...]
+<code><a href="../../web/PulsarWebResource.html#bookieResources()">bookieResources</a>, <a href="../../web/PulsarWebResource.html#canUpdateCluster(java.lang.String,java.util.Set,java.util.Set)">canUpdateCluster</a>, <a href="../../web/PulsarWebResource.html#checkAuthorization(org.apache.pulsar.broker.PulsarService,org.apache.pulsar.common.naming.TopicName,java.lang.String,org.apache.pulsar.broker.authentication.AuthenticationDataSource)">checkAuthorization</a>, <a href="../../web/PulsarW [...]
 </ul>
 <ul class="blockList">
 <li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
diff --git a/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v3/Transactions.html b/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v3/Transactions.html
index 5a9e900..5a16211 100644
--- a/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v3/Transactions.html
+++ b/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/admin/v3/Transactions.html
@@ -320,7 +320,7 @@ extends <a href="../impl/TransactionsBase.html" title="class in org.apache.pulsa
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.pulsar.broker.web.<a href="../../web/PulsarWebResource.html" title="class in org.apache.pulsar.broker.web">PulsarWebResource</a></h3>
-<code><a href="../../web/PulsarWebResource.html#bookieResources()">bookieResources</a>, <a href="../../web/PulsarWebResource.html#canUpdateCluster(java.lang.String,java.util.Set,java.util.Set)">canUpdateCluster</a>, <a href="../../web/PulsarWebResource.html#checkAuthorization(org.apache.pulsar.broker.PulsarService,org.apache.pulsar.common.naming.TopicName,java.lang.String,org.apache.pulsar.broker.authentication.AuthenticationDataSource)">checkAuthorization</a>, <a href="../../web/PulsarW [...]
+<code><a href="../../web/PulsarWebResource.html#bookieResources()">bookieResources</a>, <a href="../../web/PulsarWebResource.html#canUpdateCluster(java.lang.String,java.util.Set,java.util.Set)">canUpdateCluster</a>, <a href="../../web/PulsarWebResource.html#checkAuthorization(org.apache.pulsar.broker.PulsarService,org.apache.pulsar.common.naming.TopicName,java.lang.String,org.apache.pulsar.broker.authentication.AuthenticationDataSource)">checkAuthorization</a>, <a href="../../web/PulsarW [...]
 </ul>
 <ul class="blockList">
 <li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
diff --git a/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/lookup/TopicLookupBase.html b/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/lookup/TopicLookupBase.html
index ec7f979..eed727f 100644
--- a/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/lookup/TopicLookupBase.html
+++ b/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/lookup/TopicLookupBase.html
@@ -261,7 +261,7 @@ extends <a href="../web/PulsarWebResource.html" title="class in org.apache.pulsa
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.pulsar.broker.web.<a href="../web/PulsarWebResource.html" title="class in org.apache.pulsar.broker.web">PulsarWebResource</a></h3>
-<code><a href="../web/PulsarWebResource.html#bookieResources()">bookieResources</a>, <a href="../web/PulsarWebResource.html#canUpdateCluster(java.lang.String,java.util.Set,java.util.Set)">canUpdateCluster</a>, <a href="../web/PulsarWebResource.html#checkAuthorization(org.apache.pulsar.broker.PulsarService,org.apache.pulsar.common.naming.TopicName,java.lang.String,org.apache.pulsar.broker.authentication.AuthenticationDataSource)">checkAuthorization</a>, <a href="../web/PulsarWebResource.h [...]
+<code><a href="../web/PulsarWebResource.html#bookieResources()">bookieResources</a>, <a href="../web/PulsarWebResource.html#canUpdateCluster(java.lang.String,java.util.Set,java.util.Set)">canUpdateCluster</a>, <a href="../web/PulsarWebResource.html#checkAuthorization(org.apache.pulsar.broker.PulsarService,org.apache.pulsar.common.naming.TopicName,java.lang.String,org.apache.pulsar.broker.authentication.AuthenticationDataSource)">checkAuthorization</a>, <a href="../web/PulsarWebResource.h [...]
 </ul>
 <ul class="blockList">
 <li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
diff --git a/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/lookup/v1/TopicLookup.html b/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/lookup/v1/TopicLookup.html
index b1efb21..d3b2aa6 100644
--- a/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/lookup/v1/TopicLookup.html
+++ b/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/lookup/v1/TopicLookup.html
@@ -245,7 +245,7 @@ extends <a href="../TopicLookupBase.html" title="class in org.apache.pulsar.brok
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.pulsar.broker.web.<a href="../../web/PulsarWebResource.html" title="class in org.apache.pulsar.broker.web">PulsarWebResource</a></h3>
-<code><a href="../../web/PulsarWebResource.html#bookieResources()">bookieResources</a>, <a href="../../web/PulsarWebResource.html#canUpdateCluster(java.lang.String,java.util.Set,java.util.Set)">canUpdateCluster</a>, <a href="../../web/PulsarWebResource.html#checkAuthorization(org.apache.pulsar.broker.PulsarService,org.apache.pulsar.common.naming.TopicName,java.lang.String,org.apache.pulsar.broker.authentication.AuthenticationDataSource)">checkAuthorization</a>, <a href="../../web/PulsarW [...]
+<code><a href="../../web/PulsarWebResource.html#bookieResources()">bookieResources</a>, <a href="../../web/PulsarWebResource.html#canUpdateCluster(java.lang.String,java.util.Set,java.util.Set)">canUpdateCluster</a>, <a href="../../web/PulsarWebResource.html#checkAuthorization(org.apache.pulsar.broker.PulsarService,org.apache.pulsar.common.naming.TopicName,java.lang.String,org.apache.pulsar.broker.authentication.AuthenticationDataSource)">checkAuthorization</a>, <a href="../../web/PulsarW [...]
 </ul>
 <ul class="blockList">
 <li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
diff --git a/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/lookup/v2/TopicLookup.html b/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/lookup/v2/TopicLookup.html
index e93c383..e7b1c90 100644
--- a/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/lookup/v2/TopicLookup.html
+++ b/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/lookup/v2/TopicLookup.html
@@ -235,7 +235,7 @@ extends <a href="../TopicLookupBase.html" title="class in org.apache.pulsar.brok
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.pulsar.broker.web.<a href="../../web/PulsarWebResource.html" title="class in org.apache.pulsar.broker.web">PulsarWebResource</a></h3>
-<code><a href="../../web/PulsarWebResource.html#bookieResources()">bookieResources</a>, <a href="../../web/PulsarWebResource.html#canUpdateCluster(java.lang.String,java.util.Set,java.util.Set)">canUpdateCluster</a>, <a href="../../web/PulsarWebResource.html#checkAuthorization(org.apache.pulsar.broker.PulsarService,org.apache.pulsar.common.naming.TopicName,java.lang.String,org.apache.pulsar.broker.authentication.AuthenticationDataSource)">checkAuthorization</a>, <a href="../../web/PulsarW [...]
+<code><a href="../../web/PulsarWebResource.html#bookieResources()">bookieResources</a>, <a href="../../web/PulsarWebResource.html#canUpdateCluster(java.lang.String,java.util.Set,java.util.Set)">canUpdateCluster</a>, <a href="../../web/PulsarWebResource.html#checkAuthorization(org.apache.pulsar.broker.PulsarService,org.apache.pulsar.common.naming.TopicName,java.lang.String,org.apache.pulsar.broker.authentication.AuthenticationDataSource)">checkAuthorization</a>, <a href="../../web/PulsarW [...]
 </ul>
 <ul class="blockList">
 <li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
diff --git a/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/rest/Topics.html b/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/rest/Topics.html
index c210a2c..3fe5535 100644
--- a/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/rest/Topics.html
+++ b/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/rest/Topics.html
@@ -290,7 +290,7 @@ extends <a href="TopicsBase.html" title="class in org.apache.pulsar.broker.rest"
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.pulsar.broker.web.<a href="../web/PulsarWebResource.html" title="class in org.apache.pulsar.broker.web">PulsarWebResource</a></h3>
-<code><a href="../web/PulsarWebResource.html#bookieResources()">bookieResources</a>, <a href="../web/PulsarWebResource.html#canUpdateCluster(java.lang.String,java.util.Set,java.util.Set)">canUpdateCluster</a>, <a href="../web/PulsarWebResource.html#checkAuthorization(org.apache.pulsar.broker.PulsarService,org.apache.pulsar.common.naming.TopicName,java.lang.String,org.apache.pulsar.broker.authentication.AuthenticationDataSource)">checkAuthorization</a>, <a href="../web/PulsarWebResource.h [...]
+<code><a href="../web/PulsarWebResource.html#bookieResources()">bookieResources</a>, <a href="../web/PulsarWebResource.html#canUpdateCluster(java.lang.String,java.util.Set,java.util.Set)">canUpdateCluster</a>, <a href="../web/PulsarWebResource.html#checkAuthorization(org.apache.pulsar.broker.PulsarService,org.apache.pulsar.common.naming.TopicName,java.lang.String,org.apache.pulsar.broker.authentication.AuthenticationDataSource)">checkAuthorization</a>, <a href="../web/PulsarWebResource.h [...]
 </ul>
 <ul class="blockList">
 <li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
diff --git a/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/rest/TopicsBase.html b/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/rest/TopicsBase.html
index 1f981c0..af991c4 100644
--- a/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/rest/TopicsBase.html
+++ b/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/rest/TopicsBase.html
@@ -263,7 +263,7 @@ extends <a href="../admin/impl/PersistentTopicsBase.html" title="class in org.ap
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.pulsar.broker.web.<a href="../web/PulsarWebResource.html" title="class in org.apache.pulsar.broker.web">PulsarWebResource</a></h3>
-<code><a href="../web/PulsarWebResource.html#bookieResources()">bookieResources</a>, <a href="../web/PulsarWebResource.html#canUpdateCluster(java.lang.String,java.util.Set,java.util.Set)">canUpdateCluster</a>, <a href="../web/PulsarWebResource.html#checkAuthorization(org.apache.pulsar.broker.PulsarService,org.apache.pulsar.common.naming.TopicName,java.lang.String,org.apache.pulsar.broker.authentication.AuthenticationDataSource)">checkAuthorization</a>, <a href="../web/PulsarWebResource.h [...]
+<code><a href="../web/PulsarWebResource.html#bookieResources()">bookieResources</a>, <a href="../web/PulsarWebResource.html#canUpdateCluster(java.lang.String,java.util.Set,java.util.Set)">canUpdateCluster</a>, <a href="../web/PulsarWebResource.html#checkAuthorization(org.apache.pulsar.broker.PulsarService,org.apache.pulsar.common.naming.TopicName,java.lang.String,org.apache.pulsar.broker.authentication.AuthenticationDataSource)">checkAuthorization</a>, <a href="../web/PulsarWebResource.h [...]
 </ul>
 <ul class="blockList">
 <li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
diff --git a/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/web/PulsarWebResource.html b/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/web/PulsarWebResource.html
index 53a9005..729cfc3 100644
--- a/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/web/PulsarWebResource.html
+++ b/content/api/pulsar-broker/2.10.0-SNAPSHOT/org/apache/pulsar/broker/web/PulsarWebResource.html
@@ -26,7 +26,7 @@
     catch(err) {
     }
 //-->
-var data = {"i0":10,"i1":10,"i2":9,"i3":9,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":9,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":9,"i17":10,"i18":9,"i19":10,"i20":9,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":9,"i28":10,"i29":10,"i30":10,"i31":9,"i32":10,"i33":10,"i34":10,"i35":10,"i36":10,"i37":10,"i38":10,"i39":10,"i40":10,"i41":10,"i42":10,"i43":10,"i44":10,"i45":10,"i46":10,"i47":10,"i48":10,"i49":10,"i50":10,"i51":10,"i52":10,"i53":10,"i54":10,"i5 [...]
+var data = {"i0":10,"i1":10,"i2":9,"i3":9,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":9,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":9,"i16":10,"i17":9,"i18":10,"i19":9,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":9,"i27":10,"i28":10,"i29":10,"i30":10,"i31":9,"i32":10,"i33":10,"i34":10,"i35":10,"i36":10,"i37":10,"i38":10,"i39":10,"i40":10,"i41":10,"i42":10,"i43":10,"i44":10,"i45":10,"i46":10,"i47":10,"i48":10,"i49":10,"i50":10,"i51":10,"i52":10,"i53":10,"i54":10,"i5 [...]
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -283,22 +283,16 @@ extends java.lang.Object</pre>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr id="i12" class="altColor">
-<td class="colFirst"><code>protected java.lang.Void</code></td>
-<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#handleCommonRestAsyncException(javax.ws.rs.container.AsyncResponse,java.lang.Throwable)">handleCommonRestAsyncException</a></span>&#8203;(javax.ws.rs.container.AsyncResponse&nbsp;asyncResponse,
-                              java.lang.Throwable&nbsp;ex)</code></th>
-<td class="colLast">&nbsp;</td>
-</tr>
-<tr id="i13" class="rowColor">
 <td class="colFirst"><code>protected java.util.concurrent.CompletableFuture&lt;java.lang.Void&gt;</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#hasActiveNamespace(java.lang.String)">hasActiveNamespace</a></span>&#8203;(java.lang.String&nbsp;tenant)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i14" class="altColor">
+<tr id="i13" class="rowColor">
 <td class="colFirst"><code>protected boolean</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#hasSuperUserAccess()">hasSuperUserAccess</a></span>()</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i15" class="rowColor">
+<tr id="i14" class="altColor">
 <td class="colFirst"><code>protected java.util.concurrent.CompletableFuture&lt;java.lang.Boolean&gt;</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isBundleOwnedByAnyBroker(org.apache.pulsar.common.naming.NamespaceName,org.apache.pulsar.common.policies.data.BundlesData,java.lang.String)">isBundleOwnedByAnyBroker</a></span>&#8203;(org.apache.pulsar.common.naming.NamespaceName&nbsp;fqnn,
                         org.apache.pulsar.common.policies.data.BundlesData&nbsp;bundles,
@@ -307,67 +301,72 @@ extends java.lang.Object</pre>
 <div class="block">Checks whether a given bundle is currently loaded by any broker.</div>
 </td>
 </tr>
-<tr id="i16" class="altColor">
+<tr id="i15" class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isClientAuthenticated(java.lang.String)">isClientAuthenticated</a></span>&#8203;(java.lang.String&nbsp;appId)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i17" class="rowColor">
+<tr id="i16" class="altColor">
 <td class="colFirst"><code>protected boolean</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isLeaderBroker()">isLeaderBroker</a></span>()</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i18" class="altColor">
+<tr id="i17" class="rowColor">
 <td class="colFirst"><code>protected static boolean</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isLeaderBroker(org.apache.pulsar.broker.PulsarService)">isLeaderBroker</a></span>&#8203;(<a href="../PulsarService.html" title="class in org.apache.pulsar.broker">PulsarService</a>&nbsp;pulsar)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i19" class="rowColor">
+<tr id="i18" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isRequestHttps()">isRequestHttps</a></span>()</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i20" class="altColor">
+<tr id="i19" class="rowColor">
 <td class="colFirst"><code>static com.fasterxml.jackson.databind.ObjectMapper</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#jsonMapper()">jsonMapper</a></span>()</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i21" class="rowColor">
+<tr id="i20" class="altColor">
 <td class="colFirst"><code>protected org.apache.pulsar.broker.resources.NamespaceResources.IsolationPolicyResources</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#namespaceIsolationPolicies()">namespaceIsolationPolicies</a></span>()</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i22" class="altColor">
+<tr id="i21" class="rowColor">
 <td class="colFirst"><code>protected org.apache.pulsar.broker.resources.NamespaceResources</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#namespaceResources()">namespaceResources</a></span>()</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i23" class="rowColor">
+<tr id="i22" class="altColor">
 <td class="colFirst"><code>java.lang.String</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#originalPrincipal()">originalPrincipal</a></span>()</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i24" class="altColor">
+<tr id="i23" class="rowColor">
 <td class="colFirst"><code>protected <a href="../PulsarService.html" title="class in org.apache.pulsar.broker">PulsarService</a></code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#pulsar()">pulsar</a></span>()</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i25" class="rowColor">
+<tr id="i24" class="altColor">
 <td class="colFirst"><code>protected org.apache.pulsar.broker.resources.ResourceGroupResources</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#resourceGroupResources()">resourceGroupResources</a></span>()</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i26" class="altColor">
+<tr id="i25" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setPulsar(org.apache.pulsar.broker.PulsarService)">setPulsar</a></span>&#8203;(<a href="../PulsarService.html" title="class in org.apache.pulsar.broker">PulsarService</a>&nbsp;pulsar)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i27" class="rowColor">
+<tr id="i26" class="altColor">
 <td class="colFirst"><code>static java.lang.String</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#splitPath(java.lang.String,int)">splitPath</a></span>&#8203;(java.lang.String&nbsp;source,
          int&nbsp;slice)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
+<tr id="i27" class="rowColor">
+<td class="colFirst"><code>&lt;T&gt;&nbsp;T</code></td>
+<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#sync(java.util.function.Supplier)">sync</a></span>&#8203;(java.util.function.Supplier&lt;java.util.concurrent.CompletableFuture&lt;T&gt;&gt;&nbsp;supplier)</code></th>
+<td class="colLast">&nbsp;</td>
+</tr>
 <tr id="i28" class="altColor">
 <td class="colFirst"><code>protected org.apache.pulsar.broker.resources.TenantResources</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#tenantResources()">tenantResources</a></span>()</code></th>
@@ -1327,14 +1326,13 @@ protected&nbsp;javax.ws.rs.core.UriInfo uri</pre>
                                                                                           java.lang.String&nbsp;subscription)</pre>
 </li>
 </ul>
-<a id="handleCommonRestAsyncException(javax.ws.rs.container.AsyncResponse,java.lang.Throwable)">
+<a id="sync(java.util.function.Supplier)">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>handleCommonRestAsyncException</h4>
-<pre class="methodSignature">protected&nbsp;java.lang.Void&nbsp;handleCommonRestAsyncException&#8203;(javax.ws.rs.container.AsyncResponse&nbsp;asyncResponse,
-                                                        java.lang.Throwable&nbsp;ex)</pre>
+<h4>sync</h4>
+<pre class="methodSignature">public&nbsp;&lt;T&gt;&nbsp;T&nbsp;sync&#8203;(java.util.function.Supplier&lt;java.util.concurrent.CompletableFuture&lt;T&gt;&gt;&nbsp;supplier)</pre>
 </li>
 </ul>
 </li>
diff --git a/content/api/pulsar-broker/2.10.0-SNAPSHOT/overview-summary.html b/content/api/pulsar-broker/2.10.0-SNAPSHOT/overview-summary.html
index 578a438..a3ff324 100644
--- a/content/api/pulsar-broker/2.10.0-SNAPSHOT/overview-summary.html
+++ b/content/api/pulsar-broker/2.10.0-SNAPSHOT/overview-summary.html
@@ -2,7 +2,7 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (11.0.11) on Mon Mar 28 00:16:45 UTC 2022 -->
+<!-- Generated by javadoc (11.0.11) on Mon Mar 28 18:57:05 UTC 2022 -->
 <title>Pulsar Broker 2.10.0-SNAPSHOT API</title>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 <script type="text/javascript">window.location.replace('index.html')</script>
diff --git a/content/api/pulsar-broker/2.10.0-SNAPSHOT/package-search-index.zip b/content/api/pulsar-broker/2.10.0-SNAPSHOT/package-search-index.zip
index f9c19ad..63039af 100644
Binary files a/content/api/pulsar-broker/2.10.0-SNAPSHOT/package-search-index.zip and b/content/api/pulsar-broker/2.10.0-SNAPSHOT/package-search-index.zip differ
diff --git a/content/api/pulsar-broker/2.10.0-SNAPSHOT/type-search-index.zip b/content/api/pulsar-broker/2.10.0-SNAPSHOT/type-search-index.zip
index 9732774..5cdeefd 100644
Binary files a/content/api/pulsar-broker/2.10.0-SNAPSHOT/type-search-index.zip and b/content/api/pulsar-broker/2.10.0-SNAPSHOT/type-search-index.zip differ
diff --git a/content/api/pulsar-functions/2.10.0-SNAPSHOT/member-search-index.zip b/content/api/pulsar-functions/2.10.0-SNAPSHOT/member-search-index.zip
index 66424ad..f24f6f6 100644
Binary files a/content/api/pulsar-functions/2.10.0-SNAPSHOT/member-search-index.zip and b/content/api/pulsar-functions/2.10.0-SNAPSHOT/member-search-index.zip differ
diff --git a/content/api/pulsar-functions/2.10.0-SNAPSHOT/overview-summary.html b/content/api/pulsar-functions/2.10.0-SNAPSHOT/overview-summary.html
index 6c3b783..f34d179 100644
--- a/content/api/pulsar-functions/2.10.0-SNAPSHOT/overview-summary.html
+++ b/content/api/pulsar-functions/2.10.0-SNAPSHOT/overview-summary.html
@@ -2,7 +2,7 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (11.0.11) on Mon Mar 28 00:16:34 UTC 2022 -->
+<!-- Generated by javadoc (11.0.11) on Mon Mar 28 18:56:50 UTC 2022 -->
 <title>Pulsar Functions :: API 2.10.0-SNAPSHOT API</title>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 <script type="text/javascript">window.location.replace('index.html')</script>
diff --git a/content/api/pulsar-functions/2.10.0-SNAPSHOT/package-search-index.zip b/content/api/pulsar-functions/2.10.0-SNAPSHOT/package-search-index.zip
index 3e55d38..a02e401 100644
Binary files a/content/api/pulsar-functions/2.10.0-SNAPSHOT/package-search-index.zip and b/content/api/pulsar-functions/2.10.0-SNAPSHOT/package-search-index.zip differ
diff --git a/content/api/pulsar-functions/2.10.0-SNAPSHOT/type-search-index.zip b/content/api/pulsar-functions/2.10.0-SNAPSHOT/type-search-index.zip
index ee881da..1e23cc0 100644
Binary files a/content/api/pulsar-functions/2.10.0-SNAPSHOT/type-search-index.zip and b/content/api/pulsar-functions/2.10.0-SNAPSHOT/type-search-index.zip differ
diff --git a/content/docs/zh-CN/2.1.0-incubating/reference-configuration.html b/content/docs/zh-CN/2.1.0-incubating/reference-configuration.html
index 7f7e27a..4dbbb09 100644
--- a/content/docs/zh-CN/2.1.0-incubating/reference-configuration.html
+++ b/content/docs/zh-CN/2.1.0-incubating/reference-configuration.html
@@ -140,7 +140,7 @@
 <tr><td>pageSize</td><td>Ledger 缓存中索引页的大小,是以字节为单位。一个大的索引页可以改善将页写入磁盘的性能。当你有少量有 ledger 并且这些 ledger 有着相似数量的条目时,会很高效。 如果你有大量的 ledger,而每个 ledger 都有较少的条目,较小的索引页面将会提高内存使用率。</td><td>8192</td></tr>
 <tr><td>pageLimit</td><td>在 ledger 缓存中提供多少索引页面。如果索引页面数量达到此限制,bookie 服务器会开始将一些 ledger 从内存交换到磁盘。 当你发现交换变得更频繁时,可以增加这个值。 但请确认 pageLimit*page 的大小不应超过 JVM 最大内存限制,否则你将会得到 OutOfMemoryException。 一般来说,增加pageLimit,使用较小的索引页会在条目较少的大账本中获得更好的性能。 如果pageLimit为-1,bookie服务将根据1/3的JVM内存来计算索引页的数量限制。</td><td>0</td></tr>
 <tr><td>readOnlyModeEnabled</td><td>如果所有已配置的 ledger 目录已满,则只支持客户的读取请求。 如果 “readOnlyModeEnabled=true” 那么当所有的 ledger 磁盘满时,bookie 会被转换为只读模式并只处理读请求。 否则 bookie 将被关闭。 默认情况下,这会被禁用。</td><td>true</td></tr>
-<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 If all ledger dir partitions are full, then bookie will turn to readonly mode if ‘readOnlyModeEnabled=true’ is set, else it will shutdown. 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
+<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 如果所有的ledger目录分区都满了,那么如果设置了'readOnlyModeEnabled=true',bookie将转为只读模式,否则它将关闭。 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
 <tr><td>diskCheckInterval</td><td>磁盘检查间隔,以毫秒为单位,检查 ledger 目录使用情况的时间间隔。</td><td>10000</td></tr>
 <tr><td>auditorPeriodicCheckInterval</td><td>审查者对集群内所有 ledger 进行核对的时间间隔。 默认情况下,每周运行一次。 间隔以秒为单位。 要完全禁用定期检查,请将此设置为 0。 请注意,定期检查会给集群带来额外的负荷,因此每天的运行次数不应超过一次。</td><td>604800</td></tr>
 <tr><td>auditorPeriodicBookieCheckInterval</td><td>审查者 bookie 检查的时间间隔。 审查者 bookie 检查,检查 ledger 的元数据来查看哪些 bookie 应该包含各个 ledger 的条目。 如果本应包含条目的 bookie 不可用,包含该条目的 ledger 会被标记去做恢复。 设置为 0 会禁用定期检查。 当 bookie 失效时,bookie 检查仍然会进行。 间隔以秒为单位。</td><td>86400</td></tr>
diff --git a/content/docs/zh-CN/2.1.0-incubating/reference-configuration/index.html b/content/docs/zh-CN/2.1.0-incubating/reference-configuration/index.html
index 7f7e27a..4dbbb09 100644
--- a/content/docs/zh-CN/2.1.0-incubating/reference-configuration/index.html
+++ b/content/docs/zh-CN/2.1.0-incubating/reference-configuration/index.html
@@ -140,7 +140,7 @@
 <tr><td>pageSize</td><td>Ledger 缓存中索引页的大小,是以字节为单位。一个大的索引页可以改善将页写入磁盘的性能。当你有少量有 ledger 并且这些 ledger 有着相似数量的条目时,会很高效。 如果你有大量的 ledger,而每个 ledger 都有较少的条目,较小的索引页面将会提高内存使用率。</td><td>8192</td></tr>
 <tr><td>pageLimit</td><td>在 ledger 缓存中提供多少索引页面。如果索引页面数量达到此限制,bookie 服务器会开始将一些 ledger 从内存交换到磁盘。 当你发现交换变得更频繁时,可以增加这个值。 但请确认 pageLimit*page 的大小不应超过 JVM 最大内存限制,否则你将会得到 OutOfMemoryException。 一般来说,增加pageLimit,使用较小的索引页会在条目较少的大账本中获得更好的性能。 如果pageLimit为-1,bookie服务将根据1/3的JVM内存来计算索引页的数量限制。</td><td>0</td></tr>
 <tr><td>readOnlyModeEnabled</td><td>如果所有已配置的 ledger 目录已满,则只支持客户的读取请求。 如果 “readOnlyModeEnabled=true” 那么当所有的 ledger 磁盘满时,bookie 会被转换为只读模式并只处理读请求。 否则 bookie 将被关闭。 默认情况下,这会被禁用。</td><td>true</td></tr>
-<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 If all ledger dir partitions are full, then bookie will turn to readonly mode if ‘readOnlyModeEnabled=true’ is set, else it will shutdown. 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
+<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 如果所有的ledger目录分区都满了,那么如果设置了'readOnlyModeEnabled=true',bookie将转为只读模式,否则它将关闭。 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
 <tr><td>diskCheckInterval</td><td>磁盘检查间隔,以毫秒为单位,检查 ledger 目录使用情况的时间间隔。</td><td>10000</td></tr>
 <tr><td>auditorPeriodicCheckInterval</td><td>审查者对集群内所有 ledger 进行核对的时间间隔。 默认情况下,每周运行一次。 间隔以秒为单位。 要完全禁用定期检查,请将此设置为 0。 请注意,定期检查会给集群带来额外的负荷,因此每天的运行次数不应超过一次。</td><td>604800</td></tr>
 <tr><td>auditorPeriodicBookieCheckInterval</td><td>审查者 bookie 检查的时间间隔。 审查者 bookie 检查,检查 ledger 的元数据来查看哪些 bookie 应该包含各个 ledger 的条目。 如果本应包含条目的 bookie 不可用,包含该条目的 ledger 会被标记去做恢复。 设置为 0 会禁用定期检查。 当 bookie 失效时,bookie 检查仍然会进行。 间隔以秒为单位。</td><td>86400</td></tr>
diff --git a/content/docs/zh-CN/2.1.1-incubating/reference-configuration.html b/content/docs/zh-CN/2.1.1-incubating/reference-configuration.html
index 7276aed..40ff64b 100644
--- a/content/docs/zh-CN/2.1.1-incubating/reference-configuration.html
+++ b/content/docs/zh-CN/2.1.1-incubating/reference-configuration.html
@@ -140,7 +140,7 @@
 <tr><td>pageSize</td><td>Ledger 缓存中索引页的大小,是以字节为单位。一个大的索引页可以改善将页写入磁盘的性能。当你有少量有 ledger 并且这些 ledger 有着相似数量的条目时,会很高效。 如果你有大量的 ledger,而每个 ledger 都有较少的条目,较小的索引页面将会提高内存使用率。</td><td>8192</td></tr>
 <tr><td>pageLimit</td><td>在 ledger 缓存中提供多少索引页面。如果索引页面数量达到此限制,bookie 服务器会开始将一些 ledger 从内存交换到磁盘。 当你发现交换变得更频繁时,可以增加这个值。 但请确认 pageLimit*page 的大小不应超过 JVM 最大内存限制,否则你将会得到 OutOfMemoryException。 一般来说,增加pageLimit,使用较小的索引页会在条目较少的大账本中获得更好的性能。 如果pageLimit为-1,bookie服务将根据1/3的JVM内存来计算索引页的数量限制。</td><td>0</td></tr>
 <tr><td>readOnlyModeEnabled</td><td>如果所有已配置的 ledger 目录已满,则只支持客户的读取请求。 如果 “readOnlyModeEnabled=true” 那么当所有的 ledger 磁盘满时,bookie 会被转换为只读模式并只处理读请求。 否则 bookie 将被关闭。 默认情况下,这会被禁用。</td><td>true</td></tr>
-<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 If all ledger dir partitions are full, then bookie will turn to readonly mode if ‘readOnlyModeEnabled=true’ is set, else it will shutdown. 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
+<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 如果所有的ledger目录分区都满了,那么如果设置了'readOnlyModeEnabled=true',bookie将转为只读模式,否则它将关闭。 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
 <tr><td>diskCheckInterval</td><td>磁盘检查间隔,以毫秒为单位,检查 ledger 目录使用情况的时间间隔。</td><td>10000</td></tr>
 <tr><td>auditorPeriodicCheckInterval</td><td>审查者对集群内所有 ledger 进行核对的时间间隔。 默认情况下,每周运行一次。 间隔以秒为单位。 要完全禁用定期检查,请将此设置为 0。 请注意,定期检查会给集群带来额外的负荷,因此每天的运行次数不应超过一次。</td><td>604800</td></tr>
 <tr><td>auditorPeriodicBookieCheckInterval</td><td>审查者 bookie 检查的时间间隔。 审查者 bookie 检查,检查 ledger 的元数据来查看哪些 bookie 应该包含各个 ledger 的条目。 如果本应包含条目的 bookie 不可用,包含该条目的 ledger 会被标记去做恢复。 设置为 0 会禁用定期检查。 当 bookie 失效时,bookie 检查仍然会进行。 间隔以秒为单位。</td><td>86400</td></tr>
diff --git a/content/docs/zh-CN/2.1.1-incubating/reference-configuration/index.html b/content/docs/zh-CN/2.1.1-incubating/reference-configuration/index.html
index 7276aed..40ff64b 100644
--- a/content/docs/zh-CN/2.1.1-incubating/reference-configuration/index.html
+++ b/content/docs/zh-CN/2.1.1-incubating/reference-configuration/index.html
@@ -140,7 +140,7 @@
 <tr><td>pageSize</td><td>Ledger 缓存中索引页的大小,是以字节为单位。一个大的索引页可以改善将页写入磁盘的性能。当你有少量有 ledger 并且这些 ledger 有着相似数量的条目时,会很高效。 如果你有大量的 ledger,而每个 ledger 都有较少的条目,较小的索引页面将会提高内存使用率。</td><td>8192</td></tr>
 <tr><td>pageLimit</td><td>在 ledger 缓存中提供多少索引页面。如果索引页面数量达到此限制,bookie 服务器会开始将一些 ledger 从内存交换到磁盘。 当你发现交换变得更频繁时,可以增加这个值。 但请确认 pageLimit*page 的大小不应超过 JVM 最大内存限制,否则你将会得到 OutOfMemoryException。 一般来说,增加pageLimit,使用较小的索引页会在条目较少的大账本中获得更好的性能。 如果pageLimit为-1,bookie服务将根据1/3的JVM内存来计算索引页的数量限制。</td><td>0</td></tr>
 <tr><td>readOnlyModeEnabled</td><td>如果所有已配置的 ledger 目录已满,则只支持客户的读取请求。 如果 “readOnlyModeEnabled=true” 那么当所有的 ledger 磁盘满时,bookie 会被转换为只读模式并只处理读请求。 否则 bookie 将被关闭。 默认情况下,这会被禁用。</td><td>true</td></tr>
-<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 If all ledger dir partitions are full, then bookie will turn to readonly mode if ‘readOnlyModeEnabled=true’ is set, else it will shutdown. 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
+<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 如果所有的ledger目录分区都满了,那么如果设置了'readOnlyModeEnabled=true',bookie将转为只读模式,否则它将关闭。 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
 <tr><td>diskCheckInterval</td><td>磁盘检查间隔,以毫秒为单位,检查 ledger 目录使用情况的时间间隔。</td><td>10000</td></tr>
 <tr><td>auditorPeriodicCheckInterval</td><td>审查者对集群内所有 ledger 进行核对的时间间隔。 默认情况下,每周运行一次。 间隔以秒为单位。 要完全禁用定期检查,请将此设置为 0。 请注意,定期检查会给集群带来额外的负荷,因此每天的运行次数不应超过一次。</td><td>604800</td></tr>
 <tr><td>auditorPeriodicBookieCheckInterval</td><td>审查者 bookie 检查的时间间隔。 审查者 bookie 检查,检查 ledger 的元数据来查看哪些 bookie 应该包含各个 ledger 的条目。 如果本应包含条目的 bookie 不可用,包含该条目的 ledger 会被标记去做恢复。 设置为 0 会禁用定期检查。 当 bookie 失效时,bookie 检查仍然会进行。 间隔以秒为单位。</td><td>86400</td></tr>
diff --git a/content/docs/zh-CN/2.2.0/reference-configuration.html b/content/docs/zh-CN/2.2.0/reference-configuration.html
index 90be76f..9f9097f 100644
--- a/content/docs/zh-CN/2.2.0/reference-configuration.html
+++ b/content/docs/zh-CN/2.2.0/reference-configuration.html
@@ -140,7 +140,7 @@
 <tr><td>pageSize</td><td>Ledger 缓存中索引页的大小,是以字节为单位。一个大的索引页可以改善将页写入磁盘的性能。当你有少量有 ledger 并且这些 ledger 有着相似数量的条目时,会很高效。 如果你有大量的 ledger,而每个 ledger 都有较少的条目,较小的索引页面将会提高内存使用率。</td><td>8192</td></tr>
 <tr><td>pageLimit</td><td>在 ledger 缓存中提供多少索引页面。如果索引页面数量达到此限制,bookie 服务器会开始将一些 ledger 从内存交换到磁盘。 当你发现交换变得更频繁时,可以增加这个值。 但请确认 pageLimit*page 的大小不应超过 JVM 最大内存限制,否则你将会得到 OutOfMemoryException。 一般来说,增加pageLimit,使用较小的索引页会在条目较少的大账本中获得更好的性能。 如果pageLimit为-1,bookie服务将根据1/3的JVM内存来计算索引页的数量限制。</td><td>0</td></tr>
 <tr><td>readOnlyModeEnabled</td><td>如果所有已配置的 ledger 目录已满,则只支持客户的读取请求。 如果 “readOnlyModeEnabled=true” 那么当所有的 ledger 磁盘满时,bookie 会被转换为只读模式并只处理读请求。 否则 bookie 将被关闭。 默认情况下,这会被禁用。</td><td>true</td></tr>
-<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 If all ledger dir partitions are full, then bookie will turn to readonly mode if ‘readOnlyModeEnabled=true’ is set, else it will shutdown. 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
+<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 如果所有的ledger目录分区都满了,那么如果设置了'readOnlyModeEnabled=true',bookie将转为只读模式,否则它将关闭。 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
 <tr><td>diskCheckInterval</td><td>磁盘检查间隔,以毫秒为单位,检查 ledger 目录使用情况的时间间隔。</td><td>10000</td></tr>
 <tr><td>auditorPeriodicCheckInterval</td><td>审查者对集群内所有 ledger 进行核对的时间间隔。 默认情况下,每周运行一次。 间隔以秒为单位。 要完全禁用定期检查,请将此设置为 0。 请注意,定期检查会给集群带来额外的负荷,因此每天的运行次数不应超过一次。</td><td>604800</td></tr>
 <tr><td>auditorPeriodicBookieCheckInterval</td><td>审查者 bookie 检查的时间间隔。 审查者 bookie 检查,检查 ledger 的元数据来查看哪些 bookie 应该包含各个 ledger 的条目。 如果本应包含条目的 bookie 不可用,包含该条目的 ledger 会被标记去做恢复。 设置为 0 会禁用定期检查。 当 bookie 失效时,bookie 检查仍然会进行。 间隔以秒为单位。</td><td>86400</td></tr>
diff --git a/content/docs/zh-CN/2.2.0/reference-configuration/index.html b/content/docs/zh-CN/2.2.0/reference-configuration/index.html
index 90be76f..9f9097f 100644
--- a/content/docs/zh-CN/2.2.0/reference-configuration/index.html
+++ b/content/docs/zh-CN/2.2.0/reference-configuration/index.html
@@ -140,7 +140,7 @@
 <tr><td>pageSize</td><td>Ledger 缓存中索引页的大小,是以字节为单位。一个大的索引页可以改善将页写入磁盘的性能。当你有少量有 ledger 并且这些 ledger 有着相似数量的条目时,会很高效。 如果你有大量的 ledger,而每个 ledger 都有较少的条目,较小的索引页面将会提高内存使用率。</td><td>8192</td></tr>
 <tr><td>pageLimit</td><td>在 ledger 缓存中提供多少索引页面。如果索引页面数量达到此限制,bookie 服务器会开始将一些 ledger 从内存交换到磁盘。 当你发现交换变得更频繁时,可以增加这个值。 但请确认 pageLimit*page 的大小不应超过 JVM 最大内存限制,否则你将会得到 OutOfMemoryException。 一般来说,增加pageLimit,使用较小的索引页会在条目较少的大账本中获得更好的性能。 如果pageLimit为-1,bookie服务将根据1/3的JVM内存来计算索引页的数量限制。</td><td>0</td></tr>
 <tr><td>readOnlyModeEnabled</td><td>如果所有已配置的 ledger 目录已满,则只支持客户的读取请求。 如果 “readOnlyModeEnabled=true” 那么当所有的 ledger 磁盘满时,bookie 会被转换为只读模式并只处理读请求。 否则 bookie 将被关闭。 默认情况下,这会被禁用。</td><td>true</td></tr>
-<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 If all ledger dir partitions are full, then bookie will turn to readonly mode if ‘readOnlyModeEnabled=true’ is set, else it will shutdown. 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
+<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 如果所有的ledger目录分区都满了,那么如果设置了'readOnlyModeEnabled=true',bookie将转为只读模式,否则它将关闭。 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
 <tr><td>diskCheckInterval</td><td>磁盘检查间隔,以毫秒为单位,检查 ledger 目录使用情况的时间间隔。</td><td>10000</td></tr>
 <tr><td>auditorPeriodicCheckInterval</td><td>审查者对集群内所有 ledger 进行核对的时间间隔。 默认情况下,每周运行一次。 间隔以秒为单位。 要完全禁用定期检查,请将此设置为 0。 请注意,定期检查会给集群带来额外的负荷,因此每天的运行次数不应超过一次。</td><td>604800</td></tr>
 <tr><td>auditorPeriodicBookieCheckInterval</td><td>审查者 bookie 检查的时间间隔。 审查者 bookie 检查,检查 ledger 的元数据来查看哪些 bookie 应该包含各个 ledger 的条目。 如果本应包含条目的 bookie 不可用,包含该条目的 ledger 会被标记去做恢复。 设置为 0 会禁用定期检查。 当 bookie 失效时,bookie 检查仍然会进行。 间隔以秒为单位。</td><td>86400</td></tr>
diff --git a/content/docs/zh-CN/2.2.1/reference-configuration.html b/content/docs/zh-CN/2.2.1/reference-configuration.html
index 93f57a8..b3d2d64 100644
--- a/content/docs/zh-CN/2.2.1/reference-configuration.html
+++ b/content/docs/zh-CN/2.2.1/reference-configuration.html
@@ -140,7 +140,7 @@
 <tr><td>pageSize</td><td>Ledger 缓存中索引页的大小,是以字节为单位。一个大的索引页可以改善将页写入磁盘的性能。当你有少量有 ledger 并且这些 ledger 有着相似数量的条目时,会很高效。 如果你有大量的 ledger,而每个 ledger 都有较少的条目,较小的索引页面将会提高内存使用率。</td><td>8192</td></tr>
 <tr><td>pageLimit</td><td>在 ledger 缓存中提供多少索引页面。如果索引页面数量达到此限制,bookie 服务器会开始将一些 ledger 从内存交换到磁盘。 当你发现交换变得更频繁时,可以增加这个值。 但请确认 pageLimit*page 的大小不应超过 JVM 最大内存限制,否则你将会得到 OutOfMemoryException。 一般来说,增加pageLimit,使用较小的索引页会在条目较少的大账本中获得更好的性能。 如果pageLimit为-1,bookie服务将根据1/3的JVM内存来计算索引页的数量限制。</td><td>0</td></tr>
 <tr><td>readOnlyModeEnabled</td><td>如果所有已配置的 ledger 目录已满,则只支持客户的读取请求。 如果 “readOnlyModeEnabled=true” 那么当所有的 ledger 磁盘满时,bookie 会被转换为只读模式并只处理读请求。 否则 bookie 将被关闭。 默认情况下,这会被禁用。</td><td>true</td></tr>
-<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 If all ledger dir partitions are full, then bookie will turn to readonly mode if ‘readOnlyModeEnabled=true’ is set, else it will shutdown. 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
+<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 如果所有的ledger目录分区都满了,那么如果设置了'readOnlyModeEnabled=true',bookie将转为只读模式,否则它将关闭。 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
 <tr><td>diskCheckInterval</td><td>磁盘检查间隔,以毫秒为单位,检查 ledger 目录使用情况的时间间隔。</td><td>10000</td></tr>
 <tr><td>auditorPeriodicCheckInterval</td><td>审查者对集群内所有 ledger 进行核对的时间间隔。 默认情况下,每周运行一次。 间隔以秒为单位。 要完全禁用定期检查,请将此设置为 0。 请注意,定期检查会给集群带来额外的负荷,因此每天的运行次数不应超过一次。</td><td>604800</td></tr>
 <tr><td>auditorPeriodicBookieCheckInterval</td><td>审查者 bookie 检查的时间间隔。 审查者 bookie 检查,检查 ledger 的元数据来查看哪些 bookie 应该包含各个 ledger 的条目。 如果本应包含条目的 bookie 不可用,包含该条目的 ledger 会被标记去做恢复。 设置为 0 会禁用定期检查。 当 bookie 失效时,bookie 检查仍然会进行。 间隔以秒为单位。</td><td>86400</td></tr>
diff --git a/content/docs/zh-CN/2.2.1/reference-configuration/index.html b/content/docs/zh-CN/2.2.1/reference-configuration/index.html
index 93f57a8..b3d2d64 100644
--- a/content/docs/zh-CN/2.2.1/reference-configuration/index.html
+++ b/content/docs/zh-CN/2.2.1/reference-configuration/index.html
@@ -140,7 +140,7 @@
 <tr><td>pageSize</td><td>Ledger 缓存中索引页的大小,是以字节为单位。一个大的索引页可以改善将页写入磁盘的性能。当你有少量有 ledger 并且这些 ledger 有着相似数量的条目时,会很高效。 如果你有大量的 ledger,而每个 ledger 都有较少的条目,较小的索引页面将会提高内存使用率。</td><td>8192</td></tr>
 <tr><td>pageLimit</td><td>在 ledger 缓存中提供多少索引页面。如果索引页面数量达到此限制,bookie 服务器会开始将一些 ledger 从内存交换到磁盘。 当你发现交换变得更频繁时,可以增加这个值。 但请确认 pageLimit*page 的大小不应超过 JVM 最大内存限制,否则你将会得到 OutOfMemoryException。 一般来说,增加pageLimit,使用较小的索引页会在条目较少的大账本中获得更好的性能。 如果pageLimit为-1,bookie服务将根据1/3的JVM内存来计算索引页的数量限制。</td><td>0</td></tr>
 <tr><td>readOnlyModeEnabled</td><td>如果所有已配置的 ledger 目录已满,则只支持客户的读取请求。 如果 “readOnlyModeEnabled=true” 那么当所有的 ledger 磁盘满时,bookie 会被转换为只读模式并只处理读请求。 否则 bookie 将被关闭。 默认情况下,这会被禁用。</td><td>true</td></tr>
-<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 If all ledger dir partitions are full, then bookie will turn to readonly mode if ‘readOnlyModeEnabled=true’ is set, else it will shutdown. 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
+<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 如果所有的ledger目录分区都满了,那么如果设置了'readOnlyModeEnabled=true',bookie将转为只读模式,否则它将关闭。 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
 <tr><td>diskCheckInterval</td><td>磁盘检查间隔,以毫秒为单位,检查 ledger 目录使用情况的时间间隔。</td><td>10000</td></tr>
 <tr><td>auditorPeriodicCheckInterval</td><td>审查者对集群内所有 ledger 进行核对的时间间隔。 默认情况下,每周运行一次。 间隔以秒为单位。 要完全禁用定期检查,请将此设置为 0。 请注意,定期检查会给集群带来额外的负荷,因此每天的运行次数不应超过一次。</td><td>604800</td></tr>
 <tr><td>auditorPeriodicBookieCheckInterval</td><td>审查者 bookie 检查的时间间隔。 审查者 bookie 检查,检查 ledger 的元数据来查看哪些 bookie 应该包含各个 ledger 的条目。 如果本应包含条目的 bookie 不可用,包含该条目的 ledger 会被标记去做恢复。 设置为 0 会禁用定期检查。 当 bookie 失效时,bookie 检查仍然会进行。 间隔以秒为单位。</td><td>86400</td></tr>
diff --git a/content/docs/zh-CN/2.3.0/reference-configuration.html b/content/docs/zh-CN/2.3.0/reference-configuration.html
index 17992f1..1a0ea2d 100644
--- a/content/docs/zh-CN/2.3.0/reference-configuration.html
+++ b/content/docs/zh-CN/2.3.0/reference-configuration.html
@@ -140,7 +140,7 @@
 <tr><td>pageSize</td><td>Ledger 缓存中索引页的大小,是以字节为单位。一个大的索引页可以改善将页写入磁盘的性能。当你有少量有 ledger 并且这些 ledger 有着相似数量的条目时,会很高效。 如果你有大量的 ledger,而每个 ledger 都有较少的条目,较小的索引页面将会提高内存使用率。</td><td>8192</td></tr>
 <tr><td>pageLimit</td><td>在 ledger 缓存中提供多少索引页面。如果索引页面数量达到此限制,bookie 服务器会开始将一些 ledger 从内存交换到磁盘。 当你发现交换变得更频繁时,可以增加这个值。 但请确认 pageLimit*page 的大小不应超过 JVM 最大内存限制,否则你将会得到 OutOfMemoryException。 一般来说,增加pageLimit,使用较小的索引页会在条目较少的大账本中获得更好的性能。 如果pageLimit为-1,bookie服务将根据1/3的JVM内存来计算索引页的数量限制。</td><td>0</td></tr>
 <tr><td>readOnlyModeEnabled</td><td>如果所有已配置的 ledger 目录已满,则只支持客户的读取请求。 如果 “readOnlyModeEnabled=true” 那么当所有的 ledger 磁盘满时,bookie 会被转换为只读模式并只处理读请求。 否则 bookie 将被关闭。 默认情况下,这会被禁用。</td><td>true</td></tr>
-<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 If all ledger dir partitions are full, then bookie will turn to readonly mode if ‘readOnlyModeEnabled=true’ is set, else it will shutdown. 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
+<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 如果所有的ledger目录分区都满了,那么如果设置了'readOnlyModeEnabled=true',bookie将转为只读模式,否则它将关闭。 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
 <tr><td>diskCheckInterval</td><td>磁盘检查间隔,以毫秒为单位,检查 ledger 目录使用情况的时间间隔。</td><td>10000</td></tr>
 <tr><td>auditorPeriodicCheckInterval</td><td>审查者对集群内所有 ledger 进行核对的时间间隔。 默认情况下,每周运行一次。 间隔以秒为单位。 要完全禁用定期检查,请将此设置为 0。 请注意,定期检查会给集群带来额外的负荷,因此每天的运行次数不应超过一次。</td><td>604800</td></tr>
 <tr><td>auditorPeriodicBookieCheckInterval</td><td>审查者 bookie 检查的时间间隔。 审查者 bookie 检查,检查 ledger 的元数据来查看哪些 bookie 应该包含各个 ledger 的条目。 如果本应包含条目的 bookie 不可用,包含该条目的 ledger 会被标记去做恢复。 设置为 0 会禁用定期检查。 当 bookie 失效时,bookie 检查仍然会进行。 间隔以秒为单位。</td><td>86400</td></tr>
diff --git a/content/docs/zh-CN/2.3.0/reference-configuration/index.html b/content/docs/zh-CN/2.3.0/reference-configuration/index.html
index 17992f1..1a0ea2d 100644
--- a/content/docs/zh-CN/2.3.0/reference-configuration/index.html
+++ b/content/docs/zh-CN/2.3.0/reference-configuration/index.html
@@ -140,7 +140,7 @@
 <tr><td>pageSize</td><td>Ledger 缓存中索引页的大小,是以字节为单位。一个大的索引页可以改善将页写入磁盘的性能。当你有少量有 ledger 并且这些 ledger 有着相似数量的条目时,会很高效。 如果你有大量的 ledger,而每个 ledger 都有较少的条目,较小的索引页面将会提高内存使用率。</td><td>8192</td></tr>
 <tr><td>pageLimit</td><td>在 ledger 缓存中提供多少索引页面。如果索引页面数量达到此限制,bookie 服务器会开始将一些 ledger 从内存交换到磁盘。 当你发现交换变得更频繁时,可以增加这个值。 但请确认 pageLimit*page 的大小不应超过 JVM 最大内存限制,否则你将会得到 OutOfMemoryException。 一般来说,增加pageLimit,使用较小的索引页会在条目较少的大账本中获得更好的性能。 如果pageLimit为-1,bookie服务将根据1/3的JVM内存来计算索引页的数量限制。</td><td>0</td></tr>
 <tr><td>readOnlyModeEnabled</td><td>如果所有已配置的 ledger 目录已满,则只支持客户的读取请求。 如果 “readOnlyModeEnabled=true” 那么当所有的 ledger 磁盘满时,bookie 会被转换为只读模式并只处理读请求。 否则 bookie 将被关闭。 默认情况下,这会被禁用。</td><td>true</td></tr>
-<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 If all ledger dir partitions are full, then bookie will turn to readonly mode if ‘readOnlyModeEnabled=true’ is set, else it will shutdown. 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
+<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 如果所有的ledger目录分区都满了,那么如果设置了'readOnlyModeEnabled=true',bookie将转为只读模式,否则它将关闭。 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
 <tr><td>diskCheckInterval</td><td>磁盘检查间隔,以毫秒为单位,检查 ledger 目录使用情况的时间间隔。</td><td>10000</td></tr>
 <tr><td>auditorPeriodicCheckInterval</td><td>审查者对集群内所有 ledger 进行核对的时间间隔。 默认情况下,每周运行一次。 间隔以秒为单位。 要完全禁用定期检查,请将此设置为 0。 请注意,定期检查会给集群带来额外的负荷,因此每天的运行次数不应超过一次。</td><td>604800</td></tr>
 <tr><td>auditorPeriodicBookieCheckInterval</td><td>审查者 bookie 检查的时间间隔。 审查者 bookie 检查,检查 ledger 的元数据来查看哪些 bookie 应该包含各个 ledger 的条目。 如果本应包含条目的 bookie 不可用,包含该条目的 ledger 会被标记去做恢复。 设置为 0 会禁用定期检查。 当 bookie 失效时,bookie 检查仍然会进行。 间隔以秒为单位。</td><td>86400</td></tr>
diff --git a/content/docs/zh-CN/2.3.1/reference-configuration.html b/content/docs/zh-CN/2.3.1/reference-configuration.html
index 7fbc0bf..a00d4ab 100644
--- a/content/docs/zh-CN/2.3.1/reference-configuration.html
+++ b/content/docs/zh-CN/2.3.1/reference-configuration.html
@@ -140,7 +140,7 @@
 <tr><td>pageSize</td><td>Ledger 缓存中索引页的大小,是以字节为单位。一个大的索引页可以改善将页写入磁盘的性能。当你有少量有 ledger 并且这些 ledger 有着相似数量的条目时,会很高效。 如果你有大量的 ledger,而每个 ledger 都有较少的条目,较小的索引页面将会提高内存使用率。</td><td>8192</td></tr>
 <tr><td>pageLimit</td><td>在 ledger 缓存中提供多少索引页面。如果索引页面数量达到此限制,bookie 服务器会开始将一些 ledger 从内存交换到磁盘。 当你发现交换变得更频繁时,可以增加这个值。 但请确认 pageLimit*page 的大小不应超过 JVM 最大内存限制,否则你将会得到 OutOfMemoryException。 一般来说,增加pageLimit,使用较小的索引页会在条目较少的大账本中获得更好的性能。 如果pageLimit为-1,bookie服务将根据1/3的JVM内存来计算索引页的数量限制。</td><td>0</td></tr>
 <tr><td>readOnlyModeEnabled</td><td>如果所有已配置的 ledger 目录已满,则只支持客户的读取请求。 如果 “readOnlyModeEnabled=true” 那么当所有的 ledger 磁盘满时,bookie 会被转换为只读模式并只处理读请求。 否则 bookie 将被关闭。 默认情况下,这会被禁用。</td><td>true</td></tr>
-<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 If all ledger dir partitions are full, then bookie will turn to readonly mode if ‘readOnlyModeEnabled=true’ is set, else it will shutdown. 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
+<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 如果所有的ledger目录分区都满了,那么如果设置了'readOnlyModeEnabled=true',bookie将转为只读模式,否则它将关闭。 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
 <tr><td>diskCheckInterval</td><td>磁盘检查间隔,以毫秒为单位,检查 ledger 目录使用情况的时间间隔。</td><td>10000</td></tr>
 <tr><td>auditorPeriodicCheckInterval</td><td>审查者对集群内所有 ledger 进行核对的时间间隔。 默认情况下,每周运行一次。 间隔以秒为单位。 要完全禁用定期检查,请将此设置为 0。 请注意,定期检查会给集群带来额外的负荷,因此每天的运行次数不应超过一次。</td><td>604800</td></tr>
 <tr><td>auditorPeriodicBookieCheckInterval</td><td>审查者 bookie 检查的时间间隔。 审查者 bookie 检查,检查 ledger 的元数据来查看哪些 bookie 应该包含各个 ledger 的条目。 如果本应包含条目的 bookie 不可用,包含该条目的 ledger 会被标记去做恢复。 设置为 0 会禁用定期检查。 当 bookie 失效时,bookie 检查仍然会进行。 间隔以秒为单位。</td><td>86400</td></tr>
diff --git a/content/docs/zh-CN/2.3.1/reference-configuration/index.html b/content/docs/zh-CN/2.3.1/reference-configuration/index.html
index 7fbc0bf..a00d4ab 100644
--- a/content/docs/zh-CN/2.3.1/reference-configuration/index.html
+++ b/content/docs/zh-CN/2.3.1/reference-configuration/index.html
@@ -140,7 +140,7 @@
 <tr><td>pageSize</td><td>Ledger 缓存中索引页的大小,是以字节为单位。一个大的索引页可以改善将页写入磁盘的性能。当你有少量有 ledger 并且这些 ledger 有着相似数量的条目时,会很高效。 如果你有大量的 ledger,而每个 ledger 都有较少的条目,较小的索引页面将会提高内存使用率。</td><td>8192</td></tr>
 <tr><td>pageLimit</td><td>在 ledger 缓存中提供多少索引页面。如果索引页面数量达到此限制,bookie 服务器会开始将一些 ledger 从内存交换到磁盘。 当你发现交换变得更频繁时,可以增加这个值。 但请确认 pageLimit*page 的大小不应超过 JVM 最大内存限制,否则你将会得到 OutOfMemoryException。 一般来说,增加pageLimit,使用较小的索引页会在条目较少的大账本中获得更好的性能。 如果pageLimit为-1,bookie服务将根据1/3的JVM内存来计算索引页的数量限制。</td><td>0</td></tr>
 <tr><td>readOnlyModeEnabled</td><td>如果所有已配置的 ledger 目录已满,则只支持客户的读取请求。 如果 “readOnlyModeEnabled=true” 那么当所有的 ledger 磁盘满时,bookie 会被转换为只读模式并只处理读请求。 否则 bookie 将被关闭。 默认情况下,这会被禁用。</td><td>true</td></tr>
-<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 If all ledger dir partitions are full, then bookie will turn to readonly mode if ‘readOnlyModeEnabled=true’ is set, else it will shutdown. 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
+<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 如果所有的ledger目录分区都满了,那么如果设置了'readOnlyModeEnabled=true',bookie将转为只读模式,否则它将关闭。 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
 <tr><td>diskCheckInterval</td><td>磁盘检查间隔,以毫秒为单位,检查 ledger 目录使用情况的时间间隔。</td><td>10000</td></tr>
 <tr><td>auditorPeriodicCheckInterval</td><td>审查者对集群内所有 ledger 进行核对的时间间隔。 默认情况下,每周运行一次。 间隔以秒为单位。 要完全禁用定期检查,请将此设置为 0。 请注意,定期检查会给集群带来额外的负荷,因此每天的运行次数不应超过一次。</td><td>604800</td></tr>
 <tr><td>auditorPeriodicBookieCheckInterval</td><td>审查者 bookie 检查的时间间隔。 审查者 bookie 检查,检查 ledger 的元数据来查看哪些 bookie 应该包含各个 ledger 的条目。 如果本应包含条目的 bookie 不可用,包含该条目的 ledger 会被标记去做恢复。 设置为 0 会禁用定期检查。 当 bookie 失效时,bookie 检查仍然会进行。 间隔以秒为单位。</td><td>86400</td></tr>
diff --git a/content/docs/zh-CN/2.3.2/reference-configuration.html b/content/docs/zh-CN/2.3.2/reference-configuration.html
index f680c7f..8888bd9 100644
--- a/content/docs/zh-CN/2.3.2/reference-configuration.html
+++ b/content/docs/zh-CN/2.3.2/reference-configuration.html
@@ -140,7 +140,7 @@
 <tr><td>pageSize</td><td>Ledger 缓存中索引页的大小,是以字节为单位。一个大的索引页可以改善将页写入磁盘的性能。当你有少量有 ledger 并且这些 ledger 有着相似数量的条目时,会很高效。 如果你有大量的 ledger,而每个 ledger 都有较少的条目,较小的索引页面将会提高内存使用率。</td><td>8192</td></tr>
 <tr><td>pageLimit</td><td>在 ledger 缓存中提供多少索引页面。如果索引页面数量达到此限制,bookie 服务器会开始将一些 ledger 从内存交换到磁盘。 当你发现交换变得更频繁时,可以增加这个值。 但请确认 pageLimit*page 的大小不应超过 JVM 最大内存限制,否则你将会得到 OutOfMemoryException。 一般来说,增加pageLimit,使用较小的索引页会在条目较少的大账本中获得更好的性能。 如果pageLimit为-1,bookie服务将根据1/3的JVM内存来计算索引页的数量限制。</td><td>0</td></tr>
 <tr><td>readOnlyModeEnabled</td><td>如果所有已配置的 ledger 目录已满,则只支持客户的读取请求。 如果 “readOnlyModeEnabled=true” 那么当所有的 ledger 磁盘满时,bookie 会被转换为只读模式并只处理读请求。 否则 bookie 将被关闭。 默认情况下,这会被禁用。</td><td>true</td></tr>
-<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 If all ledger dir partitions are full, then bookie will turn to readonly mode if ‘readOnlyModeEnabled=true’ is set, else it will shutdown. 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
+<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 如果所有的ledger目录分区都满了,那么如果设置了'readOnlyModeEnabled=true',bookie将转为只读模式,否则它将关闭。 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
 <tr><td>diskCheckInterval</td><td>磁盘检查间隔,以毫秒为单位,检查 ledger 目录使用情况的时间间隔。</td><td>10000</td></tr>
 <tr><td>auditorPeriodicCheckInterval</td><td>审查者对集群内所有 ledger 进行核对的时间间隔。 默认情况下,每周运行一次。 间隔以秒为单位。 要完全禁用定期检查,请将此设置为 0。 请注意,定期检查会给集群带来额外的负荷,因此每天的运行次数不应超过一次。</td><td>604800</td></tr>
 <tr><td>auditorPeriodicBookieCheckInterval</td><td>审查者 bookie 检查的时间间隔。 审查者 bookie 检查,检查 ledger 的元数据来查看哪些 bookie 应该包含各个 ledger 的条目。 如果本应包含条目的 bookie 不可用,包含该条目的 ledger 会被标记去做恢复。 设置为 0 会禁用定期检查。 当 bookie 失效时,bookie 检查仍然会进行。 间隔以秒为单位。</td><td>86400</td></tr>
diff --git a/content/docs/zh-CN/2.3.2/reference-configuration/index.html b/content/docs/zh-CN/2.3.2/reference-configuration/index.html
index f680c7f..8888bd9 100644
--- a/content/docs/zh-CN/2.3.2/reference-configuration/index.html
+++ b/content/docs/zh-CN/2.3.2/reference-configuration/index.html
@@ -140,7 +140,7 @@
 <tr><td>pageSize</td><td>Ledger 缓存中索引页的大小,是以字节为单位。一个大的索引页可以改善将页写入磁盘的性能。当你有少量有 ledger 并且这些 ledger 有着相似数量的条目时,会很高效。 如果你有大量的 ledger,而每个 ledger 都有较少的条目,较小的索引页面将会提高内存使用率。</td><td>8192</td></tr>
 <tr><td>pageLimit</td><td>在 ledger 缓存中提供多少索引页面。如果索引页面数量达到此限制,bookie 服务器会开始将一些 ledger 从内存交换到磁盘。 当你发现交换变得更频繁时,可以增加这个值。 但请确认 pageLimit*page 的大小不应超过 JVM 最大内存限制,否则你将会得到 OutOfMemoryException。 一般来说,增加pageLimit,使用较小的索引页会在条目较少的大账本中获得更好的性能。 如果pageLimit为-1,bookie服务将根据1/3的JVM内存来计算索引页的数量限制。</td><td>0</td></tr>
 <tr><td>readOnlyModeEnabled</td><td>如果所有已配置的 ledger 目录已满,则只支持客户的读取请求。 如果 “readOnlyModeEnabled=true” 那么当所有的 ledger 磁盘满时,bookie 会被转换为只读模式并只处理读请求。 否则 bookie 将被关闭。 默认情况下,这会被禁用。</td><td>true</td></tr>
-<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 If all ledger dir partitions are full, then bookie will turn to readonly mode if ‘readOnlyModeEnabled=true’ is set, else it will shutdown. 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
+<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 如果所有的ledger目录分区都满了,那么如果设置了'readOnlyModeEnabled=true',bookie将转为只读模式,否则它将关闭。 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
 <tr><td>diskCheckInterval</td><td>磁盘检查间隔,以毫秒为单位,检查 ledger 目录使用情况的时间间隔。</td><td>10000</td></tr>
 <tr><td>auditorPeriodicCheckInterval</td><td>审查者对集群内所有 ledger 进行核对的时间间隔。 默认情况下,每周运行一次。 间隔以秒为单位。 要完全禁用定期检查,请将此设置为 0。 请注意,定期检查会给集群带来额外的负荷,因此每天的运行次数不应超过一次。</td><td>604800</td></tr>
 <tr><td>auditorPeriodicBookieCheckInterval</td><td>审查者 bookie 检查的时间间隔。 审查者 bookie 检查,检查 ledger 的元数据来查看哪些 bookie 应该包含各个 ledger 的条目。 如果本应包含条目的 bookie 不可用,包含该条目的 ledger 会被标记去做恢复。 设置为 0 会禁用定期检查。 当 bookie 失效时,bookie 检查仍然会进行。 间隔以秒为单位。</td><td>86400</td></tr>
diff --git a/content/docs/zh-CN/2.4.0/reference-configuration.html b/content/docs/zh-CN/2.4.0/reference-configuration.html
index c0412cc..721fdc3 100644
--- a/content/docs/zh-CN/2.4.0/reference-configuration.html
+++ b/content/docs/zh-CN/2.4.0/reference-configuration.html
@@ -141,7 +141,7 @@
 <tr><td>pageSize</td><td>Ledger 缓存中索引页的大小,是以字节为单位。一个大的索引页可以改善将页写入磁盘的性能。当你有少量有 ledger 并且这些 ledger 有着相似数量的条目时,会很高效。 如果你有大量的 ledger,而每个 ledger 都有较少的条目,较小的索引页面将会提高内存使用率。</td><td>8192</td></tr>
 <tr><td>pageLimit</td><td>在 ledger 缓存中提供多少索引页面。如果索引页面数量达到此限制,bookie 服务器会开始将一些 ledger 从内存交换到磁盘。 当你发现交换变得更频繁时,可以增加这个值。 但请确认 pageLimit*page 的大小不应超过 JVM 最大内存限制,否则你将会得到 OutOfMemoryException。 一般来说,增加pageLimit,使用较小的索引页会在条目较少的大账本中获得更好的性能。 如果pageLimit为-1,bookie服务将根据1/3的JVM内存来计算索引页的数量限制。</td><td>0</td></tr>
 <tr><td>readOnlyModeEnabled</td><td>如果所有已配置的 ledger 目录已满,则只支持客户的读取请求。 如果 “readOnlyModeEnabled=true” 那么当所有的 ledger 磁盘满时,bookie 会被转换为只读模式并只处理读请求。 否则 bookie 将被关闭。 默认情况下,这会被禁用。</td><td>true</td></tr>
-<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 If all ledger dir partitions are full, then bookie will turn to readonly mode if ‘readOnlyModeEnabled=true’ is set, else it will shutdown. 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
+<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 如果所有的ledger目录分区都满了,那么如果设置了'readOnlyModeEnabled=true',bookie将转为只读模式,否则它将关闭。 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
 <tr><td>diskCheckInterval</td><td>磁盘检查间隔,以毫秒为单位,检查 ledger 目录使用情况的时间间隔。</td><td>10000</td></tr>
 <tr><td>auditorPeriodicCheckInterval</td><td>审查者对集群内所有 ledger 进行核对的时间间隔。 默认情况下,每周运行一次。 间隔以秒为单位。 要完全禁用定期检查,请将此设置为 0。 请注意,定期检查会给集群带来额外的负荷,因此每天的运行次数不应超过一次。</td><td>604800</td></tr>
 <tr><td>auditorPeriodicBookieCheckInterval</td><td>审查者 bookie 检查的时间间隔。 审查者 bookie 检查,检查 ledger 的元数据来查看哪些 bookie 应该包含各个 ledger 的条目。 如果本应包含条目的 bookie 不可用,包含该条目的 ledger 会被标记去做恢复。 设置为 0 会禁用定期检查。 当 bookie 失效时,bookie 检查仍然会进行。 间隔以秒为单位。</td><td>86400</td></tr>
diff --git a/content/docs/zh-CN/2.4.0/reference-configuration/index.html b/content/docs/zh-CN/2.4.0/reference-configuration/index.html
index c0412cc..721fdc3 100644
--- a/content/docs/zh-CN/2.4.0/reference-configuration/index.html
+++ b/content/docs/zh-CN/2.4.0/reference-configuration/index.html
@@ -141,7 +141,7 @@
 <tr><td>pageSize</td><td>Ledger 缓存中索引页的大小,是以字节为单位。一个大的索引页可以改善将页写入磁盘的性能。当你有少量有 ledger 并且这些 ledger 有着相似数量的条目时,会很高效。 如果你有大量的 ledger,而每个 ledger 都有较少的条目,较小的索引页面将会提高内存使用率。</td><td>8192</td></tr>
 <tr><td>pageLimit</td><td>在 ledger 缓存中提供多少索引页面。如果索引页面数量达到此限制,bookie 服务器会开始将一些 ledger 从内存交换到磁盘。 当你发现交换变得更频繁时,可以增加这个值。 但请确认 pageLimit*page 的大小不应超过 JVM 最大内存限制,否则你将会得到 OutOfMemoryException。 一般来说,增加pageLimit,使用较小的索引页会在条目较少的大账本中获得更好的性能。 如果pageLimit为-1,bookie服务将根据1/3的JVM内存来计算索引页的数量限制。</td><td>0</td></tr>
 <tr><td>readOnlyModeEnabled</td><td>如果所有已配置的 ledger 目录已满,则只支持客户的读取请求。 如果 “readOnlyModeEnabled=true” 那么当所有的 ledger 磁盘满时,bookie 会被转换为只读模式并只处理读请求。 否则 bookie 将被关闭。 默认情况下,这会被禁用。</td><td>true</td></tr>
-<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 If all ledger dir partitions are full, then bookie will turn to readonly mode if ‘readOnlyModeEnabled=true’ is set, else it will shutdown. 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
+<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 如果所有的ledger目录分区都满了,那么如果设置了'readOnlyModeEnabled=true',bookie将转为只读模式,否则它将关闭。 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
 <tr><td>diskCheckInterval</td><td>磁盘检查间隔,以毫秒为单位,检查 ledger 目录使用情况的时间间隔。</td><td>10000</td></tr>
 <tr><td>auditorPeriodicCheckInterval</td><td>审查者对集群内所有 ledger 进行核对的时间间隔。 默认情况下,每周运行一次。 间隔以秒为单位。 要完全禁用定期检查,请将此设置为 0。 请注意,定期检查会给集群带来额外的负荷,因此每天的运行次数不应超过一次。</td><td>604800</td></tr>
 <tr><td>auditorPeriodicBookieCheckInterval</td><td>审查者 bookie 检查的时间间隔。 审查者 bookie 检查,检查 ledger 的元数据来查看哪些 bookie 应该包含各个 ledger 的条目。 如果本应包含条目的 bookie 不可用,包含该条目的 ledger 会被标记去做恢复。 设置为 0 会禁用定期检查。 当 bookie 失效时,bookie 检查仍然会进行。 间隔以秒为单位。</td><td>86400</td></tr>
diff --git a/content/docs/zh-CN/2.4.1/reference-configuration.html b/content/docs/zh-CN/2.4.1/reference-configuration.html
index 4893ed6..3a3e768 100644
--- a/content/docs/zh-CN/2.4.1/reference-configuration.html
+++ b/content/docs/zh-CN/2.4.1/reference-configuration.html
@@ -141,7 +141,7 @@
 <tr><td>pageSize</td><td>Ledger 缓存中索引页的大小,是以字节为单位。一个大的索引页可以改善将页写入磁盘的性能。当你有少量有 ledger 并且这些 ledger 有着相似数量的条目时,会很高效。 如果你有大量的 ledger,而每个 ledger 都有较少的条目,较小的索引页面将会提高内存使用率。</td><td>8192</td></tr>
 <tr><td>pageLimit</td><td>在 ledger 缓存中提供多少索引页面。如果索引页面数量达到此限制,bookie 服务器会开始将一些 ledger 从内存交换到磁盘。 当你发现交换变得更频繁时,可以增加这个值。 但请确认 pageLimit*page 的大小不应超过 JVM 最大内存限制,否则你将会得到 OutOfMemoryException。 一般来说,增加pageLimit,使用较小的索引页会在条目较少的大账本中获得更好的性能。 如果pageLimit为-1,bookie服务将根据1/3的JVM内存来计算索引页的数量限制。</td><td>0</td></tr>
 <tr><td>readOnlyModeEnabled</td><td>如果所有已配置的 ledger 目录已满,则只支持客户的读取请求。 如果 “readOnlyModeEnabled=true” 那么当所有的 ledger 磁盘满时,bookie 会被转换为只读模式并只处理读请求。 否则 bookie 将被关闭。 默认情况下,这会被禁用。</td><td>true</td></tr>
-<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 If all ledger dir partitions are full, then bookie will turn to readonly mode if ‘readOnlyModeEnabled=true’ is set, else it will shutdown. 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
+<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 如果所有的ledger目录分区都满了,那么如果设置了'readOnlyModeEnabled=true',bookie将转为只读模式,否则它将关闭。 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
 <tr><td>diskCheckInterval</td><td>磁盘检查间隔,以毫秒为单位,检查 ledger 目录使用情况的时间间隔。</td><td>10000</td></tr>
 <tr><td>auditorPeriodicCheckInterval</td><td>审查者对集群内所有 ledger 进行核对的时间间隔。 默认情况下,每周运行一次。 间隔以秒为单位。 要完全禁用定期检查,请将此设置为 0。 请注意,定期检查会给集群带来额外的负荷,因此每天的运行次数不应超过一次。</td><td>604800</td></tr>
 <tr><td>auditorPeriodicBookieCheckInterval</td><td>审查者 bookie 检查的时间间隔。 审查者 bookie 检查,检查 ledger 的元数据来查看哪些 bookie 应该包含各个 ledger 的条目。 如果本应包含条目的 bookie 不可用,包含该条目的 ledger 会被标记去做恢复。 设置为 0 会禁用定期检查。 当 bookie 失效时,bookie 检查仍然会进行。 间隔以秒为单位。</td><td>86400</td></tr>
diff --git a/content/docs/zh-CN/2.4.1/reference-configuration/index.html b/content/docs/zh-CN/2.4.1/reference-configuration/index.html
index 4893ed6..3a3e768 100644
--- a/content/docs/zh-CN/2.4.1/reference-configuration/index.html
+++ b/content/docs/zh-CN/2.4.1/reference-configuration/index.html
@@ -141,7 +141,7 @@
 <tr><td>pageSize</td><td>Ledger 缓存中索引页的大小,是以字节为单位。一个大的索引页可以改善将页写入磁盘的性能。当你有少量有 ledger 并且这些 ledger 有着相似数量的条目时,会很高效。 如果你有大量的 ledger,而每个 ledger 都有较少的条目,较小的索引页面将会提高内存使用率。</td><td>8192</td></tr>
 <tr><td>pageLimit</td><td>在 ledger 缓存中提供多少索引页面。如果索引页面数量达到此限制,bookie 服务器会开始将一些 ledger 从内存交换到磁盘。 当你发现交换变得更频繁时,可以增加这个值。 但请确认 pageLimit*page 的大小不应超过 JVM 最大内存限制,否则你将会得到 OutOfMemoryException。 一般来说,增加pageLimit,使用较小的索引页会在条目较少的大账本中获得更好的性能。 如果pageLimit为-1,bookie服务将根据1/3的JVM内存来计算索引页的数量限制。</td><td>0</td></tr>
 <tr><td>readOnlyModeEnabled</td><td>如果所有已配置的 ledger 目录已满,则只支持客户的读取请求。 如果 “readOnlyModeEnabled=true” 那么当所有的 ledger 磁盘满时,bookie 会被转换为只读模式并只处理读请求。 否则 bookie 将被关闭。 默认情况下,这会被禁用。</td><td>true</td></tr>
-<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 If all ledger dir partitions are full, then bookie will turn to readonly mode if ‘readOnlyModeEnabled=true’ is set, else it will shutdown. 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
+<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 如果所有的ledger目录分区都满了,那么如果设置了'readOnlyModeEnabled=true',bookie将转为只读模式,否则它将关闭。 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
 <tr><td>diskCheckInterval</td><td>磁盘检查间隔,以毫秒为单位,检查 ledger 目录使用情况的时间间隔。</td><td>10000</td></tr>
 <tr><td>auditorPeriodicCheckInterval</td><td>审查者对集群内所有 ledger 进行核对的时间间隔。 默认情况下,每周运行一次。 间隔以秒为单位。 要完全禁用定期检查,请将此设置为 0。 请注意,定期检查会给集群带来额外的负荷,因此每天的运行次数不应超过一次。</td><td>604800</td></tr>
 <tr><td>auditorPeriodicBookieCheckInterval</td><td>审查者 bookie 检查的时间间隔。 审查者 bookie 检查,检查 ledger 的元数据来查看哪些 bookie 应该包含各个 ledger 的条目。 如果本应包含条目的 bookie 不可用,包含该条目的 ledger 会被标记去做恢复。 设置为 0 会禁用定期检查。 当 bookie 失效时,bookie 检查仍然会进行。 间隔以秒为单位。</td><td>86400</td></tr>
diff --git a/content/docs/zh-CN/2.4.2/reference-configuration.html b/content/docs/zh-CN/2.4.2/reference-configuration.html
index a610d20..bdce76c 100644
--- a/content/docs/zh-CN/2.4.2/reference-configuration.html
+++ b/content/docs/zh-CN/2.4.2/reference-configuration.html
@@ -141,7 +141,7 @@
 <tr><td>pageSize</td><td>Ledger 缓存中索引页的大小,是以字节为单位。一个大的索引页可以改善将页写入磁盘的性能。当你有少量有 ledger 并且这些 ledger 有着相似数量的条目时,会很高效。 如果你有大量的 ledger,而每个 ledger 都有较少的条目,较小的索引页面将会提高内存使用率。</td><td>8192</td></tr>
 <tr><td>pageLimit</td><td>在 ledger 缓存中提供多少索引页面。如果索引页面数量达到此限制,bookie 服务器会开始将一些 ledger 从内存交换到磁盘。 当你发现交换变得更频繁时,可以增加这个值。 但请确认 pageLimit*page 的大小不应超过 JVM 最大内存限制,否则你将会得到 OutOfMemoryException。 一般来说,增加pageLimit,使用较小的索引页会在条目较少的大账本中获得更好的性能。 如果pageLimit为-1,bookie服务将根据1/3的JVM内存来计算索引页的数量限制。</td><td>0</td></tr>
 <tr><td>readOnlyModeEnabled</td><td>如果所有已配置的 ledger 目录已满,则只支持客户的读取请求。 如果 “readOnlyModeEnabled=true” 那么当所有的 ledger 磁盘满时,bookie 会被转换为只读模式并只处理读请求。 否则 bookie 将被关闭。 默认情况下,这会被禁用。</td><td>true</td></tr>
-<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 If all ledger dir partitions are full, then bookie will turn to readonly mode if ‘readOnlyModeEnabled=true’ is set, else it will shutdown. 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
+<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 如果所有的ledger目录分区都满了,那么如果设置了'readOnlyModeEnabled=true',bookie将转为只读模式,否则它将关闭。 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
 <tr><td>diskCheckInterval</td><td>磁盘检查间隔,以毫秒为单位,检查 ledger 目录使用情况的时间间隔。</td><td>10000</td></tr>
 <tr><td>auditorPeriodicCheckInterval</td><td>审查者对集群内所有 ledger 进行核对的时间间隔。 默认情况下,每周运行一次。 间隔以秒为单位。 要完全禁用定期检查,请将此设置为 0。 请注意,定期检查会给集群带来额外的负荷,因此每天的运行次数不应超过一次。</td><td>604800</td></tr>
 <tr><td>auditorPeriodicBookieCheckInterval</td><td>审查者 bookie 检查的时间间隔。 审查者 bookie 检查,检查 ledger 的元数据来查看哪些 bookie 应该包含各个 ledger 的条目。 如果本应包含条目的 bookie 不可用,包含该条目的 ledger 会被标记去做恢复。 设置为 0 会禁用定期检查。 当 bookie 失效时,bookie 检查仍然会进行。 间隔以秒为单位。</td><td>86400</td></tr>
diff --git a/content/docs/zh-CN/2.4.2/reference-configuration/index.html b/content/docs/zh-CN/2.4.2/reference-configuration/index.html
index a610d20..bdce76c 100644
--- a/content/docs/zh-CN/2.4.2/reference-configuration/index.html
+++ b/content/docs/zh-CN/2.4.2/reference-configuration/index.html
@@ -141,7 +141,7 @@
 <tr><td>pageSize</td><td>Ledger 缓存中索引页的大小,是以字节为单位。一个大的索引页可以改善将页写入磁盘的性能。当你有少量有 ledger 并且这些 ledger 有着相似数量的条目时,会很高效。 如果你有大量的 ledger,而每个 ledger 都有较少的条目,较小的索引页面将会提高内存使用率。</td><td>8192</td></tr>
 <tr><td>pageLimit</td><td>在 ledger 缓存中提供多少索引页面。如果索引页面数量达到此限制,bookie 服务器会开始将一些 ledger 从内存交换到磁盘。 当你发现交换变得更频繁时,可以增加这个值。 但请确认 pageLimit*page 的大小不应超过 JVM 最大内存限制,否则你将会得到 OutOfMemoryException。 一般来说,增加pageLimit,使用较小的索引页会在条目较少的大账本中获得更好的性能。 如果pageLimit为-1,bookie服务将根据1/3的JVM内存来计算索引页的数量限制。</td><td>0</td></tr>
 <tr><td>readOnlyModeEnabled</td><td>如果所有已配置的 ledger 目录已满,则只支持客户的读取请求。 如果 “readOnlyModeEnabled=true” 那么当所有的 ledger 磁盘满时,bookie 会被转换为只读模式并只处理读请求。 否则 bookie 将被关闭。 默认情况下,这会被禁用。</td><td>true</td></tr>
-<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 If all ledger dir partitions are full, then bookie will turn to readonly mode if ‘readOnlyModeEnabled=true’ is set, else it will shutdown. 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
+<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 如果所有的ledger目录分区都满了,那么如果设置了'readOnlyModeEnabled=true',bookie将转为只读模式,否则它将关闭。 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
 <tr><td>diskCheckInterval</td><td>磁盘检查间隔,以毫秒为单位,检查 ledger 目录使用情况的时间间隔。</td><td>10000</td></tr>
 <tr><td>auditorPeriodicCheckInterval</td><td>审查者对集群内所有 ledger 进行核对的时间间隔。 默认情况下,每周运行一次。 间隔以秒为单位。 要完全禁用定期检查,请将此设置为 0。 请注意,定期检查会给集群带来额外的负荷,因此每天的运行次数不应超过一次。</td><td>604800</td></tr>
 <tr><td>auditorPeriodicBookieCheckInterval</td><td>审查者 bookie 检查的时间间隔。 审查者 bookie 检查,检查 ledger 的元数据来查看哪些 bookie 应该包含各个 ledger 的条目。 如果本应包含条目的 bookie 不可用,包含该条目的 ledger 会被标记去做恢复。 设置为 0 会禁用定期检查。 当 bookie 失效时,bookie 检查仍然会进行。 间隔以秒为单位。</td><td>86400</td></tr>
diff --git a/content/docs/zh-CN/2.5.0/reference-configuration.html b/content/docs/zh-CN/2.5.0/reference-configuration.html
index 1586ce5..19e8afd 100644
--- a/content/docs/zh-CN/2.5.0/reference-configuration.html
+++ b/content/docs/zh-CN/2.5.0/reference-configuration.html
@@ -141,7 +141,7 @@
 <tr><td>pageSize</td><td>Ledger 缓存中索引页的大小,是以字节为单位。一个大的索引页可以改善将页写入磁盘的性能。当你有少量有 ledger 并且这些 ledger 有着相似数量的条目时,会很高效。 如果你有大量的 ledger,而每个 ledger 都有较少的条目,较小的索引页面将会提高内存使用率。</td><td>8192</td></tr>
 <tr><td>pageLimit</td><td>在 ledger 缓存中提供多少索引页面。如果索引页面数量达到此限制,bookie 服务器会开始将一些 ledger 从内存交换到磁盘。 当你发现交换变得更频繁时,可以增加这个值。 但请确认 pageLimit*page 的大小不应超过 JVM 最大内存限制,否则你将会得到 OutOfMemoryException。 一般来说,增加pageLimit,使用较小的索引页会在条目较少的大账本中获得更好的性能。 如果pageLimit为-1,bookie服务将根据1/3的JVM内存来计算索引页的数量限制。</td><td>0</td></tr>
 <tr><td>readOnlyModeEnabled</td><td>如果所有已配置的 ledger 目录已满,则只支持客户的读取请求。 如果 “readOnlyModeEnabled=true” 那么当所有的 ledger 磁盘满时,bookie 会被转换为只读模式并只处理读请求。 否则 bookie 将被关闭。 默认情况下,这会被禁用。</td><td>true</td></tr>
-<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 If all ledger dir partitions are full, then bookie will turn to readonly mode if ‘readOnlyModeEnabled=true’ is set, else it will shutdown. 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
+<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 如果所有的ledger目录分区都满了,那么如果设置了'readOnlyModeEnabled=true',bookie将转为只读模式,否则它将关闭。 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
 <tr><td>diskCheckInterval</td><td>磁盘检查间隔,以毫秒为单位,检查 ledger 目录使用情况的时间间隔。</td><td>10000</td></tr>
 <tr><td>auditorPeriodicCheckInterval</td><td>审查者对集群内所有 ledger 进行核对的时间间隔。 默认情况下,每周运行一次。 间隔以秒为单位。 要完全禁用定期检查,请将此设置为 0。 请注意,定期检查会给集群带来额外的负荷,因此每天的运行次数不应超过一次。</td><td>604800</td></tr>
 <tr><td>auditorPeriodicBookieCheckInterval</td><td>审查者 bookie 检查的时间间隔。 审查者 bookie 检查,检查 ledger 的元数据来查看哪些 bookie 应该包含各个 ledger 的条目。 如果本应包含条目的 bookie 不可用,包含该条目的 ledger 会被标记去做恢复。 设置为 0 会禁用定期检查。 当 bookie 失效时,bookie 检查仍然会进行。 间隔以秒为单位。</td><td>86400</td></tr>
diff --git a/content/docs/zh-CN/2.5.0/reference-configuration/index.html b/content/docs/zh-CN/2.5.0/reference-configuration/index.html
index 1586ce5..19e8afd 100644
--- a/content/docs/zh-CN/2.5.0/reference-configuration/index.html
+++ b/content/docs/zh-CN/2.5.0/reference-configuration/index.html
@@ -141,7 +141,7 @@
 <tr><td>pageSize</td><td>Ledger 缓存中索引页的大小,是以字节为单位。一个大的索引页可以改善将页写入磁盘的性能。当你有少量有 ledger 并且这些 ledger 有着相似数量的条目时,会很高效。 如果你有大量的 ledger,而每个 ledger 都有较少的条目,较小的索引页面将会提高内存使用率。</td><td>8192</td></tr>
 <tr><td>pageLimit</td><td>在 ledger 缓存中提供多少索引页面。如果索引页面数量达到此限制,bookie 服务器会开始将一些 ledger 从内存交换到磁盘。 当你发现交换变得更频繁时,可以增加这个值。 但请确认 pageLimit*page 的大小不应超过 JVM 最大内存限制,否则你将会得到 OutOfMemoryException。 一般来说,增加pageLimit,使用较小的索引页会在条目较少的大账本中获得更好的性能。 如果pageLimit为-1,bookie服务将根据1/3的JVM内存来计算索引页的数量限制。</td><td>0</td></tr>
 <tr><td>readOnlyModeEnabled</td><td>如果所有已配置的 ledger 目录已满,则只支持客户的读取请求。 如果 “readOnlyModeEnabled=true” 那么当所有的 ledger 磁盘满时,bookie 会被转换为只读模式并只处理读请求。 否则 bookie 将被关闭。 默认情况下,这会被禁用。</td><td>true</td></tr>
-<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 If all ledger dir partitions are full, then bookie will turn to readonly mode if ‘readOnlyModeEnabled=true’ is set, else it will shutdown. 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
+<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 如果所有的ledger目录分区都满了,那么如果设置了'readOnlyModeEnabled=true',bookie将转为只读模式,否则它将关闭。 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
 <tr><td>diskCheckInterval</td><td>磁盘检查间隔,以毫秒为单位,检查 ledger 目录使用情况的时间间隔。</td><td>10000</td></tr>
 <tr><td>auditorPeriodicCheckInterval</td><td>审查者对集群内所有 ledger 进行核对的时间间隔。 默认情况下,每周运行一次。 间隔以秒为单位。 要完全禁用定期检查,请将此设置为 0。 请注意,定期检查会给集群带来额外的负荷,因此每天的运行次数不应超过一次。</td><td>604800</td></tr>
 <tr><td>auditorPeriodicBookieCheckInterval</td><td>审查者 bookie 检查的时间间隔。 审查者 bookie 检查,检查 ledger 的元数据来查看哪些 bookie 应该包含各个 ledger 的条目。 如果本应包含条目的 bookie 不可用,包含该条目的 ledger 会被标记去做恢复。 设置为 0 会禁用定期检查。 当 bookie 失效时,bookie 检查仍然会进行。 间隔以秒为单位。</td><td>86400</td></tr>
diff --git a/content/docs/zh-CN/2.5.1/reference-configuration.html b/content/docs/zh-CN/2.5.1/reference-configuration.html
index f16c491..46ac84b 100644
--- a/content/docs/zh-CN/2.5.1/reference-configuration.html
+++ b/content/docs/zh-CN/2.5.1/reference-configuration.html
@@ -141,7 +141,7 @@
 <tr><td>pageSize</td><td>Ledger 缓存中索引页的大小,是以字节为单位。一个大的索引页可以改善将页写入磁盘的性能。当你有少量有 ledger 并且这些 ledger 有着相似数量的条目时,会很高效。 如果你有大量的 ledger,而每个 ledger 都有较少的条目,较小的索引页面将会提高内存使用率。</td><td>8192</td></tr>
 <tr><td>pageLimit</td><td>在 ledger 缓存中提供多少索引页面。如果索引页面数量达到此限制,bookie 服务器会开始将一些 ledger 从内存交换到磁盘。 当你发现交换变得更频繁时,可以增加这个值。 但请确认 pageLimit*page 的大小不应超过 JVM 最大内存限制,否则你将会得到 OutOfMemoryException。 一般来说,增加pageLimit,使用较小的索引页会在条目较少的大账本中获得更好的性能。 如果pageLimit为-1,bookie服务将根据1/3的JVM内存来计算索引页的数量限制。</td><td>0</td></tr>
 <tr><td>readOnlyModeEnabled</td><td>如果所有已配置的 ledger 目录已满,则只支持客户的读取请求。 如果 “readOnlyModeEnabled=true” 那么当所有的 ledger 磁盘满时,bookie 会被转换为只读模式并只处理读请求。 否则 bookie 将被关闭。 默认情况下,这会被禁用。</td><td>true</td></tr>
-<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 If all ledger dir partitions are full, then bookie will turn to readonly mode if ‘readOnlyModeEnabled=true’ is set, else it will shutdown. 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
+<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 如果所有的ledger目录分区都满了,那么如果设置了'readOnlyModeEnabled=true',bookie将转为只读模式,否则它将关闭。 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
 <tr><td>diskCheckInterval</td><td>磁盘检查间隔,以毫秒为单位,检查 ledger 目录使用情况的时间间隔。</td><td>10000</td></tr>
 <tr><td>auditorPeriodicCheckInterval</td><td>审查者对集群内所有 ledger 进行核对的时间间隔。 默认情况下,每周运行一次。 间隔以秒为单位。 要完全禁用定期检查,请将此设置为 0。 请注意,定期检查会给集群带来额外的负荷,因此每天的运行次数不应超过一次。</td><td>604800</td></tr>
 <tr><td>auditorPeriodicBookieCheckInterval</td><td>审查者 bookie 检查的时间间隔。 审查者 bookie 检查,检查 ledger 的元数据来查看哪些 bookie 应该包含各个 ledger 的条目。 如果本应包含条目的 bookie 不可用,包含该条目的 ledger 会被标记去做恢复。 设置为 0 会禁用定期检查。 当 bookie 失效时,bookie 检查仍然会进行。 间隔以秒为单位。</td><td>86400</td></tr>
diff --git a/content/docs/zh-CN/2.5.1/reference-configuration/index.html b/content/docs/zh-CN/2.5.1/reference-configuration/index.html
index f16c491..46ac84b 100644
--- a/content/docs/zh-CN/2.5.1/reference-configuration/index.html
+++ b/content/docs/zh-CN/2.5.1/reference-configuration/index.html
@@ -141,7 +141,7 @@
 <tr><td>pageSize</td><td>Ledger 缓存中索引页的大小,是以字节为单位。一个大的索引页可以改善将页写入磁盘的性能。当你有少量有 ledger 并且这些 ledger 有着相似数量的条目时,会很高效。 如果你有大量的 ledger,而每个 ledger 都有较少的条目,较小的索引页面将会提高内存使用率。</td><td>8192</td></tr>
 <tr><td>pageLimit</td><td>在 ledger 缓存中提供多少索引页面。如果索引页面数量达到此限制,bookie 服务器会开始将一些 ledger 从内存交换到磁盘。 当你发现交换变得更频繁时,可以增加这个值。 但请确认 pageLimit*page 的大小不应超过 JVM 最大内存限制,否则你将会得到 OutOfMemoryException。 一般来说,增加pageLimit,使用较小的索引页会在条目较少的大账本中获得更好的性能。 如果pageLimit为-1,bookie服务将根据1/3的JVM内存来计算索引页的数量限制。</td><td>0</td></tr>
 <tr><td>readOnlyModeEnabled</td><td>如果所有已配置的 ledger 目录已满,则只支持客户的读取请求。 如果 “readOnlyModeEnabled=true” 那么当所有的 ledger 磁盘满时,bookie 会被转换为只读模式并只处理读请求。 否则 bookie 将被关闭。 默认情况下,这会被禁用。</td><td>true</td></tr>
-<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 If all ledger dir partitions are full, then bookie will turn to readonly mode if ‘readOnlyModeEnabled=true’ is set, else it will shutdown. 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
+<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 如果所有的ledger目录分区都满了,那么如果设置了'readOnlyModeEnabled=true',bookie将转为只读模式,否则它将关闭。 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
 <tr><td>diskCheckInterval</td><td>磁盘检查间隔,以毫秒为单位,检查 ledger 目录使用情况的时间间隔。</td><td>10000</td></tr>
 <tr><td>auditorPeriodicCheckInterval</td><td>审查者对集群内所有 ledger 进行核对的时间间隔。 默认情况下,每周运行一次。 间隔以秒为单位。 要完全禁用定期检查,请将此设置为 0。 请注意,定期检查会给集群带来额外的负荷,因此每天的运行次数不应超过一次。</td><td>604800</td></tr>
 <tr><td>auditorPeriodicBookieCheckInterval</td><td>审查者 bookie 检查的时间间隔。 审查者 bookie 检查,检查 ledger 的元数据来查看哪些 bookie 应该包含各个 ledger 的条目。 如果本应包含条目的 bookie 不可用,包含该条目的 ledger 会被标记去做恢复。 设置为 0 会禁用定期检查。 当 bookie 失效时,bookie 检查仍然会进行。 间隔以秒为单位。</td><td>86400</td></tr>
diff --git a/content/docs/zh-CN/2.5.2/reference-configuration.html b/content/docs/zh-CN/2.5.2/reference-configuration.html
index a6d5f3b..85dbada 100644
--- a/content/docs/zh-CN/2.5.2/reference-configuration.html
+++ b/content/docs/zh-CN/2.5.2/reference-configuration.html
@@ -142,7 +142,7 @@
 <tr><td>pageSize</td><td>Ledger 缓存中索引页的大小,是以字节为单位。一个大的索引页可以改善将页写入磁盘的性能。当你有少量有 ledger 并且这些 ledger 有着相似数量的条目时,会很高效。 如果你有大量的 ledger,而每个 ledger 都有较少的条目,较小的索引页面将会提高内存使用率。</td><td>8192</td></tr>
 <tr><td>pageLimit</td><td>在 ledger 缓存中提供多少索引页面。如果索引页面数量达到此限制,bookie 服务器会开始将一些 ledger 从内存交换到磁盘。 当你发现交换变得更频繁时,可以增加这个值。 但请确认 pageLimit*page 的大小不应超过 JVM 最大内存限制,否则你将会得到 OutOfMemoryException。 一般来说,增加pageLimit,使用较小的索引页会在条目较少的大账本中获得更好的性能。 如果pageLimit为-1,bookie服务将根据1/3的JVM内存来计算索引页的数量限制。</td><td>0</td></tr>
 <tr><td>readOnlyModeEnabled</td><td>如果所有已配置的 ledger 目录已满,则只支持客户的读取请求。 如果 “readOnlyModeEnabled=true” 那么当所有的 ledger 磁盘满时,bookie 会被转换为只读模式并只处理读请求。 否则 bookie 将被关闭。 默认情况下,这会被禁用。</td><td>true</td></tr>
-<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 If all ledger dir partitions are full, then bookie will turn to readonly mode if ‘readOnlyModeEnabled=true’ is set, else it will shutdown. 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
+<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 如果所有的ledger目录分区都满了,那么如果设置了'readOnlyModeEnabled=true',bookie将转为只读模式,否则它将关闭。 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
 <tr><td>diskCheckInterval</td><td>磁盘检查间隔,以毫秒为单位,检查 ledger 目录使用情况的时间间隔。</td><td>10000</td></tr>
 <tr><td>auditorPeriodicCheckInterval</td><td>审查者对集群内所有 ledger 进行核对的时间间隔。 默认情况下,每周运行一次。 间隔以秒为单位。 要完全禁用定期检查,请将此设置为 0。 请注意,定期检查会给集群带来额外的负荷,因此每天的运行次数不应超过一次。</td><td>604800</td></tr>
 <tr><td>auditorPeriodicBookieCheckInterval</td><td>审查者 bookie 检查的时间间隔。 审查者 bookie 检查,检查 ledger 的元数据来查看哪些 bookie 应该包含各个 ledger 的条目。 如果本应包含条目的 bookie 不可用,包含该条目的 ledger 会被标记去做恢复。 设置为 0 会禁用定期检查。 当 bookie 失效时,bookie 检查仍然会进行。 间隔以秒为单位。</td><td>86400</td></tr>
diff --git a/content/docs/zh-CN/2.5.2/reference-configuration/index.html b/content/docs/zh-CN/2.5.2/reference-configuration/index.html
index a6d5f3b..85dbada 100644
--- a/content/docs/zh-CN/2.5.2/reference-configuration/index.html
+++ b/content/docs/zh-CN/2.5.2/reference-configuration/index.html
@@ -142,7 +142,7 @@
 <tr><td>pageSize</td><td>Ledger 缓存中索引页的大小,是以字节为单位。一个大的索引页可以改善将页写入磁盘的性能。当你有少量有 ledger 并且这些 ledger 有着相似数量的条目时,会很高效。 如果你有大量的 ledger,而每个 ledger 都有较少的条目,较小的索引页面将会提高内存使用率。</td><td>8192</td></tr>
 <tr><td>pageLimit</td><td>在 ledger 缓存中提供多少索引页面。如果索引页面数量达到此限制,bookie 服务器会开始将一些 ledger 从内存交换到磁盘。 当你发现交换变得更频繁时,可以增加这个值。 但请确认 pageLimit*page 的大小不应超过 JVM 最大内存限制,否则你将会得到 OutOfMemoryException。 一般来说,增加pageLimit,使用较小的索引页会在条目较少的大账本中获得更好的性能。 如果pageLimit为-1,bookie服务将根据1/3的JVM内存来计算索引页的数量限制。</td><td>0</td></tr>
 <tr><td>readOnlyModeEnabled</td><td>如果所有已配置的 ledger 目录已满,则只支持客户的读取请求。 如果 “readOnlyModeEnabled=true” 那么当所有的 ledger 磁盘满时,bookie 会被转换为只读模式并只处理读请求。 否则 bookie 将被关闭。 默认情况下,这会被禁用。</td><td>true</td></tr>
-<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 If all ledger dir partitions are full, then bookie will turn to readonly mode if ‘readOnlyModeEnabled=true’ is set, else it will shutdown. 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
+<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 如果所有的ledger目录分区都满了,那么如果设置了'readOnlyModeEnabled=true',bookie将转为只读模式,否则它将关闭。 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
 <tr><td>diskCheckInterval</td><td>磁盘检查间隔,以毫秒为单位,检查 ledger 目录使用情况的时间间隔。</td><td>10000</td></tr>
 <tr><td>auditorPeriodicCheckInterval</td><td>审查者对集群内所有 ledger 进行核对的时间间隔。 默认情况下,每周运行一次。 间隔以秒为单位。 要完全禁用定期检查,请将此设置为 0。 请注意,定期检查会给集群带来额外的负荷,因此每天的运行次数不应超过一次。</td><td>604800</td></tr>
 <tr><td>auditorPeriodicBookieCheckInterval</td><td>审查者 bookie 检查的时间间隔。 审查者 bookie 检查,检查 ledger 的元数据来查看哪些 bookie 应该包含各个 ledger 的条目。 如果本应包含条目的 bookie 不可用,包含该条目的 ledger 会被标记去做恢复。 设置为 0 会禁用定期检查。 当 bookie 失效时,bookie 检查仍然会进行。 间隔以秒为单位。</td><td>86400</td></tr>
diff --git a/content/docs/zh-CN/2.6.0/reference-configuration.html b/content/docs/zh-CN/2.6.0/reference-configuration.html
index b84f3aa..d2ff1bd 100644
--- a/content/docs/zh-CN/2.6.0/reference-configuration.html
+++ b/content/docs/zh-CN/2.6.0/reference-configuration.html
@@ -142,7 +142,7 @@
 <tr><td>pageSize</td><td>Ledger 缓存中索引页的大小,是以字节为单位。一个大的索引页可以改善将页写入磁盘的性能。当你有少量有 ledger 并且这些 ledger 有着相似数量的条目时,会很高效。 如果你有大量的 ledger,而每个 ledger 都有较少的条目,较小的索引页面将会提高内存使用率。</td><td>8192</td></tr>
 <tr><td>pageLimit</td><td>在 ledger 缓存中提供多少索引页面。如果索引页面数量达到此限制,bookie 服务器会开始将一些 ledger 从内存交换到磁盘。 当你发现交换变得更频繁时,可以增加这个值。 但请确认 pageLimit*page 的大小不应超过 JVM 最大内存限制,否则你将会得到 OutOfMemoryException。 一般来说,增加pageLimit,使用较小的索引页会在条目较少的大账本中获得更好的性能。 如果pageLimit为-1,bookie服务将根据1/3的JVM内存来计算索引页的数量限制。</td><td>0</td></tr>
 <tr><td>readOnlyModeEnabled</td><td>如果所有已配置的 ledger 目录已满,则只支持客户的读取请求。 如果 “readOnlyModeEnabled=true” 那么当所有的 ledger 磁盘满时,bookie 会被转换为只读模式并只处理读请求。 否则 bookie 将被关闭。 默认情况下,这会被禁用。</td><td>true</td></tr>
-<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 If all ledger dir partitions are full, then bookie will turn to readonly mode if ‘readOnlyModeEnabled=true’ is set, else it will shutdown. 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
+<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 如果所有的ledger目录分区都满了,那么如果设置了'readOnlyModeEnabled=true',bookie将转为只读模式,否则它将关闭。 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
 <tr><td>diskCheckInterval</td><td>磁盘检查间隔,以毫秒为单位,检查 ledger 目录使用情况的时间间隔。</td><td>10000</td></tr>
 <tr><td>auditorPeriodicCheckInterval</td><td>审查者对集群内所有 ledger 进行核对的时间间隔。 默认情况下,每周运行一次。 间隔以秒为单位。 要完全禁用定期检查,请将此设置为 0。 请注意,定期检查会给集群带来额外的负荷,因此每天的运行次数不应超过一次。</td><td>604800</td></tr>
 <tr><td>auditorPeriodicBookieCheckInterval</td><td>审查者 bookie 检查的时间间隔。 审查者 bookie 检查,检查 ledger 的元数据来查看哪些 bookie 应该包含各个 ledger 的条目。 如果本应包含条目的 bookie 不可用,包含该条目的 ledger 会被标记去做恢复。 设置为 0 会禁用定期检查。 当 bookie 失效时,bookie 检查仍然会进行。 间隔以秒为单位。</td><td>86400</td></tr>
diff --git a/content/docs/zh-CN/2.6.0/reference-configuration/index.html b/content/docs/zh-CN/2.6.0/reference-configuration/index.html
index b84f3aa..d2ff1bd 100644
--- a/content/docs/zh-CN/2.6.0/reference-configuration/index.html
+++ b/content/docs/zh-CN/2.6.0/reference-configuration/index.html
@@ -142,7 +142,7 @@
 <tr><td>pageSize</td><td>Ledger 缓存中索引页的大小,是以字节为单位。一个大的索引页可以改善将页写入磁盘的性能。当你有少量有 ledger 并且这些 ledger 有着相似数量的条目时,会很高效。 如果你有大量的 ledger,而每个 ledger 都有较少的条目,较小的索引页面将会提高内存使用率。</td><td>8192</td></tr>
 <tr><td>pageLimit</td><td>在 ledger 缓存中提供多少索引页面。如果索引页面数量达到此限制,bookie 服务器会开始将一些 ledger 从内存交换到磁盘。 当你发现交换变得更频繁时,可以增加这个值。 但请确认 pageLimit*page 的大小不应超过 JVM 最大内存限制,否则你将会得到 OutOfMemoryException。 一般来说,增加pageLimit,使用较小的索引页会在条目较少的大账本中获得更好的性能。 如果pageLimit为-1,bookie服务将根据1/3的JVM内存来计算索引页的数量限制。</td><td>0</td></tr>
 <tr><td>readOnlyModeEnabled</td><td>如果所有已配置的 ledger 目录已满,则只支持客户的读取请求。 如果 “readOnlyModeEnabled=true” 那么当所有的 ledger 磁盘满时,bookie 会被转换为只读模式并只处理读请求。 否则 bookie 将被关闭。 默认情况下,这会被禁用。</td><td>true</td></tr>
-<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 If all ledger dir partitions are full, then bookie will turn to readonly mode if ‘readOnlyModeEnabled=true’ is set, else it will shutdown. 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
+<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 如果所有的ledger目录分区都满了,那么如果设置了'readOnlyModeEnabled=true',bookie将转为只读模式,否则它将关闭。 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
 <tr><td>diskCheckInterval</td><td>磁盘检查间隔,以毫秒为单位,检查 ledger 目录使用情况的时间间隔。</td><td>10000</td></tr>
 <tr><td>auditorPeriodicCheckInterval</td><td>审查者对集群内所有 ledger 进行核对的时间间隔。 默认情况下,每周运行一次。 间隔以秒为单位。 要完全禁用定期检查,请将此设置为 0。 请注意,定期检查会给集群带来额外的负荷,因此每天的运行次数不应超过一次。</td><td>604800</td></tr>
 <tr><td>auditorPeriodicBookieCheckInterval</td><td>审查者 bookie 检查的时间间隔。 审查者 bookie 检查,检查 ledger 的元数据来查看哪些 bookie 应该包含各个 ledger 的条目。 如果本应包含条目的 bookie 不可用,包含该条目的 ledger 会被标记去做恢复。 设置为 0 会禁用定期检查。 当 bookie 失效时,bookie 检查仍然会进行。 间隔以秒为单位。</td><td>86400</td></tr>
diff --git a/content/docs/zh-CN/2.6.1/reference-configuration.html b/content/docs/zh-CN/2.6.1/reference-configuration.html
index 1ec3f9b..78a0dcc 100644
--- a/content/docs/zh-CN/2.6.1/reference-configuration.html
+++ b/content/docs/zh-CN/2.6.1/reference-configuration.html
@@ -142,7 +142,7 @@
 <tr><td>pageSize</td><td>Ledger 缓存中索引页的大小,是以字节为单位。一个大的索引页可以改善将页写入磁盘的性能。当你有少量有 ledger 并且这些 ledger 有着相似数量的条目时,会很高效。 如果你有大量的 ledger,而每个 ledger 都有较少的条目,较小的索引页面将会提高内存使用率。</td><td>8192</td></tr>
 <tr><td>pageLimit</td><td>在 ledger 缓存中提供多少索引页面。如果索引页面数量达到此限制,bookie 服务器会开始将一些 ledger 从内存交换到磁盘。 当你发现交换变得更频繁时,可以增加这个值。 但请确认 pageLimit*page 的大小不应超过 JVM 最大内存限制,否则你将会得到 OutOfMemoryException。 一般来说,增加pageLimit,使用较小的索引页会在条目较少的大账本中获得更好的性能。 如果pageLimit为-1,bookie服务将根据1/3的JVM内存来计算索引页的数量限制。</td><td>0</td></tr>
 <tr><td>readOnlyModeEnabled</td><td>如果所有已配置的 ledger 目录已满,则只支持客户的读取请求。 如果 “readOnlyModeEnabled=true” 那么当所有的 ledger 磁盘满时,bookie 会被转换为只读模式并只处理读请求。 否则 bookie 将被关闭。 默认情况下,这会被禁用。</td><td>true</td></tr>
-<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 If all ledger dir partitions are full, then bookie will turn to readonly mode if ‘readOnlyModeEnabled=true’ is set, else it will shutdown. 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
+<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 如果所有的ledger目录分区都满了,那么如果设置了'readOnlyModeEnabled=true',bookie将转为只读模式,否则它将关闭。 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
 <tr><td>diskCheckInterval</td><td>磁盘检查间隔,以毫秒为单位,检查 ledger 目录使用情况的时间间隔。</td><td>10000</td></tr>
 <tr><td>auditorPeriodicCheckInterval</td><td>审查者对集群内所有 ledger 进行核对的时间间隔。 默认情况下,每周运行一次。 间隔以秒为单位。 要完全禁用定期检查,请将此设置为 0。 请注意,定期检查会给集群带来额外的负荷,因此每天的运行次数不应超过一次。</td><td>604800</td></tr>
 <tr><td>auditorPeriodicBookieCheckInterval</td><td>审查者 bookie 检查的时间间隔。 审查者 bookie 检查,检查 ledger 的元数据来查看哪些 bookie 应该包含各个 ledger 的条目。 如果本应包含条目的 bookie 不可用,包含该条目的 ledger 会被标记去做恢复。 设置为 0 会禁用定期检查。 当 bookie 失效时,bookie 检查仍然会进行。 间隔以秒为单位。</td><td>86400</td></tr>
diff --git a/content/docs/zh-CN/2.6.1/reference-configuration/index.html b/content/docs/zh-CN/2.6.1/reference-configuration/index.html
index 1ec3f9b..78a0dcc 100644
--- a/content/docs/zh-CN/2.6.1/reference-configuration/index.html
+++ b/content/docs/zh-CN/2.6.1/reference-configuration/index.html
@@ -142,7 +142,7 @@
 <tr><td>pageSize</td><td>Ledger 缓存中索引页的大小,是以字节为单位。一个大的索引页可以改善将页写入磁盘的性能。当你有少量有 ledger 并且这些 ledger 有着相似数量的条目时,会很高效。 如果你有大量的 ledger,而每个 ledger 都有较少的条目,较小的索引页面将会提高内存使用率。</td><td>8192</td></tr>
 <tr><td>pageLimit</td><td>在 ledger 缓存中提供多少索引页面。如果索引页面数量达到此限制,bookie 服务器会开始将一些 ledger 从内存交换到磁盘。 当你发现交换变得更频繁时,可以增加这个值。 但请确认 pageLimit*page 的大小不应超过 JVM 最大内存限制,否则你将会得到 OutOfMemoryException。 一般来说,增加pageLimit,使用较小的索引页会在条目较少的大账本中获得更好的性能。 如果pageLimit为-1,bookie服务将根据1/3的JVM内存来计算索引页的数量限制。</td><td>0</td></tr>
 <tr><td>readOnlyModeEnabled</td><td>如果所有已配置的 ledger 目录已满,则只支持客户的读取请求。 如果 “readOnlyModeEnabled=true” 那么当所有的 ledger 磁盘满时,bookie 会被转换为只读模式并只处理读请求。 否则 bookie 将被关闭。 默认情况下,这会被禁用。</td><td>true</td></tr>
-<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 If all ledger dir partitions are full, then bookie will turn to readonly mode if ‘readOnlyModeEnabled=true’ is set, else it will shutdown. 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
+<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 如果所有的ledger目录分区都满了,那么如果设置了'readOnlyModeEnabled=true',bookie将转为只读模式,否则它将关闭。 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
 <tr><td>diskCheckInterval</td><td>磁盘检查间隔,以毫秒为单位,检查 ledger 目录使用情况的时间间隔。</td><td>10000</td></tr>
 <tr><td>auditorPeriodicCheckInterval</td><td>审查者对集群内所有 ledger 进行核对的时间间隔。 默认情况下,每周运行一次。 间隔以秒为单位。 要完全禁用定期检查,请将此设置为 0。 请注意,定期检查会给集群带来额外的负荷,因此每天的运行次数不应超过一次。</td><td>604800</td></tr>
 <tr><td>auditorPeriodicBookieCheckInterval</td><td>审查者 bookie 检查的时间间隔。 审查者 bookie 检查,检查 ledger 的元数据来查看哪些 bookie 应该包含各个 ledger 的条目。 如果本应包含条目的 bookie 不可用,包含该条目的 ledger 会被标记去做恢复。 设置为 0 会禁用定期检查。 当 bookie 失效时,bookie 检查仍然会进行。 间隔以秒为单位。</td><td>86400</td></tr>
diff --git a/content/docs/zh-CN/2.6.2/reference-configuration.html b/content/docs/zh-CN/2.6.2/reference-configuration.html
index 0faa910..959f752 100644
--- a/content/docs/zh-CN/2.6.2/reference-configuration.html
+++ b/content/docs/zh-CN/2.6.2/reference-configuration.html
@@ -141,7 +141,7 @@
 <tr><td>pageSize</td><td>Ledger 缓存中索引页的大小,是以字节为单位。一个大的索引页可以改善将页写入磁盘的性能。当你有少量有 ledger 并且这些 ledger 有着相似数量的条目时,会很高效。 如果你有大量的 ledger,而每个 ledger 都有较少的条目,较小的索引页面将会提高内存使用率。</td><td>8192</td></tr>
 <tr><td>pageLimit</td><td>在 ledger 缓存中提供多少索引页面。如果索引页面数量达到此限制,bookie 服务器会开始将一些 ledger 从内存交换到磁盘。 当你发现交换变得更频繁时,可以增加这个值。 但请确认 pageLimit*page 的大小不应超过 JVM 最大内存限制,否则你将会得到 OutOfMemoryException。 一般来说,增加pageLimit,使用较小的索引页会在条目较少的大账本中获得更好的性能。 如果pageLimit为-1,bookie服务将根据1/3的JVM内存来计算索引页的数量限制。</td><td>0</td></tr>
 <tr><td>readOnlyModeEnabled</td><td>如果所有已配置的 ledger 目录已满,则只支持客户的读取请求。 如果 “readOnlyModeEnabled=true” 那么当所有的 ledger 磁盘满时,bookie 会被转换为只读模式并只处理读请求。 否则 bookie 将被关闭。 默认情况下,这会被禁用。</td><td>true</td></tr>
-<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 If all ledger dir partitions are full, then bookie will turn to readonly mode if ‘readOnlyModeEnabled=true’ is set, else it will shutdown. 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
+<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 如果所有的ledger目录分区都满了,那么如果设置了'readOnlyModeEnabled=true',bookie将转为只读模式,否则它将关闭。 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
 <tr><td>diskCheckInterval</td><td>磁盘检查间隔,以毫秒为单位,检查 ledger 目录使用情况的时间间隔。</td><td>10000</td></tr>
 <tr><td>auditorPeriodicCheckInterval</td><td>审查者对集群内所有 ledger 进行核对的时间间隔。 默认情况下,每周运行一次。 间隔以秒为单位。 要完全禁用定期检查,请将此设置为 0。 请注意,定期检查会给集群带来额外的负荷,因此每天的运行次数不应超过一次。</td><td>604800</td></tr>
 <tr><td>auditorPeriodicBookieCheckInterval</td><td>审查者 bookie 检查的时间间隔。 审查者 bookie 检查,检查 ledger 的元数据来查看哪些 bookie 应该包含各个 ledger 的条目。 如果本应包含条目的 bookie 不可用,包含该条目的 ledger 会被标记去做恢复。 设置为 0 会禁用定期检查。 当 bookie 失效时,bookie 检查仍然会进行。 间隔以秒为单位。</td><td>86400</td></tr>
diff --git a/content/docs/zh-CN/2.6.2/reference-configuration/index.html b/content/docs/zh-CN/2.6.2/reference-configuration/index.html
index 0faa910..959f752 100644
--- a/content/docs/zh-CN/2.6.2/reference-configuration/index.html
+++ b/content/docs/zh-CN/2.6.2/reference-configuration/index.html
@@ -141,7 +141,7 @@
 <tr><td>pageSize</td><td>Ledger 缓存中索引页的大小,是以字节为单位。一个大的索引页可以改善将页写入磁盘的性能。当你有少量有 ledger 并且这些 ledger 有着相似数量的条目时,会很高效。 如果你有大量的 ledger,而每个 ledger 都有较少的条目,较小的索引页面将会提高内存使用率。</td><td>8192</td></tr>
 <tr><td>pageLimit</td><td>在 ledger 缓存中提供多少索引页面。如果索引页面数量达到此限制,bookie 服务器会开始将一些 ledger 从内存交换到磁盘。 当你发现交换变得更频繁时,可以增加这个值。 但请确认 pageLimit*page 的大小不应超过 JVM 最大内存限制,否则你将会得到 OutOfMemoryException。 一般来说,增加pageLimit,使用较小的索引页会在条目较少的大账本中获得更好的性能。 如果pageLimit为-1,bookie服务将根据1/3的JVM内存来计算索引页的数量限制。</td><td>0</td></tr>
 <tr><td>readOnlyModeEnabled</td><td>如果所有已配置的 ledger 目录已满,则只支持客户的读取请求。 如果 “readOnlyModeEnabled=true” 那么当所有的 ledger 磁盘满时,bookie 会被转换为只读模式并只处理读请求。 否则 bookie 将被关闭。 默认情况下,这会被禁用。</td><td>true</td></tr>
-<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 If all ledger dir partitions are full, then bookie will turn to readonly mode if ‘readOnlyModeEnabled=true’ is set, else it will shutdown. 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
+<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 如果所有的ledger目录分区都满了,那么如果设置了'readOnlyModeEnabled=true',bookie将转为只读模式,否则它将关闭。 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
 <tr><td>diskCheckInterval</td><td>磁盘检查间隔,以毫秒为单位,检查 ledger 目录使用情况的时间间隔。</td><td>10000</td></tr>
 <tr><td>auditorPeriodicCheckInterval</td><td>审查者对集群内所有 ledger 进行核对的时间间隔。 默认情况下,每周运行一次。 间隔以秒为单位。 要完全禁用定期检查,请将此设置为 0。 请注意,定期检查会给集群带来额外的负荷,因此每天的运行次数不应超过一次。</td><td>604800</td></tr>
 <tr><td>auditorPeriodicBookieCheckInterval</td><td>审查者 bookie 检查的时间间隔。 审查者 bookie 检查,检查 ledger 的元数据来查看哪些 bookie 应该包含各个 ledger 的条目。 如果本应包含条目的 bookie 不可用,包含该条目的 ledger 会被标记去做恢复。 设置为 0 会禁用定期检查。 当 bookie 失效时,bookie 检查仍然会进行。 间隔以秒为单位。</td><td>86400</td></tr>
diff --git a/content/docs/zh-CN/2.6.3/reference-configuration.html b/content/docs/zh-CN/2.6.3/reference-configuration.html
index 5fcd6ca..3887590 100644
--- a/content/docs/zh-CN/2.6.3/reference-configuration.html
+++ b/content/docs/zh-CN/2.6.3/reference-configuration.html
@@ -141,7 +141,7 @@
 <tr><td>pageSize</td><td>Ledger 缓存中索引页的大小,是以字节为单位。一个大的索引页可以改善将页写入磁盘的性能。当你有少量有 ledger 并且这些 ledger 有着相似数量的条目时,会很高效。 如果你有大量的 ledger,而每个 ledger 都有较少的条目,较小的索引页面将会提高内存使用率。</td><td>8192</td></tr>
 <tr><td>pageLimit</td><td>在 ledger 缓存中提供多少索引页面。如果索引页面数量达到此限制,bookie 服务器会开始将一些 ledger 从内存交换到磁盘。 当你发现交换变得更频繁时,可以增加这个值。 但请确认 pageLimit*page 的大小不应超过 JVM 最大内存限制,否则你将会得到 OutOfMemoryException。 一般来说,增加pageLimit,使用较小的索引页会在条目较少的大账本中获得更好的性能。 如果pageLimit为-1,bookie服务将根据1/3的JVM内存来计算索引页的数量限制。</td><td>0</td></tr>
 <tr><td>readOnlyModeEnabled</td><td>如果所有已配置的 ledger 目录已满,则只支持客户的读取请求。 如果 “readOnlyModeEnabled=true” 那么当所有的 ledger 磁盘满时,bookie 会被转换为只读模式并只处理读请求。 否则 bookie 将被关闭。 默认情况下,这会被禁用。</td><td>true</td></tr>
-<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 If all ledger dir partitions are full, then bookie will turn to readonly mode if ‘readOnlyModeEnabled=true’ is set, else it will shutdown. 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
+<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 如果所有的ledger目录分区都满了,那么如果设置了'readOnlyModeEnabled=true',bookie将转为只读模式,否则它将关闭。 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
 <tr><td>diskCheckInterval</td><td>磁盘检查间隔,以毫秒为单位,检查 ledger 目录使用情况的时间间隔。</td><td>10000</td></tr>
 <tr><td>auditorPeriodicCheckInterval</td><td>审查者对集群内所有 ledger 进行核对的时间间隔。 默认情况下,每周运行一次。 间隔以秒为单位。 要完全禁用定期检查,请将此设置为 0。 请注意,定期检查会给集群带来额外的负荷,因此每天的运行次数不应超过一次。</td><td>604800</td></tr>
 <tr><td>auditorPeriodicBookieCheckInterval</td><td>审查者 bookie 检查的时间间隔。 审查者 bookie 检查,检查 ledger 的元数据来查看哪些 bookie 应该包含各个 ledger 的条目。 如果本应包含条目的 bookie 不可用,包含该条目的 ledger 会被标记去做恢复。 设置为 0 会禁用定期检查。 当 bookie 失效时,bookie 检查仍然会进行。 间隔以秒为单位。</td><td>86400</td></tr>
diff --git a/content/docs/zh-CN/2.6.3/reference-configuration/index.html b/content/docs/zh-CN/2.6.3/reference-configuration/index.html
index 5fcd6ca..3887590 100644
--- a/content/docs/zh-CN/2.6.3/reference-configuration/index.html
+++ b/content/docs/zh-CN/2.6.3/reference-configuration/index.html
@@ -141,7 +141,7 @@
 <tr><td>pageSize</td><td>Ledger 缓存中索引页的大小,是以字节为单位。一个大的索引页可以改善将页写入磁盘的性能。当你有少量有 ledger 并且这些 ledger 有着相似数量的条目时,会很高效。 如果你有大量的 ledger,而每个 ledger 都有较少的条目,较小的索引页面将会提高内存使用率。</td><td>8192</td></tr>
 <tr><td>pageLimit</td><td>在 ledger 缓存中提供多少索引页面。如果索引页面数量达到此限制,bookie 服务器会开始将一些 ledger 从内存交换到磁盘。 当你发现交换变得更频繁时,可以增加这个值。 但请确认 pageLimit*page 的大小不应超过 JVM 最大内存限制,否则你将会得到 OutOfMemoryException。 一般来说,增加pageLimit,使用较小的索引页会在条目较少的大账本中获得更好的性能。 如果pageLimit为-1,bookie服务将根据1/3的JVM内存来计算索引页的数量限制。</td><td>0</td></tr>
 <tr><td>readOnlyModeEnabled</td><td>如果所有已配置的 ledger 目录已满,则只支持客户的读取请求。 如果 “readOnlyModeEnabled=true” 那么当所有的 ledger 磁盘满时,bookie 会被转换为只读模式并只处理读请求。 否则 bookie 将被关闭。 默认情况下,这会被禁用。</td><td>true</td></tr>
-<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 If all ledger dir partitions are full, then bookie will turn to readonly mode if ‘readOnlyModeEnabled=true’ is set, else it will shutdown. 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
+<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 如果所有的ledger目录分区都满了,那么如果设置了'readOnlyModeEnabled=true',bookie将转为只读模式,否则它将关闭。 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
 <tr><td>diskCheckInterval</td><td>磁盘检查间隔,以毫秒为单位,检查 ledger 目录使用情况的时间间隔。</td><td>10000</td></tr>
 <tr><td>auditorPeriodicCheckInterval</td><td>审查者对集群内所有 ledger 进行核对的时间间隔。 默认情况下,每周运行一次。 间隔以秒为单位。 要完全禁用定期检查,请将此设置为 0。 请注意,定期检查会给集群带来额外的负荷,因此每天的运行次数不应超过一次。</td><td>604800</td></tr>
 <tr><td>auditorPeriodicBookieCheckInterval</td><td>审查者 bookie 检查的时间间隔。 审查者 bookie 检查,检查 ledger 的元数据来查看哪些 bookie 应该包含各个 ledger 的条目。 如果本应包含条目的 bookie 不可用,包含该条目的 ledger 会被标记去做恢复。 设置为 0 会禁用定期检查。 当 bookie 失效时,bookie 检查仍然会进行。 间隔以秒为单位。</td><td>86400</td></tr>
diff --git a/content/docs/zh-CN/2.6.4/reference-configuration.html b/content/docs/zh-CN/2.6.4/reference-configuration.html
index 8013c1d..8e3fbb1 100644
--- a/content/docs/zh-CN/2.6.4/reference-configuration.html
+++ b/content/docs/zh-CN/2.6.4/reference-configuration.html
@@ -141,7 +141,7 @@
 <tr><td>pageSize</td><td>Ledger 缓存中索引页的大小,是以字节为单位。一个大的索引页可以改善将页写入磁盘的性能。当你有少量有 ledger 并且这些 ledger 有着相似数量的条目时,会很高效。 如果你有大量的 ledger,而每个 ledger 都有较少的条目,较小的索引页面将会提高内存使用率。</td><td>8192</td></tr>
 <tr><td>pageLimit</td><td>在 ledger 缓存中提供多少索引页面。如果索引页面数量达到此限制,bookie 服务器会开始将一些 ledger 从内存交换到磁盘。 当你发现交换变得更频繁时,可以增加这个值。 但请确认 pageLimit*page 的大小不应超过 JVM 最大内存限制,否则你将会得到 OutOfMemoryException。 一般来说,增加pageLimit,使用较小的索引页会在条目较少的大账本中获得更好的性能。 如果pageLimit为-1,bookie服务将根据1/3的JVM内存来计算索引页的数量限制。</td><td>0</td></tr>
 <tr><td>readOnlyModeEnabled</td><td>如果所有已配置的 ledger 目录已满,则只支持客户的读取请求。 如果 “readOnlyModeEnabled=true” 那么当所有的 ledger 磁盘满时,bookie 会被转换为只读模式并只处理读请求。 否则 bookie 将被关闭。 默认情况下,这会被禁用。</td><td>true</td></tr>
-<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 If all ledger dir partitions are full, then bookie will turn to readonly mode if ‘readOnlyModeEnabled=true’ is set, else it will shutdown. 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
+<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 如果所有的ledger目录分区都满了,那么如果设置了'readOnlyModeEnabled=true',bookie将转为只读模式,否则它将关闭。 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
 <tr><td>diskCheckInterval</td><td>磁盘检查间隔,以毫秒为单位,检查 ledger 目录使用情况的时间间隔。</td><td>10000</td></tr>
 <tr><td>auditorPeriodicCheckInterval</td><td>审查者对集群内所有 ledger 进行核对的时间间隔。 默认情况下,每周运行一次。 间隔以秒为单位。 要完全禁用定期检查,请将此设置为 0。 请注意,定期检查会给集群带来额外的负荷,因此每天的运行次数不应超过一次。</td><td>604800</td></tr>
 <tr><td>auditorPeriodicBookieCheckInterval</td><td>审查者 bookie 检查的时间间隔。 审查者 bookie 检查,检查 ledger 的元数据来查看哪些 bookie 应该包含各个 ledger 的条目。 如果本应包含条目的 bookie 不可用,包含该条目的 ledger 会被标记去做恢复。 设置为 0 会禁用定期检查。 当 bookie 失效时,bookie 检查仍然会进行。 间隔以秒为单位。</td><td>86400</td></tr>
diff --git a/content/docs/zh-CN/2.6.4/reference-configuration/index.html b/content/docs/zh-CN/2.6.4/reference-configuration/index.html
index 8013c1d..8e3fbb1 100644
--- a/content/docs/zh-CN/2.6.4/reference-configuration/index.html
+++ b/content/docs/zh-CN/2.6.4/reference-configuration/index.html
@@ -141,7 +141,7 @@
 <tr><td>pageSize</td><td>Ledger 缓存中索引页的大小,是以字节为单位。一个大的索引页可以改善将页写入磁盘的性能。当你有少量有 ledger 并且这些 ledger 有着相似数量的条目时,会很高效。 如果你有大量的 ledger,而每个 ledger 都有较少的条目,较小的索引页面将会提高内存使用率。</td><td>8192</td></tr>
 <tr><td>pageLimit</td><td>在 ledger 缓存中提供多少索引页面。如果索引页面数量达到此限制,bookie 服务器会开始将一些 ledger 从内存交换到磁盘。 当你发现交换变得更频繁时,可以增加这个值。 但请确认 pageLimit*page 的大小不应超过 JVM 最大内存限制,否则你将会得到 OutOfMemoryException。 一般来说,增加pageLimit,使用较小的索引页会在条目较少的大账本中获得更好的性能。 如果pageLimit为-1,bookie服务将根据1/3的JVM内存来计算索引页的数量限制。</td><td>0</td></tr>
 <tr><td>readOnlyModeEnabled</td><td>如果所有已配置的 ledger 目录已满,则只支持客户的读取请求。 如果 “readOnlyModeEnabled=true” 那么当所有的 ledger 磁盘满时,bookie 会被转换为只读模式并只处理读请求。 否则 bookie 将被关闭。 默认情况下,这会被禁用。</td><td>true</td></tr>
-<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 If all ledger dir partitions are full, then bookie will turn to readonly mode if ‘readOnlyModeEnabled=true’ is set, else it will shutdown. 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
+<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 如果所有的ledger目录分区都满了,那么如果设置了'readOnlyModeEnabled=true',bookie将转为只读模式,否则它将关闭。 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
 <tr><td>diskCheckInterval</td><td>磁盘检查间隔,以毫秒为单位,检查 ledger 目录使用情况的时间间隔。</td><td>10000</td></tr>
 <tr><td>auditorPeriodicCheckInterval</td><td>审查者对集群内所有 ledger 进行核对的时间间隔。 默认情况下,每周运行一次。 间隔以秒为单位。 要完全禁用定期检查,请将此设置为 0。 请注意,定期检查会给集群带来额外的负荷,因此每天的运行次数不应超过一次。</td><td>604800</td></tr>
 <tr><td>auditorPeriodicBookieCheckInterval</td><td>审查者 bookie 检查的时间间隔。 审查者 bookie 检查,检查 ledger 的元数据来查看哪些 bookie 应该包含各个 ledger 的条目。 如果本应包含条目的 bookie 不可用,包含该条目的 ledger 会被标记去做恢复。 设置为 0 会禁用定期检查。 当 bookie 失效时,bookie 检查仍然会进行。 间隔以秒为单位。</td><td>86400</td></tr>
diff --git a/content/docs/zh-CN/2.7.0/reference-configuration.html b/content/docs/zh-CN/2.7.0/reference-configuration.html
index 1083cb1..53e74c5 100644
--- a/content/docs/zh-CN/2.7.0/reference-configuration.html
+++ b/content/docs/zh-CN/2.7.0/reference-configuration.html
@@ -155,30 +155,30 @@
 <tr><td>httpServerClass</td><td>Http服务器实现类。</td><td>org.apache.bookkeeper.http.vertx.VertxHttpServer</td></tr>
 <tr><td>serverTcpNoDelay</td><td>此设置用于启用/禁用 Nagle 的算法,该算法能通过减少通过网络发送的数据包数量来提高 TCP/IP 网络效率。 如果你正在发送许多小消息,这样在单个 IP 数据包中就可以放入不止一个消息,设置 server.tcpnodelay 为 false 来启用 Nagle 算法可以提供更好的性能。</td><td>true</td></tr>
 <tr><td>serverSockKeepalive</td><td>此设置用于在面向连接的套接字上发送 keep-alive 消息。</td><td>true</td></tr>
-<tr><td>serverTcpLinger</td><td>关闭时套接字延迟超时。 When enabled, a close or shutdown will not return until all queued messages for the socket have been successfully sent or the linger timeout has been reached. Otherwise, the call returns immediately and the closing is done in the background.</td><td>0</td></tr>
+<tr><td>serverTcpLinger</td><td>关闭时TCP延迟超时。 当启用时,关闭或关机将不会返回,直到TCP的所有排队消息都被成功发送或达到徘徊超时。 否则,调用将立即返回,关闭是在后台完成的。</td><td>0</td></tr>
 <tr><td>byteBufAllocatorSizeMax</td><td>ByteBuf分配器能够接受的最大buf的大小</td><td>1048576</td></tr>
 <tr><td>nettyMaxFrameSizeBytes</td><td>The maximum netty frame size in bytes. Any message received larger than this will be rejected.</td><td>5253120</td></tr>
 <tr><td>openFileLimit</td><td>在 bookie 服务器上可以打开 ledger 索引文件的最大数量。如果 ledger 索引文件数量达到这个限制,bookie 服务器会开始将一些 ledger 从内存交换到磁盘。 过于频繁的交换会影响性能。 你可以根据你的要求调整这个数字以获得性能提升。</td><td>0</td></tr>
 <tr><td>pageSize</td><td>Ledger 缓存中索引页的大小,是以字节为单位。一个大的索引页可以改善将页写入磁盘的性能。当你有少量有 ledger 并且这些 ledger 有着相似数量的条目时,会很高效。 如果你有大量的 ledger,而每个 ledger 都有较少的条目,较小的索引页面将会提高内存使用率。</td><td>8192</td></tr>
 <tr><td>pageLimit</td><td>在 ledger 缓存中提供多少索引页面。如果索引页面数量达到此限制,bookie 服务器会开始将一些 ledger 从内存交换到磁盘。 当你发现交换变得更频繁时,可以增加这个值。 但请确认 pageLimit*page 的大小不应超过 JVM 最大内存限制,否则你将会得到 OutOfMemoryException。 一般来说,增加pageLimit,使用较小的索引页会在条目较少的大账本中获得更好的性能。 如果pageLimit为-1,bookie服务将根据1/3的JVM内存来计算索引页的数量限制。</td><td>0</td></tr>
 <tr><td>readOnlyModeEnabled</td><td>如果所有已配置的 ledger 目录已满,则只支持客户的读取请求。 如果 “readOnlyModeEnabled=true” 那么当所有的 ledger 磁盘满时,bookie 会被转换为只读模式并只处理读请求。 否则 bookie 将被关闭。 默认情况下,这会被禁用。</td><td>true</td></tr>
-<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 If all ledger dir partitions are full, then bookie will turn to readonly mode if ‘readOnlyModeEnabled=true’ is set, else it will shutdown. 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
+<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 如果所有的ledger目录分区都满了,那么如果设置了'readOnlyModeEnabled=true',bookie将转为只读模式,否则它将关闭。 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
 <tr><td>diskCheckInterval</td><td>磁盘检查间隔,以毫秒为单位,检查 ledger 目录使用情况的时间间隔。</td><td>10000</td></tr>
 <tr><td>auditorPeriodicCheckInterval</td><td>审查者对集群内所有 ledger 进行核对的时间间隔。 默认情况下,每周运行一次。 间隔以秒为单位。 要完全禁用定期检查,请将此设置为 0。 请注意,定期检查会给集群带来额外的负荷,因此每天的运行次数不应超过一次。</td><td>604800</td></tr>
 <tr><td>sortedLedgerStorageEnabled</td><td>Whether sorted-ledger storage is enabled.</td><td>true</td></tr>
 <tr><td>auditorPeriodicBookieCheckInterval</td><td>审查者 bookie 检查的时间间隔。 审查者 bookie 检查,检查 ledger 的元数据来查看哪些 bookie 应该包含各个 ledger 的条目。 如果本应包含条目的 bookie 不可用,包含该条目的 ledger 会被标记去做恢复。 设置为 0 会禁用定期检查。 当 bookie 失效时,bookie 检查仍然会进行。 间隔以秒为单位。</td><td>86400</td></tr>
 <tr><td>numAddWorkerThreads</td><td>The number of threads that should handle write requests. 如果设置为 0,写入请求将直接被 nerry 线程进行处理。</td><td>0</td></tr>
 <tr><td>numReadWorkerThreads</td><td>The number of threads that should handle read requests. 如果设置为 0,读取请求将直接被 netty 线程处理。</td><td>8</td></tr>
-<tr><td>numHighPriorityWorkerThreads</td><td>The umber of threads that should be used for high priority requests (i.e. recovery reads and adds, and fencing).</td><td>8</td></tr>
+<tr><td>numHighPriorityWorkerThreads</td><td>用于高优先级请求的线程数量(例如恢复读和添加,以及fencing)。</td><td>8</td></tr>
 <tr><td>maxPendingReadRequestsPerThread</td><td>如果启用了读 worker 线程,限制待处理请求的数量,以避免执行器队列无止境增长。</td><td>2500</td></tr>
-<tr><td>maxPendingAddRequestsPerThread</td><td>The limited number of pending requests, which is used to avoid the executor queue to grow indefinitely when add workers threads are enabled.</td><td>10000</td></tr>
-<tr><td>isForceGCAllowWhenNoSpace</td><td>Whether force compaction is allowed when the disk is full or almost full. Forcing GC could get some space back, but could also fill up the disk space more quickly. This is because new log files are created before GC, while old garbage log files are deleted after GC.</td><td>false</td></tr>
-<tr><td>verifyMetadataOnGC</td><td>True if the bookie should double check <code>readMetadata</code> prior to GC.</td><td>false</td></tr>
+<tr><td>maxPendingAddRequestsPerThread</td><td>待处理请求的限制的线程数量。用于避免在启用添加工作线程时,执行者队列无限期增长。</td><td>10000</td></tr>
+<tr><td>isForceGCAllowWhenNoSpace</td><td>当磁盘已满或快满时,是否允许强制压缩。 强制GC可以找回一些空间,但也可能更快地填满磁盘空间。 这是因为新的日志文件是在GC之前创建的,而旧的垃圾日志文件在GC之后被删除。</td><td>false</td></tr>
+<tr><td>verifyMetadataOnGC</td><td>设置了true,bookie就会在GC之前去复查<code>readMetadata</code></td><td>false</td></tr>
 <tr><td>flushEntrylogBytes</td><td>Entry log flush interval in bytes. Flushing in smaller chunks but more frequently reduces spikes in disk I/O. Flushing too frequently may also affect performance negatively.</td><td>268435456</td></tr>
 <tr><td>readBufferSizeBytes</td><td>用作 BufferedReadChannel 容量的字节数量。</td><td>4096</td></tr>
 <tr><td>writeBufferSizeBytes</td><td>用作写缓存容量的字节数</td><td>65536</td></tr>
 <tr><td>useHostNameAsBookieID</td><td>是否使用主机名去注册 bookie 的协调服务(如:Zookeeper)。 When false, bookie will use its ip address for the registration.</td><td>false</td></tr>
-<tr><td>bookieId</td><td>If you want to custom a bookie ID or use a dynamic network address for the bookie, you can set the <code>bookieId</code>. <br><br>Bookie advertises itself using the <code>bookieId</code> rather than the <code>BookieSocketAddress</code> (<code>hostname:port</code> or <code>IP:port</code>). If you set the <code>bookieId</code>, then the <code>useHostNameAsBookieID</code> does not take effect.<br><br>The <code>bookieId</code> is a non-empty string that can contain A [...]
+<tr><td>bookieId</td><td>如果你想定制一个bookie的ID,或者为bookie使用一个动态网络地址, 你可以设置 <code>bookieId</code>的值。 <br><br>Bookie advertises itself using the <code>bookieId</code> rather than the <code>BookieSocketAddress</code> (<code>hostname:port</code> or <code>IP:port</code>). If you set the <code>bookieId</code>, then the <code>useHostNameAsBookieID</code> does not take effect.<br><br>The <code>bookieId</code> is a non-empty string that can contain ASCII digits and letters ([a-zA-Z9-0]), colons, dashe [...]
 <tr><td>allowEphemeralPorts</td><td>Whether the bookie is allowed to use an ephemeral port (port 0) as its server port. By default, an ephemeral port is not allowed. Using an ephemeral port as the service port usually indicates a configuration error. However, in unit tests, using an ephemeral port will address port conflict problems and allow running tests in parallel.</td><td>false</td></tr>
 <tr><td>enableLocalTransport</td><td>Whether the bookie is allowed to listen for the BookKeeper clients executed on the local JVM.</td><td>false</td></tr>
 <tr><td>disableServerSocketBind</td><td>Whether the bookie is allowed to disable bind on network interfaces. This bookie will be available only to BookKeeper clients executed on the local JVM.</td><td>false</td></tr>
diff --git a/content/docs/zh-CN/2.7.0/reference-configuration/index.html b/content/docs/zh-CN/2.7.0/reference-configuration/index.html
index 1083cb1..53e74c5 100644
--- a/content/docs/zh-CN/2.7.0/reference-configuration/index.html
+++ b/content/docs/zh-CN/2.7.0/reference-configuration/index.html
@@ -155,30 +155,30 @@
 <tr><td>httpServerClass</td><td>Http服务器实现类。</td><td>org.apache.bookkeeper.http.vertx.VertxHttpServer</td></tr>
 <tr><td>serverTcpNoDelay</td><td>此设置用于启用/禁用 Nagle 的算法,该算法能通过减少通过网络发送的数据包数量来提高 TCP/IP 网络效率。 如果你正在发送许多小消息,这样在单个 IP 数据包中就可以放入不止一个消息,设置 server.tcpnodelay 为 false 来启用 Nagle 算法可以提供更好的性能。</td><td>true</td></tr>
 <tr><td>serverSockKeepalive</td><td>此设置用于在面向连接的套接字上发送 keep-alive 消息。</td><td>true</td></tr>
-<tr><td>serverTcpLinger</td><td>关闭时套接字延迟超时。 When enabled, a close or shutdown will not return until all queued messages for the socket have been successfully sent or the linger timeout has been reached. Otherwise, the call returns immediately and the closing is done in the background.</td><td>0</td></tr>
+<tr><td>serverTcpLinger</td><td>关闭时TCP延迟超时。 当启用时,关闭或关机将不会返回,直到TCP的所有排队消息都被成功发送或达到徘徊超时。 否则,调用将立即返回,关闭是在后台完成的。</td><td>0</td></tr>
 <tr><td>byteBufAllocatorSizeMax</td><td>ByteBuf分配器能够接受的最大buf的大小</td><td>1048576</td></tr>
 <tr><td>nettyMaxFrameSizeBytes</td><td>The maximum netty frame size in bytes. Any message received larger than this will be rejected.</td><td>5253120</td></tr>
 <tr><td>openFileLimit</td><td>在 bookie 服务器上可以打开 ledger 索引文件的最大数量。如果 ledger 索引文件数量达到这个限制,bookie 服务器会开始将一些 ledger 从内存交换到磁盘。 过于频繁的交换会影响性能。 你可以根据你的要求调整这个数字以获得性能提升。</td><td>0</td></tr>
 <tr><td>pageSize</td><td>Ledger 缓存中索引页的大小,是以字节为单位。一个大的索引页可以改善将页写入磁盘的性能。当你有少量有 ledger 并且这些 ledger 有着相似数量的条目时,会很高效。 如果你有大量的 ledger,而每个 ledger 都有较少的条目,较小的索引页面将会提高内存使用率。</td><td>8192</td></tr>
 <tr><td>pageLimit</td><td>在 ledger 缓存中提供多少索引页面。如果索引页面数量达到此限制,bookie 服务器会开始将一些 ledger 从内存交换到磁盘。 当你发现交换变得更频繁时,可以增加这个值。 但请确认 pageLimit*page 的大小不应超过 JVM 最大内存限制,否则你将会得到 OutOfMemoryException。 一般来说,增加pageLimit,使用较小的索引页会在条目较少的大账本中获得更好的性能。 如果pageLimit为-1,bookie服务将根据1/3的JVM内存来计算索引页的数量限制。</td><td>0</td></tr>
 <tr><td>readOnlyModeEnabled</td><td>如果所有已配置的 ledger 目录已满,则只支持客户的读取请求。 如果 “readOnlyModeEnabled=true” 那么当所有的 ledger 磁盘满时,bookie 会被转换为只读模式并只处理读请求。 否则 bookie 将被关闭。 默认情况下,这会被禁用。</td><td>true</td></tr>
-<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 If all ledger dir partitions are full, then bookie will turn to readonly mode if ‘readOnlyModeEnabled=true’ is set, else it will shutdown. 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
+<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 如果所有的ledger目录分区都满了,那么如果设置了'readOnlyModeEnabled=true',bookie将转为只读模式,否则它将关闭。 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
 <tr><td>diskCheckInterval</td><td>磁盘检查间隔,以毫秒为单位,检查 ledger 目录使用情况的时间间隔。</td><td>10000</td></tr>
 <tr><td>auditorPeriodicCheckInterval</td><td>审查者对集群内所有 ledger 进行核对的时间间隔。 默认情况下,每周运行一次。 间隔以秒为单位。 要完全禁用定期检查,请将此设置为 0。 请注意,定期检查会给集群带来额外的负荷,因此每天的运行次数不应超过一次。</td><td>604800</td></tr>
 <tr><td>sortedLedgerStorageEnabled</td><td>Whether sorted-ledger storage is enabled.</td><td>true</td></tr>
 <tr><td>auditorPeriodicBookieCheckInterval</td><td>审查者 bookie 检查的时间间隔。 审查者 bookie 检查,检查 ledger 的元数据来查看哪些 bookie 应该包含各个 ledger 的条目。 如果本应包含条目的 bookie 不可用,包含该条目的 ledger 会被标记去做恢复。 设置为 0 会禁用定期检查。 当 bookie 失效时,bookie 检查仍然会进行。 间隔以秒为单位。</td><td>86400</td></tr>
 <tr><td>numAddWorkerThreads</td><td>The number of threads that should handle write requests. 如果设置为 0,写入请求将直接被 nerry 线程进行处理。</td><td>0</td></tr>
 <tr><td>numReadWorkerThreads</td><td>The number of threads that should handle read requests. 如果设置为 0,读取请求将直接被 netty 线程处理。</td><td>8</td></tr>
-<tr><td>numHighPriorityWorkerThreads</td><td>The umber of threads that should be used for high priority requests (i.e. recovery reads and adds, and fencing).</td><td>8</td></tr>
+<tr><td>numHighPriorityWorkerThreads</td><td>用于高优先级请求的线程数量(例如恢复读和添加,以及fencing)。</td><td>8</td></tr>
 <tr><td>maxPendingReadRequestsPerThread</td><td>如果启用了读 worker 线程,限制待处理请求的数量,以避免执行器队列无止境增长。</td><td>2500</td></tr>
-<tr><td>maxPendingAddRequestsPerThread</td><td>The limited number of pending requests, which is used to avoid the executor queue to grow indefinitely when add workers threads are enabled.</td><td>10000</td></tr>
-<tr><td>isForceGCAllowWhenNoSpace</td><td>Whether force compaction is allowed when the disk is full or almost full. Forcing GC could get some space back, but could also fill up the disk space more quickly. This is because new log files are created before GC, while old garbage log files are deleted after GC.</td><td>false</td></tr>
-<tr><td>verifyMetadataOnGC</td><td>True if the bookie should double check <code>readMetadata</code> prior to GC.</td><td>false</td></tr>
+<tr><td>maxPendingAddRequestsPerThread</td><td>待处理请求的限制的线程数量。用于避免在启用添加工作线程时,执行者队列无限期增长。</td><td>10000</td></tr>
+<tr><td>isForceGCAllowWhenNoSpace</td><td>当磁盘已满或快满时,是否允许强制压缩。 强制GC可以找回一些空间,但也可能更快地填满磁盘空间。 这是因为新的日志文件是在GC之前创建的,而旧的垃圾日志文件在GC之后被删除。</td><td>false</td></tr>
+<tr><td>verifyMetadataOnGC</td><td>设置了true,bookie就会在GC之前去复查<code>readMetadata</code></td><td>false</td></tr>
 <tr><td>flushEntrylogBytes</td><td>Entry log flush interval in bytes. Flushing in smaller chunks but more frequently reduces spikes in disk I/O. Flushing too frequently may also affect performance negatively.</td><td>268435456</td></tr>
 <tr><td>readBufferSizeBytes</td><td>用作 BufferedReadChannel 容量的字节数量。</td><td>4096</td></tr>
 <tr><td>writeBufferSizeBytes</td><td>用作写缓存容量的字节数</td><td>65536</td></tr>
 <tr><td>useHostNameAsBookieID</td><td>是否使用主机名去注册 bookie 的协调服务(如:Zookeeper)。 When false, bookie will use its ip address for the registration.</td><td>false</td></tr>
-<tr><td>bookieId</td><td>If you want to custom a bookie ID or use a dynamic network address for the bookie, you can set the <code>bookieId</code>. <br><br>Bookie advertises itself using the <code>bookieId</code> rather than the <code>BookieSocketAddress</code> (<code>hostname:port</code> or <code>IP:port</code>). If you set the <code>bookieId</code>, then the <code>useHostNameAsBookieID</code> does not take effect.<br><br>The <code>bookieId</code> is a non-empty string that can contain A [...]
+<tr><td>bookieId</td><td>如果你想定制一个bookie的ID,或者为bookie使用一个动态网络地址, 你可以设置 <code>bookieId</code>的值。 <br><br>Bookie advertises itself using the <code>bookieId</code> rather than the <code>BookieSocketAddress</code> (<code>hostname:port</code> or <code>IP:port</code>). If you set the <code>bookieId</code>, then the <code>useHostNameAsBookieID</code> does not take effect.<br><br>The <code>bookieId</code> is a non-empty string that can contain ASCII digits and letters ([a-zA-Z9-0]), colons, dashe [...]
 <tr><td>allowEphemeralPorts</td><td>Whether the bookie is allowed to use an ephemeral port (port 0) as its server port. By default, an ephemeral port is not allowed. Using an ephemeral port as the service port usually indicates a configuration error. However, in unit tests, using an ephemeral port will address port conflict problems and allow running tests in parallel.</td><td>false</td></tr>
 <tr><td>enableLocalTransport</td><td>Whether the bookie is allowed to listen for the BookKeeper clients executed on the local JVM.</td><td>false</td></tr>
 <tr><td>disableServerSocketBind</td><td>Whether the bookie is allowed to disable bind on network interfaces. This bookie will be available only to BookKeeper clients executed on the local JVM.</td><td>false</td></tr>
diff --git a/content/docs/zh-CN/2.7.1/reference-configuration.html b/content/docs/zh-CN/2.7.1/reference-configuration.html
index 2d06144..9b3d708 100644
--- a/content/docs/zh-CN/2.7.1/reference-configuration.html
+++ b/content/docs/zh-CN/2.7.1/reference-configuration.html
@@ -155,30 +155,30 @@
 <tr><td>httpServerClass</td><td>Http服务器实现类。</td><td>org.apache.bookkeeper.http.vertx.VertxHttpServer</td></tr>
 <tr><td>serverTcpNoDelay</td><td>此设置用于启用/禁用 Nagle 的算法,该算法能通过减少通过网络发送的数据包数量来提高 TCP/IP 网络效率。 如果你正在发送许多小消息,这样在单个 IP 数据包中就可以放入不止一个消息,设置 server.tcpnodelay 为 false 来启用 Nagle 算法可以提供更好的性能。</td><td>true</td></tr>
 <tr><td>serverSockKeepalive</td><td>此设置用于在面向连接的套接字上发送 keep-alive 消息。</td><td>true</td></tr>
-<tr><td>serverTcpLinger</td><td>关闭时套接字延迟超时。 When enabled, a close or shutdown will not return until all queued messages for the socket have been successfully sent or the linger timeout has been reached. Otherwise, the call returns immediately and the closing is done in the background.</td><td>0</td></tr>
+<tr><td>serverTcpLinger</td><td>关闭时TCP延迟超时。 当启用时,关闭或关机将不会返回,直到TCP的所有排队消息都被成功发送或达到徘徊超时。 否则,调用将立即返回,关闭是在后台完成的。</td><td>0</td></tr>
 <tr><td>byteBufAllocatorSizeMax</td><td>ByteBuf分配器能够接受的最大buf的大小</td><td>1048576</td></tr>
 <tr><td>nettyMaxFrameSizeBytes</td><td>The maximum netty frame size in bytes. Any message received larger than this will be rejected.</td><td>5253120</td></tr>
 <tr><td>openFileLimit</td><td>在 bookie 服务器上可以打开 ledger 索引文件的最大数量。如果 ledger 索引文件数量达到这个限制,bookie 服务器会开始将一些 ledger 从内存交换到磁盘。 过于频繁的交换会影响性能。 你可以根据你的要求调整这个数字以获得性能提升。</td><td>0</td></tr>
 <tr><td>pageSize</td><td>Ledger 缓存中索引页的大小,是以字节为单位。一个大的索引页可以改善将页写入磁盘的性能。当你有少量有 ledger 并且这些 ledger 有着相似数量的条目时,会很高效。 如果你有大量的 ledger,而每个 ledger 都有较少的条目,较小的索引页面将会提高内存使用率。</td><td>8192</td></tr>
 <tr><td>pageLimit</td><td>在 ledger 缓存中提供多少索引页面。如果索引页面数量达到此限制,bookie 服务器会开始将一些 ledger 从内存交换到磁盘。 当你发现交换变得更频繁时,可以增加这个值。 但请确认 pageLimit*page 的大小不应超过 JVM 最大内存限制,否则你将会得到 OutOfMemoryException。 一般来说,增加pageLimit,使用较小的索引页会在条目较少的大账本中获得更好的性能。 如果pageLimit为-1,bookie服务将根据1/3的JVM内存来计算索引页的数量限制。</td><td>0</td></tr>
 <tr><td>readOnlyModeEnabled</td><td>如果所有已配置的 ledger 目录已满,则只支持客户的读取请求。 如果 “readOnlyModeEnabled=true” 那么当所有的 ledger 磁盘满时,bookie 会被转换为只读模式并只处理读请求。 否则 bookie 将被关闭。 默认情况下,这会被禁用。</td><td>true</td></tr>
-<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 If all ledger dir partitions are full, then bookie will turn to readonly mode if ‘readOnlyModeEnabled=true’ is set, else it will shutdown. 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
+<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 如果所有的ledger目录分区都满了,那么如果设置了'readOnlyModeEnabled=true',bookie将转为只读模式,否则它将关闭。 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
 <tr><td>diskCheckInterval</td><td>磁盘检查间隔,以毫秒为单位,检查 ledger 目录使用情况的时间间隔。</td><td>10000</td></tr>
 <tr><td>auditorPeriodicCheckInterval</td><td>审查者对集群内所有 ledger 进行核对的时间间隔。 默认情况下,每周运行一次。 间隔以秒为单位。 要完全禁用定期检查,请将此设置为 0。 请注意,定期检查会给集群带来额外的负荷,因此每天的运行次数不应超过一次。</td><td>604800</td></tr>
 <tr><td>sortedLedgerStorageEnabled</td><td>Whether sorted-ledger storage is enabled.</td><td>true</td></tr>
 <tr><td>auditorPeriodicBookieCheckInterval</td><td>审查者 bookie 检查的时间间隔。 审查者 bookie 检查,检查 ledger 的元数据来查看哪些 bookie 应该包含各个 ledger 的条目。 如果本应包含条目的 bookie 不可用,包含该条目的 ledger 会被标记去做恢复。 设置为 0 会禁用定期检查。 当 bookie 失效时,bookie 检查仍然会进行。 间隔以秒为单位。</td><td>86400</td></tr>
 <tr><td>numAddWorkerThreads</td><td>The number of threads that should handle write requests. 如果设置为 0,写入请求将直接被 nerry 线程进行处理。</td><td>0</td></tr>
 <tr><td>numReadWorkerThreads</td><td>The number of threads that should handle read requests. 如果设置为 0,读取请求将直接被 netty 线程处理。</td><td>8</td></tr>
-<tr><td>numHighPriorityWorkerThreads</td><td>The umber of threads that should be used for high priority requests (i.e. recovery reads and adds, and fencing).</td><td>8</td></tr>
+<tr><td>numHighPriorityWorkerThreads</td><td>用于高优先级请求的线程数量(例如恢复读和添加,以及fencing)。</td><td>8</td></tr>
 <tr><td>maxPendingReadRequestsPerThread</td><td>如果启用了读 worker 线程,限制待处理请求的数量,以避免执行器队列无止境增长。</td><td>2500</td></tr>
-<tr><td>maxPendingAddRequestsPerThread</td><td>The limited number of pending requests, which is used to avoid the executor queue to grow indefinitely when add workers threads are enabled.</td><td>10000</td></tr>
-<tr><td>isForceGCAllowWhenNoSpace</td><td>Whether force compaction is allowed when the disk is full or almost full. Forcing GC could get some space back, but could also fill up the disk space more quickly. This is because new log files are created before GC, while old garbage log files are deleted after GC.</td><td>false</td></tr>
-<tr><td>verifyMetadataOnGC</td><td>True if the bookie should double check <code>readMetadata</code> prior to GC.</td><td>false</td></tr>
+<tr><td>maxPendingAddRequestsPerThread</td><td>待处理请求的限制的线程数量。用于避免在启用添加工作线程时,执行者队列无限期增长。</td><td>10000</td></tr>
+<tr><td>isForceGCAllowWhenNoSpace</td><td>当磁盘已满或快满时,是否允许强制压缩。 强制GC可以找回一些空间,但也可能更快地填满磁盘空间。 这是因为新的日志文件是在GC之前创建的,而旧的垃圾日志文件在GC之后被删除。</td><td>false</td></tr>
+<tr><td>verifyMetadataOnGC</td><td>设置了true,bookie就会在GC之前去复查<code>readMetadata</code></td><td>false</td></tr>
 <tr><td>flushEntrylogBytes</td><td>Entry log flush interval in bytes. Flushing in smaller chunks but more frequently reduces spikes in disk I/O. Flushing too frequently may also affect performance negatively.</td><td>268435456</td></tr>
 <tr><td>readBufferSizeBytes</td><td>用作 BufferedReadChannel 容量的字节数量。</td><td>4096</td></tr>
 <tr><td>writeBufferSizeBytes</td><td>用作写缓存容量的字节数</td><td>65536</td></tr>
 <tr><td>useHostNameAsBookieID</td><td>是否使用主机名去注册 bookie 的协调服务(如:Zookeeper)。 When false, bookie will use its ip address for the registration.</td><td>false</td></tr>
-<tr><td>bookieId</td><td>If you want to custom a bookie ID or use a dynamic network address for the bookie, you can set the <code>bookieId</code>. <br><br>Bookie advertises itself using the <code>bookieId</code> rather than the <code>BookieSocketAddress</code> (<code>hostname:port</code> or <code>IP:port</code>). If you set the <code>bookieId</code>, then the <code>useHostNameAsBookieID</code> does not take effect.<br><br>The <code>bookieId</code> is a non-empty string that can contain A [...]
+<tr><td>bookieId</td><td>如果你想定制一个bookie的ID,或者为bookie使用一个动态网络地址, 你可以设置 <code>bookieId</code>的值。 <br><br>Bookie advertises itself using the <code>bookieId</code> rather than the <code>BookieSocketAddress</code> (<code>hostname:port</code> or <code>IP:port</code>). If you set the <code>bookieId</code>, then the <code>useHostNameAsBookieID</code> does not take effect.<br><br>The <code>bookieId</code> is a non-empty string that can contain ASCII digits and letters ([a-zA-Z9-0]), colons, dashe [...]
 <tr><td>allowEphemeralPorts</td><td>Whether the bookie is allowed to use an ephemeral port (port 0) as its server port. By default, an ephemeral port is not allowed. Using an ephemeral port as the service port usually indicates a configuration error. However, in unit tests, using an ephemeral port will address port conflict problems and allow running tests in parallel.</td><td>false</td></tr>
 <tr><td>enableLocalTransport</td><td>Whether the bookie is allowed to listen for the BookKeeper clients executed on the local JVM.</td><td>false</td></tr>
 <tr><td>disableServerSocketBind</td><td>Whether the bookie is allowed to disable bind on network interfaces. This bookie will be available only to BookKeeper clients executed on the local JVM.</td><td>false</td></tr>
diff --git a/content/docs/zh-CN/2.7.1/reference-configuration/index.html b/content/docs/zh-CN/2.7.1/reference-configuration/index.html
index 2d06144..9b3d708 100644
--- a/content/docs/zh-CN/2.7.1/reference-configuration/index.html
+++ b/content/docs/zh-CN/2.7.1/reference-configuration/index.html
@@ -155,30 +155,30 @@
 <tr><td>httpServerClass</td><td>Http服务器实现类。</td><td>org.apache.bookkeeper.http.vertx.VertxHttpServer</td></tr>
 <tr><td>serverTcpNoDelay</td><td>此设置用于启用/禁用 Nagle 的算法,该算法能通过减少通过网络发送的数据包数量来提高 TCP/IP 网络效率。 如果你正在发送许多小消息,这样在单个 IP 数据包中就可以放入不止一个消息,设置 server.tcpnodelay 为 false 来启用 Nagle 算法可以提供更好的性能。</td><td>true</td></tr>
 <tr><td>serverSockKeepalive</td><td>此设置用于在面向连接的套接字上发送 keep-alive 消息。</td><td>true</td></tr>
-<tr><td>serverTcpLinger</td><td>关闭时套接字延迟超时。 When enabled, a close or shutdown will not return until all queued messages for the socket have been successfully sent or the linger timeout has been reached. Otherwise, the call returns immediately and the closing is done in the background.</td><td>0</td></tr>
+<tr><td>serverTcpLinger</td><td>关闭时TCP延迟超时。 当启用时,关闭或关机将不会返回,直到TCP的所有排队消息都被成功发送或达到徘徊超时。 否则,调用将立即返回,关闭是在后台完成的。</td><td>0</td></tr>
 <tr><td>byteBufAllocatorSizeMax</td><td>ByteBuf分配器能够接受的最大buf的大小</td><td>1048576</td></tr>
 <tr><td>nettyMaxFrameSizeBytes</td><td>The maximum netty frame size in bytes. Any message received larger than this will be rejected.</td><td>5253120</td></tr>
 <tr><td>openFileLimit</td><td>在 bookie 服务器上可以打开 ledger 索引文件的最大数量。如果 ledger 索引文件数量达到这个限制,bookie 服务器会开始将一些 ledger 从内存交换到磁盘。 过于频繁的交换会影响性能。 你可以根据你的要求调整这个数字以获得性能提升。</td><td>0</td></tr>
 <tr><td>pageSize</td><td>Ledger 缓存中索引页的大小,是以字节为单位。一个大的索引页可以改善将页写入磁盘的性能。当你有少量有 ledger 并且这些 ledger 有着相似数量的条目时,会很高效。 如果你有大量的 ledger,而每个 ledger 都有较少的条目,较小的索引页面将会提高内存使用率。</td><td>8192</td></tr>
 <tr><td>pageLimit</td><td>在 ledger 缓存中提供多少索引页面。如果索引页面数量达到此限制,bookie 服务器会开始将一些 ledger 从内存交换到磁盘。 当你发现交换变得更频繁时,可以增加这个值。 但请确认 pageLimit*page 的大小不应超过 JVM 最大内存限制,否则你将会得到 OutOfMemoryException。 一般来说,增加pageLimit,使用较小的索引页会在条目较少的大账本中获得更好的性能。 如果pageLimit为-1,bookie服务将根据1/3的JVM内存来计算索引页的数量限制。</td><td>0</td></tr>
 <tr><td>readOnlyModeEnabled</td><td>如果所有已配置的 ledger 目录已满,则只支持客户的读取请求。 如果 “readOnlyModeEnabled=true” 那么当所有的 ledger 磁盘满时,bookie 会被转换为只读模式并只处理读请求。 否则 bookie 将被关闭。 默认情况下,这会被禁用。</td><td>true</td></tr>
-<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 If all ledger dir partitions are full, then bookie will turn to readonly mode if ‘readOnlyModeEnabled=true’ is set, else it will shutdown. 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
+<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 如果所有的ledger目录分区都满了,那么如果设置了'readOnlyModeEnabled=true',bookie将转为只读模式,否则它将关闭。 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
 <tr><td>diskCheckInterval</td><td>磁盘检查间隔,以毫秒为单位,检查 ledger 目录使用情况的时间间隔。</td><td>10000</td></tr>
 <tr><td>auditorPeriodicCheckInterval</td><td>审查者对集群内所有 ledger 进行核对的时间间隔。 默认情况下,每周运行一次。 间隔以秒为单位。 要完全禁用定期检查,请将此设置为 0。 请注意,定期检查会给集群带来额外的负荷,因此每天的运行次数不应超过一次。</td><td>604800</td></tr>
 <tr><td>sortedLedgerStorageEnabled</td><td>Whether sorted-ledger storage is enabled.</td><td>true</td></tr>
 <tr><td>auditorPeriodicBookieCheckInterval</td><td>审查者 bookie 检查的时间间隔。 审查者 bookie 检查,检查 ledger 的元数据来查看哪些 bookie 应该包含各个 ledger 的条目。 如果本应包含条目的 bookie 不可用,包含该条目的 ledger 会被标记去做恢复。 设置为 0 会禁用定期检查。 当 bookie 失效时,bookie 检查仍然会进行。 间隔以秒为单位。</td><td>86400</td></tr>
 <tr><td>numAddWorkerThreads</td><td>The number of threads that should handle write requests. 如果设置为 0,写入请求将直接被 nerry 线程进行处理。</td><td>0</td></tr>
 <tr><td>numReadWorkerThreads</td><td>The number of threads that should handle read requests. 如果设置为 0,读取请求将直接被 netty 线程处理。</td><td>8</td></tr>
-<tr><td>numHighPriorityWorkerThreads</td><td>The umber of threads that should be used for high priority requests (i.e. recovery reads and adds, and fencing).</td><td>8</td></tr>
+<tr><td>numHighPriorityWorkerThreads</td><td>用于高优先级请求的线程数量(例如恢复读和添加,以及fencing)。</td><td>8</td></tr>
 <tr><td>maxPendingReadRequestsPerThread</td><td>如果启用了读 worker 线程,限制待处理请求的数量,以避免执行器队列无止境增长。</td><td>2500</td></tr>
-<tr><td>maxPendingAddRequestsPerThread</td><td>The limited number of pending requests, which is used to avoid the executor queue to grow indefinitely when add workers threads are enabled.</td><td>10000</td></tr>
-<tr><td>isForceGCAllowWhenNoSpace</td><td>Whether force compaction is allowed when the disk is full or almost full. Forcing GC could get some space back, but could also fill up the disk space more quickly. This is because new log files are created before GC, while old garbage log files are deleted after GC.</td><td>false</td></tr>
-<tr><td>verifyMetadataOnGC</td><td>True if the bookie should double check <code>readMetadata</code> prior to GC.</td><td>false</td></tr>
+<tr><td>maxPendingAddRequestsPerThread</td><td>待处理请求的限制的线程数量。用于避免在启用添加工作线程时,执行者队列无限期增长。</td><td>10000</td></tr>
+<tr><td>isForceGCAllowWhenNoSpace</td><td>当磁盘已满或快满时,是否允许强制压缩。 强制GC可以找回一些空间,但也可能更快地填满磁盘空间。 这是因为新的日志文件是在GC之前创建的,而旧的垃圾日志文件在GC之后被删除。</td><td>false</td></tr>
+<tr><td>verifyMetadataOnGC</td><td>设置了true,bookie就会在GC之前去复查<code>readMetadata</code></td><td>false</td></tr>
 <tr><td>flushEntrylogBytes</td><td>Entry log flush interval in bytes. Flushing in smaller chunks but more frequently reduces spikes in disk I/O. Flushing too frequently may also affect performance negatively.</td><td>268435456</td></tr>
 <tr><td>readBufferSizeBytes</td><td>用作 BufferedReadChannel 容量的字节数量。</td><td>4096</td></tr>
 <tr><td>writeBufferSizeBytes</td><td>用作写缓存容量的字节数</td><td>65536</td></tr>
 <tr><td>useHostNameAsBookieID</td><td>是否使用主机名去注册 bookie 的协调服务(如:Zookeeper)。 When false, bookie will use its ip address for the registration.</td><td>false</td></tr>
-<tr><td>bookieId</td><td>If you want to custom a bookie ID or use a dynamic network address for the bookie, you can set the <code>bookieId</code>. <br><br>Bookie advertises itself using the <code>bookieId</code> rather than the <code>BookieSocketAddress</code> (<code>hostname:port</code> or <code>IP:port</code>). If you set the <code>bookieId</code>, then the <code>useHostNameAsBookieID</code> does not take effect.<br><br>The <code>bookieId</code> is a non-empty string that can contain A [...]
+<tr><td>bookieId</td><td>如果你想定制一个bookie的ID,或者为bookie使用一个动态网络地址, 你可以设置 <code>bookieId</code>的值。 <br><br>Bookie advertises itself using the <code>bookieId</code> rather than the <code>BookieSocketAddress</code> (<code>hostname:port</code> or <code>IP:port</code>). If you set the <code>bookieId</code>, then the <code>useHostNameAsBookieID</code> does not take effect.<br><br>The <code>bookieId</code> is a non-empty string that can contain ASCII digits and letters ([a-zA-Z9-0]), colons, dashe [...]
 <tr><td>allowEphemeralPorts</td><td>Whether the bookie is allowed to use an ephemeral port (port 0) as its server port. By default, an ephemeral port is not allowed. Using an ephemeral port as the service port usually indicates a configuration error. However, in unit tests, using an ephemeral port will address port conflict problems and allow running tests in parallel.</td><td>false</td></tr>
 <tr><td>enableLocalTransport</td><td>Whether the bookie is allowed to listen for the BookKeeper clients executed on the local JVM.</td><td>false</td></tr>
 <tr><td>disableServerSocketBind</td><td>Whether the bookie is allowed to disable bind on network interfaces. This bookie will be available only to BookKeeper clients executed on the local JVM.</td><td>false</td></tr>
diff --git a/content/docs/zh-CN/2.7.2/reference-configuration.html b/content/docs/zh-CN/2.7.2/reference-configuration.html
index 3f0e9e8..353d1030 100644
--- a/content/docs/zh-CN/2.7.2/reference-configuration.html
+++ b/content/docs/zh-CN/2.7.2/reference-configuration.html
@@ -155,30 +155,30 @@
 <tr><td>httpServerClass</td><td>Http服务器实现类。</td><td>org.apache.bookkeeper.http.vertx.VertxHttpServer</td></tr>
 <tr><td>serverTcpNoDelay</td><td>此设置用于启用/禁用 Nagle 的算法,该算法能通过减少通过网络发送的数据包数量来提高 TCP/IP 网络效率。 如果你正在发送许多小消息,这样在单个 IP 数据包中就可以放入不止一个消息,设置 server.tcpnodelay 为 false 来启用 Nagle 算法可以提供更好的性能。</td><td>true</td></tr>
 <tr><td>serverSockKeepalive</td><td>此设置用于在面向连接的套接字上发送 keep-alive 消息。</td><td>true</td></tr>
-<tr><td>serverTcpLinger</td><td>关闭时套接字延迟超时。 When enabled, a close or shutdown will not return until all queued messages for the socket have been successfully sent or the linger timeout has been reached. Otherwise, the call returns immediately and the closing is done in the background.</td><td>0</td></tr>
+<tr><td>serverTcpLinger</td><td>关闭时TCP延迟超时。 当启用时,关闭或关机将不会返回,直到TCP的所有排队消息都被成功发送或达到徘徊超时。 否则,调用将立即返回,关闭是在后台完成的。</td><td>0</td></tr>
 <tr><td>byteBufAllocatorSizeMax</td><td>ByteBuf分配器能够接受的最大buf的大小</td><td>1048576</td></tr>
 <tr><td>nettyMaxFrameSizeBytes</td><td>The maximum netty frame size in bytes. Any message received larger than this will be rejected.</td><td>5253120</td></tr>
 <tr><td>openFileLimit</td><td>在 bookie 服务器上可以打开 ledger 索引文件的最大数量。如果 ledger 索引文件数量达到这个限制,bookie 服务器会开始将一些 ledger 从内存交换到磁盘。 过于频繁的交换会影响性能。 你可以根据你的要求调整这个数字以获得性能提升。</td><td>0</td></tr>
 <tr><td>pageSize</td><td>Ledger 缓存中索引页的大小,是以字节为单位。一个大的索引页可以改善将页写入磁盘的性能。当你有少量有 ledger 并且这些 ledger 有着相似数量的条目时,会很高效。 如果你有大量的 ledger,而每个 ledger 都有较少的条目,较小的索引页面将会提高内存使用率。</td><td>8192</td></tr>
 <tr><td>pageLimit</td><td>在 ledger 缓存中提供多少索引页面。如果索引页面数量达到此限制,bookie 服务器会开始将一些 ledger 从内存交换到磁盘。 当你发现交换变得更频繁时,可以增加这个值。 但请确认 pageLimit*page 的大小不应超过 JVM 最大内存限制,否则你将会得到 OutOfMemoryException。 一般来说,增加pageLimit,使用较小的索引页会在条目较少的大账本中获得更好的性能。 如果pageLimit为-1,bookie服务将根据1/3的JVM内存来计算索引页的数量限制。</td><td>0</td></tr>
 <tr><td>readOnlyModeEnabled</td><td>如果所有已配置的 ledger 目录已满,则只支持客户的读取请求。 如果 “readOnlyModeEnabled=true” 那么当所有的 ledger 磁盘满时,bookie 会被转换为只读模式并只处理读请求。 否则 bookie 将被关闭。 默认情况下,这会被禁用。</td><td>true</td></tr>
-<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 If all ledger dir partitions are full, then bookie will turn to readonly mode if ‘readOnlyModeEnabled=true’ is set, else it will shutdown. 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
+<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 如果所有的ledger目录分区都满了,那么如果设置了'readOnlyModeEnabled=true',bookie将转为只读模式,否则它将关闭。 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
 <tr><td>diskCheckInterval</td><td>磁盘检查间隔,以毫秒为单位,检查 ledger 目录使用情况的时间间隔。</td><td>10000</td></tr>
 <tr><td>auditorPeriodicCheckInterval</td><td>审查者对集群内所有 ledger 进行核对的时间间隔。 默认情况下,每周运行一次。 间隔以秒为单位。 要完全禁用定期检查,请将此设置为 0。 请注意,定期检查会给集群带来额外的负荷,因此每天的运行次数不应超过一次。</td><td>604800</td></tr>
 <tr><td>sortedLedgerStorageEnabled</td><td>Whether sorted-ledger storage is enabled.</td><td>true</td></tr>
 <tr><td>auditorPeriodicBookieCheckInterval</td><td>审查者 bookie 检查的时间间隔。 审查者 bookie 检查,检查 ledger 的元数据来查看哪些 bookie 应该包含各个 ledger 的条目。 如果本应包含条目的 bookie 不可用,包含该条目的 ledger 会被标记去做恢复。 设置为 0 会禁用定期检查。 当 bookie 失效时,bookie 检查仍然会进行。 间隔以秒为单位。</td><td>86400</td></tr>
 <tr><td>numAddWorkerThreads</td><td>The number of threads that should handle write requests. 如果设置为 0,写入请求将直接被 nerry 线程进行处理。</td><td>0</td></tr>
 <tr><td>numReadWorkerThreads</td><td>The number of threads that should handle read requests. 如果设置为 0,读取请求将直接被 netty 线程处理。</td><td>8</td></tr>
-<tr><td>numHighPriorityWorkerThreads</td><td>The umber of threads that should be used for high priority requests (i.e. recovery reads and adds, and fencing).</td><td>8</td></tr>
+<tr><td>numHighPriorityWorkerThreads</td><td>用于高优先级请求的线程数量(例如恢复读和添加,以及fencing)。</td><td>8</td></tr>
 <tr><td>maxPendingReadRequestsPerThread</td><td>如果启用了读 worker 线程,限制待处理请求的数量,以避免执行器队列无止境增长。</td><td>2500</td></tr>
-<tr><td>maxPendingAddRequestsPerThread</td><td>The limited number of pending requests, which is used to avoid the executor queue to grow indefinitely when add workers threads are enabled.</td><td>10000</td></tr>
-<tr><td>isForceGCAllowWhenNoSpace</td><td>Whether force compaction is allowed when the disk is full or almost full. Forcing GC could get some space back, but could also fill up the disk space more quickly. This is because new log files are created before GC, while old garbage log files are deleted after GC.</td><td>false</td></tr>
-<tr><td>verifyMetadataOnGC</td><td>True if the bookie should double check <code>readMetadata</code> prior to GC.</td><td>false</td></tr>
+<tr><td>maxPendingAddRequestsPerThread</td><td>待处理请求的限制的线程数量。用于避免在启用添加工作线程时,执行者队列无限期增长。</td><td>10000</td></tr>
+<tr><td>isForceGCAllowWhenNoSpace</td><td>当磁盘已满或快满时,是否允许强制压缩。 强制GC可以找回一些空间,但也可能更快地填满磁盘空间。 这是因为新的日志文件是在GC之前创建的,而旧的垃圾日志文件在GC之后被删除。</td><td>false</td></tr>
+<tr><td>verifyMetadataOnGC</td><td>设置了true,bookie就会在GC之前去复查<code>readMetadata</code></td><td>false</td></tr>
 <tr><td>flushEntrylogBytes</td><td>Entry log flush interval in bytes. Flushing in smaller chunks but more frequently reduces spikes in disk I/O. Flushing too frequently may also affect performance negatively.</td><td>268435456</td></tr>
 <tr><td>readBufferSizeBytes</td><td>用作 BufferedReadChannel 容量的字节数量。</td><td>4096</td></tr>
 <tr><td>writeBufferSizeBytes</td><td>用作写缓存容量的字节数</td><td>65536</td></tr>
 <tr><td>useHostNameAsBookieID</td><td>是否使用主机名去注册 bookie 的协调服务(如:Zookeeper)。 When false, bookie will use its ip address for the registration.</td><td>false</td></tr>
-<tr><td>bookieId</td><td>If you want to custom a bookie ID or use a dynamic network address for the bookie, you can set the <code>bookieId</code>. <br><br>Bookie advertises itself using the <code>bookieId</code> rather than the <code>BookieSocketAddress</code> (<code>hostname:port</code> or <code>IP:port</code>). If you set the <code>bookieId</code>, then the <code>useHostNameAsBookieID</code> does not take effect.<br><br>The <code>bookieId</code> is a non-empty string that can contain A [...]
+<tr><td>bookieId</td><td>如果你想定制一个bookie的ID,或者为bookie使用一个动态网络地址, 你可以设置 <code>bookieId</code>的值。 <br><br>Bookie advertises itself using the <code>bookieId</code> rather than the <code>BookieSocketAddress</code> (<code>hostname:port</code> or <code>IP:port</code>). If you set the <code>bookieId</code>, then the <code>useHostNameAsBookieID</code> does not take effect.<br><br>The <code>bookieId</code> is a non-empty string that can contain ASCII digits and letters ([a-zA-Z9-0]), colons, dashe [...]
 <tr><td>allowEphemeralPorts</td><td>Whether the bookie is allowed to use an ephemeral port (port 0) as its server port. By default, an ephemeral port is not allowed. Using an ephemeral port as the service port usually indicates a configuration error. However, in unit tests, using an ephemeral port will address port conflict problems and allow running tests in parallel.</td><td>false</td></tr>
 <tr><td>enableLocalTransport</td><td>Whether the bookie is allowed to listen for the BookKeeper clients executed on the local JVM.</td><td>false</td></tr>
 <tr><td>disableServerSocketBind</td><td>Whether the bookie is allowed to disable bind on network interfaces. This bookie will be available only to BookKeeper clients executed on the local JVM.</td><td>false</td></tr>
diff --git a/content/docs/zh-CN/2.7.2/reference-configuration/index.html b/content/docs/zh-CN/2.7.2/reference-configuration/index.html
index 3f0e9e8..353d1030 100644
--- a/content/docs/zh-CN/2.7.2/reference-configuration/index.html
+++ b/content/docs/zh-CN/2.7.2/reference-configuration/index.html
@@ -155,30 +155,30 @@
 <tr><td>httpServerClass</td><td>Http服务器实现类。</td><td>org.apache.bookkeeper.http.vertx.VertxHttpServer</td></tr>
 <tr><td>serverTcpNoDelay</td><td>此设置用于启用/禁用 Nagle 的算法,该算法能通过减少通过网络发送的数据包数量来提高 TCP/IP 网络效率。 如果你正在发送许多小消息,这样在单个 IP 数据包中就可以放入不止一个消息,设置 server.tcpnodelay 为 false 来启用 Nagle 算法可以提供更好的性能。</td><td>true</td></tr>
 <tr><td>serverSockKeepalive</td><td>此设置用于在面向连接的套接字上发送 keep-alive 消息。</td><td>true</td></tr>
-<tr><td>serverTcpLinger</td><td>关闭时套接字延迟超时。 When enabled, a close or shutdown will not return until all queued messages for the socket have been successfully sent or the linger timeout has been reached. Otherwise, the call returns immediately and the closing is done in the background.</td><td>0</td></tr>
+<tr><td>serverTcpLinger</td><td>关闭时TCP延迟超时。 当启用时,关闭或关机将不会返回,直到TCP的所有排队消息都被成功发送或达到徘徊超时。 否则,调用将立即返回,关闭是在后台完成的。</td><td>0</td></tr>
 <tr><td>byteBufAllocatorSizeMax</td><td>ByteBuf分配器能够接受的最大buf的大小</td><td>1048576</td></tr>
 <tr><td>nettyMaxFrameSizeBytes</td><td>The maximum netty frame size in bytes. Any message received larger than this will be rejected.</td><td>5253120</td></tr>
 <tr><td>openFileLimit</td><td>在 bookie 服务器上可以打开 ledger 索引文件的最大数量。如果 ledger 索引文件数量达到这个限制,bookie 服务器会开始将一些 ledger 从内存交换到磁盘。 过于频繁的交换会影响性能。 你可以根据你的要求调整这个数字以获得性能提升。</td><td>0</td></tr>
 <tr><td>pageSize</td><td>Ledger 缓存中索引页的大小,是以字节为单位。一个大的索引页可以改善将页写入磁盘的性能。当你有少量有 ledger 并且这些 ledger 有着相似数量的条目时,会很高效。 如果你有大量的 ledger,而每个 ledger 都有较少的条目,较小的索引页面将会提高内存使用率。</td><td>8192</td></tr>
 <tr><td>pageLimit</td><td>在 ledger 缓存中提供多少索引页面。如果索引页面数量达到此限制,bookie 服务器会开始将一些 ledger 从内存交换到磁盘。 当你发现交换变得更频繁时,可以增加这个值。 但请确认 pageLimit*page 的大小不应超过 JVM 最大内存限制,否则你将会得到 OutOfMemoryException。 一般来说,增加pageLimit,使用较小的索引页会在条目较少的大账本中获得更好的性能。 如果pageLimit为-1,bookie服务将根据1/3的JVM内存来计算索引页的数量限制。</td><td>0</td></tr>
 <tr><td>readOnlyModeEnabled</td><td>如果所有已配置的 ledger 目录已满,则只支持客户的读取请求。 如果 “readOnlyModeEnabled=true” 那么当所有的 ledger 磁盘满时,bookie 会被转换为只读模式并只处理读请求。 否则 bookie 将被关闭。 默认情况下,这会被禁用。</td><td>true</td></tr>
-<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 If all ledger dir partitions are full, then bookie will turn to readonly mode if ‘readOnlyModeEnabled=true’ is set, else it will shutdown. 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
+<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 如果所有的ledger目录分区都满了,那么如果设置了'readOnlyModeEnabled=true',bookie将转为只读模式,否则它将关闭。 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
 <tr><td>diskCheckInterval</td><td>磁盘检查间隔,以毫秒为单位,检查 ledger 目录使用情况的时间间隔。</td><td>10000</td></tr>
 <tr><td>auditorPeriodicCheckInterval</td><td>审查者对集群内所有 ledger 进行核对的时间间隔。 默认情况下,每周运行一次。 间隔以秒为单位。 要完全禁用定期检查,请将此设置为 0。 请注意,定期检查会给集群带来额外的负荷,因此每天的运行次数不应超过一次。</td><td>604800</td></tr>
 <tr><td>sortedLedgerStorageEnabled</td><td>Whether sorted-ledger storage is enabled.</td><td>true</td></tr>
 <tr><td>auditorPeriodicBookieCheckInterval</td><td>审查者 bookie 检查的时间间隔。 审查者 bookie 检查,检查 ledger 的元数据来查看哪些 bookie 应该包含各个 ledger 的条目。 如果本应包含条目的 bookie 不可用,包含该条目的 ledger 会被标记去做恢复。 设置为 0 会禁用定期检查。 当 bookie 失效时,bookie 检查仍然会进行。 间隔以秒为单位。</td><td>86400</td></tr>
 <tr><td>numAddWorkerThreads</td><td>The number of threads that should handle write requests. 如果设置为 0,写入请求将直接被 nerry 线程进行处理。</td><td>0</td></tr>
 <tr><td>numReadWorkerThreads</td><td>The number of threads that should handle read requests. 如果设置为 0,读取请求将直接被 netty 线程处理。</td><td>8</td></tr>
-<tr><td>numHighPriorityWorkerThreads</td><td>The umber of threads that should be used for high priority requests (i.e. recovery reads and adds, and fencing).</td><td>8</td></tr>
+<tr><td>numHighPriorityWorkerThreads</td><td>用于高优先级请求的线程数量(例如恢复读和添加,以及fencing)。</td><td>8</td></tr>
 <tr><td>maxPendingReadRequestsPerThread</td><td>如果启用了读 worker 线程,限制待处理请求的数量,以避免执行器队列无止境增长。</td><td>2500</td></tr>
-<tr><td>maxPendingAddRequestsPerThread</td><td>The limited number of pending requests, which is used to avoid the executor queue to grow indefinitely when add workers threads are enabled.</td><td>10000</td></tr>
-<tr><td>isForceGCAllowWhenNoSpace</td><td>Whether force compaction is allowed when the disk is full or almost full. Forcing GC could get some space back, but could also fill up the disk space more quickly. This is because new log files are created before GC, while old garbage log files are deleted after GC.</td><td>false</td></tr>
-<tr><td>verifyMetadataOnGC</td><td>True if the bookie should double check <code>readMetadata</code> prior to GC.</td><td>false</td></tr>
+<tr><td>maxPendingAddRequestsPerThread</td><td>待处理请求的限制的线程数量。用于避免在启用添加工作线程时,执行者队列无限期增长。</td><td>10000</td></tr>
+<tr><td>isForceGCAllowWhenNoSpace</td><td>当磁盘已满或快满时,是否允许强制压缩。 强制GC可以找回一些空间,但也可能更快地填满磁盘空间。 这是因为新的日志文件是在GC之前创建的,而旧的垃圾日志文件在GC之后被删除。</td><td>false</td></tr>
+<tr><td>verifyMetadataOnGC</td><td>设置了true,bookie就会在GC之前去复查<code>readMetadata</code></td><td>false</td></tr>
 <tr><td>flushEntrylogBytes</td><td>Entry log flush interval in bytes. Flushing in smaller chunks but more frequently reduces spikes in disk I/O. Flushing too frequently may also affect performance negatively.</td><td>268435456</td></tr>
 <tr><td>readBufferSizeBytes</td><td>用作 BufferedReadChannel 容量的字节数量。</td><td>4096</td></tr>
 <tr><td>writeBufferSizeBytes</td><td>用作写缓存容量的字节数</td><td>65536</td></tr>
 <tr><td>useHostNameAsBookieID</td><td>是否使用主机名去注册 bookie 的协调服务(如:Zookeeper)。 When false, bookie will use its ip address for the registration.</td><td>false</td></tr>
-<tr><td>bookieId</td><td>If you want to custom a bookie ID or use a dynamic network address for the bookie, you can set the <code>bookieId</code>. <br><br>Bookie advertises itself using the <code>bookieId</code> rather than the <code>BookieSocketAddress</code> (<code>hostname:port</code> or <code>IP:port</code>). If you set the <code>bookieId</code>, then the <code>useHostNameAsBookieID</code> does not take effect.<br><br>The <code>bookieId</code> is a non-empty string that can contain A [...]
+<tr><td>bookieId</td><td>如果你想定制一个bookie的ID,或者为bookie使用一个动态网络地址, 你可以设置 <code>bookieId</code>的值。 <br><br>Bookie advertises itself using the <code>bookieId</code> rather than the <code>BookieSocketAddress</code> (<code>hostname:port</code> or <code>IP:port</code>). If you set the <code>bookieId</code>, then the <code>useHostNameAsBookieID</code> does not take effect.<br><br>The <code>bookieId</code> is a non-empty string that can contain ASCII digits and letters ([a-zA-Z9-0]), colons, dashe [...]
 <tr><td>allowEphemeralPorts</td><td>Whether the bookie is allowed to use an ephemeral port (port 0) as its server port. By default, an ephemeral port is not allowed. Using an ephemeral port as the service port usually indicates a configuration error. However, in unit tests, using an ephemeral port will address port conflict problems and allow running tests in parallel.</td><td>false</td></tr>
 <tr><td>enableLocalTransport</td><td>Whether the bookie is allowed to listen for the BookKeeper clients executed on the local JVM.</td><td>false</td></tr>
 <tr><td>disableServerSocketBind</td><td>Whether the bookie is allowed to disable bind on network interfaces. This bookie will be available only to BookKeeper clients executed on the local JVM.</td><td>false</td></tr>
diff --git a/content/docs/zh-CN/2.7.3/reference-configuration.html b/content/docs/zh-CN/2.7.3/reference-configuration.html
index 3e8236b..396fe3e 100644
--- a/content/docs/zh-CN/2.7.3/reference-configuration.html
+++ b/content/docs/zh-CN/2.7.3/reference-configuration.html
@@ -155,30 +155,30 @@
 <tr><td>httpServerClass</td><td>Http服务器实现类。</td><td>org.apache.bookkeeper.http.vertx.VertxHttpServer</td></tr>
 <tr><td>serverTcpNoDelay</td><td>此设置用于启用/禁用 Nagle 的算法,该算法能通过减少通过网络发送的数据包数量来提高 TCP/IP 网络效率。 如果你正在发送许多小消息,这样在单个 IP 数据包中就可以放入不止一个消息,设置 server.tcpnodelay 为 false 来启用 Nagle 算法可以提供更好的性能。</td><td>true</td></tr>
 <tr><td>serverSockKeepalive</td><td>此设置用于在面向连接的套接字上发送 keep-alive 消息。</td><td>true</td></tr>
-<tr><td>serverTcpLinger</td><td>关闭时套接字延迟超时。 When enabled, a close or shutdown will not return until all queued messages for the socket have been successfully sent or the linger timeout has been reached. Otherwise, the call returns immediately and the closing is done in the background.</td><td>0</td></tr>
+<tr><td>serverTcpLinger</td><td>关闭时TCP延迟超时。 当启用时,关闭或关机将不会返回,直到TCP的所有排队消息都被成功发送或达到徘徊超时。 否则,调用将立即返回,关闭是在后台完成的。</td><td>0</td></tr>
 <tr><td>byteBufAllocatorSizeMax</td><td>ByteBuf分配器能够接受的最大buf的大小</td><td>1048576</td></tr>
 <tr><td>nettyMaxFrameSizeBytes</td><td>The maximum netty frame size in bytes. Any message received larger than this will be rejected.</td><td>5253120</td></tr>
 <tr><td>openFileLimit</td><td>在 bookie 服务器上可以打开 ledger 索引文件的最大数量。如果 ledger 索引文件数量达到这个限制,bookie 服务器会开始将一些 ledger 从内存交换到磁盘。 过于频繁的交换会影响性能。 你可以根据你的要求调整这个数字以获得性能提升。</td><td>0</td></tr>
 <tr><td>pageSize</td><td>Ledger 缓存中索引页的大小,是以字节为单位。一个大的索引页可以改善将页写入磁盘的性能。当你有少量有 ledger 并且这些 ledger 有着相似数量的条目时,会很高效。 如果你有大量的 ledger,而每个 ledger 都有较少的条目,较小的索引页面将会提高内存使用率。</td><td>8192</td></tr>
 <tr><td>pageLimit</td><td>在 ledger 缓存中提供多少索引页面。如果索引页面数量达到此限制,bookie 服务器会开始将一些 ledger 从内存交换到磁盘。 当你发现交换变得更频繁时,可以增加这个值。 但请确认 pageLimit*page 的大小不应超过 JVM 最大内存限制,否则你将会得到 OutOfMemoryException。 一般来说,增加pageLimit,使用较小的索引页会在条目较少的大账本中获得更好的性能。 如果pageLimit为-1,bookie服务将根据1/3的JVM内存来计算索引页的数量限制。</td><td>0</td></tr>
 <tr><td>readOnlyModeEnabled</td><td>如果所有已配置的 ledger 目录已满,则只支持客户的读取请求。 如果 “readOnlyModeEnabled=true” 那么当所有的 ledger 磁盘满时,bookie 会被转换为只读模式并只处理读请求。 否则 bookie 将被关闭。 默认情况下,这会被禁用。</td><td>true</td></tr>
-<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 If all ledger dir partitions are full, then bookie will turn to readonly mode if ‘readOnlyModeEnabled=true’ is set, else it will shutdown. 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
+<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 如果所有的ledger目录分区都满了,那么如果设置了'readOnlyModeEnabled=true',bookie将转为只读模式,否则它将关闭。 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
 <tr><td>diskCheckInterval</td><td>磁盘检查间隔,以毫秒为单位,检查 ledger 目录使用情况的时间间隔。</td><td>10000</td></tr>
 <tr><td>auditorPeriodicCheckInterval</td><td>审查者对集群内所有 ledger 进行核对的时间间隔。 默认情况下,每周运行一次。 间隔以秒为单位。 要完全禁用定期检查,请将此设置为 0。 请注意,定期检查会给集群带来额外的负荷,因此每天的运行次数不应超过一次。</td><td>604800</td></tr>
 <tr><td>sortedLedgerStorageEnabled</td><td>Whether sorted-ledger storage is enabled.</td><td>true</td></tr>
 <tr><td>auditorPeriodicBookieCheckInterval</td><td>审查者 bookie 检查的时间间隔。 审查者 bookie 检查,检查 ledger 的元数据来查看哪些 bookie 应该包含各个 ledger 的条目。 如果本应包含条目的 bookie 不可用,包含该条目的 ledger 会被标记去做恢复。 设置为 0 会禁用定期检查。 当 bookie 失效时,bookie 检查仍然会进行。 间隔以秒为单位。</td><td>86400</td></tr>
 <tr><td>numAddWorkerThreads</td><td>The number of threads that should handle write requests. 如果设置为 0,写入请求将直接被 nerry 线程进行处理。</td><td>0</td></tr>
 <tr><td>numReadWorkerThreads</td><td>The number of threads that should handle read requests. 如果设置为 0,读取请求将直接被 netty 线程处理。</td><td>8</td></tr>
-<tr><td>numHighPriorityWorkerThreads</td><td>The umber of threads that should be used for high priority requests (i.e. recovery reads and adds, and fencing).</td><td>8</td></tr>
+<tr><td>numHighPriorityWorkerThreads</td><td>用于高优先级请求的线程数量(例如恢复读和添加,以及fencing)。</td><td>8</td></tr>
 <tr><td>maxPendingReadRequestsPerThread</td><td>如果启用了读 worker 线程,限制待处理请求的数量,以避免执行器队列无止境增长。</td><td>2500</td></tr>
-<tr><td>maxPendingAddRequestsPerThread</td><td>The limited number of pending requests, which is used to avoid the executor queue to grow indefinitely when add workers threads are enabled.</td><td>10000</td></tr>
-<tr><td>isForceGCAllowWhenNoSpace</td><td>Whether force compaction is allowed when the disk is full or almost full. Forcing GC could get some space back, but could also fill up the disk space more quickly. This is because new log files are created before GC, while old garbage log files are deleted after GC.</td><td>false</td></tr>
-<tr><td>verifyMetadataOnGC</td><td>True if the bookie should double check <code>readMetadata</code> prior to GC.</td><td>false</td></tr>
+<tr><td>maxPendingAddRequestsPerThread</td><td>待处理请求的限制的线程数量。用于避免在启用添加工作线程时,执行者队列无限期增长。</td><td>10000</td></tr>
+<tr><td>isForceGCAllowWhenNoSpace</td><td>当磁盘已满或快满时,是否允许强制压缩。 强制GC可以找回一些空间,但也可能更快地填满磁盘空间。 这是因为新的日志文件是在GC之前创建的,而旧的垃圾日志文件在GC之后被删除。</td><td>false</td></tr>
+<tr><td>verifyMetadataOnGC</td><td>设置了true,bookie就会在GC之前去复查<code>readMetadata</code></td><td>false</td></tr>
 <tr><td>flushEntrylogBytes</td><td>Entry log flush interval in bytes. Flushing in smaller chunks but more frequently reduces spikes in disk I/O. Flushing too frequently may also affect performance negatively.</td><td>268435456</td></tr>
 <tr><td>readBufferSizeBytes</td><td>用作 BufferedReadChannel 容量的字节数量。</td><td>4096</td></tr>
 <tr><td>writeBufferSizeBytes</td><td>用作写缓存容量的字节数</td><td>65536</td></tr>
 <tr><td>useHostNameAsBookieID</td><td>是否使用主机名去注册 bookie 的协调服务(如:Zookeeper)。 When false, bookie will use its ip address for the registration.</td><td>false</td></tr>
-<tr><td>bookieId</td><td>If you want to custom a bookie ID or use a dynamic network address for the bookie, you can set the <code>bookieId</code>. <br><br>Bookie advertises itself using the <code>bookieId</code> rather than the <code>BookieSocketAddress</code> (<code>hostname:port</code> or <code>IP:port</code>). If you set the <code>bookieId</code>, then the <code>useHostNameAsBookieID</code> does not take effect.<br><br>The <code>bookieId</code> is a non-empty string that can contain A [...]
+<tr><td>bookieId</td><td>如果你想定制一个bookie的ID,或者为bookie使用一个动态网络地址, 你可以设置 <code>bookieId</code>的值。 <br><br>Bookie advertises itself using the <code>bookieId</code> rather than the <code>BookieSocketAddress</code> (<code>hostname:port</code> or <code>IP:port</code>). If you set the <code>bookieId</code>, then the <code>useHostNameAsBookieID</code> does not take effect.<br><br>The <code>bookieId</code> is a non-empty string that can contain ASCII digits and letters ([a-zA-Z9-0]), colons, dashe [...]
 <tr><td>allowEphemeralPorts</td><td>Whether the bookie is allowed to use an ephemeral port (port 0) as its server port. By default, an ephemeral port is not allowed. Using an ephemeral port as the service port usually indicates a configuration error. However, in unit tests, using an ephemeral port will address port conflict problems and allow running tests in parallel.</td><td>false</td></tr>
 <tr><td>enableLocalTransport</td><td>Whether the bookie is allowed to listen for the BookKeeper clients executed on the local JVM.</td><td>false</td></tr>
 <tr><td>disableServerSocketBind</td><td>Whether the bookie is allowed to disable bind on network interfaces. This bookie will be available only to BookKeeper clients executed on the local JVM.</td><td>false</td></tr>
diff --git a/content/docs/zh-CN/2.7.3/reference-configuration/index.html b/content/docs/zh-CN/2.7.3/reference-configuration/index.html
index 3e8236b..396fe3e 100644
--- a/content/docs/zh-CN/2.7.3/reference-configuration/index.html
+++ b/content/docs/zh-CN/2.7.3/reference-configuration/index.html
@@ -155,30 +155,30 @@
 <tr><td>httpServerClass</td><td>Http服务器实现类。</td><td>org.apache.bookkeeper.http.vertx.VertxHttpServer</td></tr>
 <tr><td>serverTcpNoDelay</td><td>此设置用于启用/禁用 Nagle 的算法,该算法能通过减少通过网络发送的数据包数量来提高 TCP/IP 网络效率。 如果你正在发送许多小消息,这样在单个 IP 数据包中就可以放入不止一个消息,设置 server.tcpnodelay 为 false 来启用 Nagle 算法可以提供更好的性能。</td><td>true</td></tr>
 <tr><td>serverSockKeepalive</td><td>此设置用于在面向连接的套接字上发送 keep-alive 消息。</td><td>true</td></tr>
-<tr><td>serverTcpLinger</td><td>关闭时套接字延迟超时。 When enabled, a close or shutdown will not return until all queued messages for the socket have been successfully sent or the linger timeout has been reached. Otherwise, the call returns immediately and the closing is done in the background.</td><td>0</td></tr>
+<tr><td>serverTcpLinger</td><td>关闭时TCP延迟超时。 当启用时,关闭或关机将不会返回,直到TCP的所有排队消息都被成功发送或达到徘徊超时。 否则,调用将立即返回,关闭是在后台完成的。</td><td>0</td></tr>
 <tr><td>byteBufAllocatorSizeMax</td><td>ByteBuf分配器能够接受的最大buf的大小</td><td>1048576</td></tr>
 <tr><td>nettyMaxFrameSizeBytes</td><td>The maximum netty frame size in bytes. Any message received larger than this will be rejected.</td><td>5253120</td></tr>
 <tr><td>openFileLimit</td><td>在 bookie 服务器上可以打开 ledger 索引文件的最大数量。如果 ledger 索引文件数量达到这个限制,bookie 服务器会开始将一些 ledger 从内存交换到磁盘。 过于频繁的交换会影响性能。 你可以根据你的要求调整这个数字以获得性能提升。</td><td>0</td></tr>
 <tr><td>pageSize</td><td>Ledger 缓存中索引页的大小,是以字节为单位。一个大的索引页可以改善将页写入磁盘的性能。当你有少量有 ledger 并且这些 ledger 有着相似数量的条目时,会很高效。 如果你有大量的 ledger,而每个 ledger 都有较少的条目,较小的索引页面将会提高内存使用率。</td><td>8192</td></tr>
 <tr><td>pageLimit</td><td>在 ledger 缓存中提供多少索引页面。如果索引页面数量达到此限制,bookie 服务器会开始将一些 ledger 从内存交换到磁盘。 当你发现交换变得更频繁时,可以增加这个值。 但请确认 pageLimit*page 的大小不应超过 JVM 最大内存限制,否则你将会得到 OutOfMemoryException。 一般来说,增加pageLimit,使用较小的索引页会在条目较少的大账本中获得更好的性能。 如果pageLimit为-1,bookie服务将根据1/3的JVM内存来计算索引页的数量限制。</td><td>0</td></tr>
 <tr><td>readOnlyModeEnabled</td><td>如果所有已配置的 ledger 目录已满,则只支持客户的读取请求。 如果 “readOnlyModeEnabled=true” 那么当所有的 ledger 磁盘满时,bookie 会被转换为只读模式并只处理读请求。 否则 bookie 将被关闭。 默认情况下,这会被禁用。</td><td>true</td></tr>
-<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 If all ledger dir partitions are full, then bookie will turn to readonly mode if ‘readOnlyModeEnabled=true’ is set, else it will shutdown. 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
+<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 如果所有的ledger目录分区都满了,那么如果设置了'readOnlyModeEnabled=true',bookie将转为只读模式,否则它将关闭。 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
 <tr><td>diskCheckInterval</td><td>磁盘检查间隔,以毫秒为单位,检查 ledger 目录使用情况的时间间隔。</td><td>10000</td></tr>
 <tr><td>auditorPeriodicCheckInterval</td><td>审查者对集群内所有 ledger 进行核对的时间间隔。 默认情况下,每周运行一次。 间隔以秒为单位。 要完全禁用定期检查,请将此设置为 0。 请注意,定期检查会给集群带来额外的负荷,因此每天的运行次数不应超过一次。</td><td>604800</td></tr>
 <tr><td>sortedLedgerStorageEnabled</td><td>Whether sorted-ledger storage is enabled.</td><td>true</td></tr>
 <tr><td>auditorPeriodicBookieCheckInterval</td><td>审查者 bookie 检查的时间间隔。 审查者 bookie 检查,检查 ledger 的元数据来查看哪些 bookie 应该包含各个 ledger 的条目。 如果本应包含条目的 bookie 不可用,包含该条目的 ledger 会被标记去做恢复。 设置为 0 会禁用定期检查。 当 bookie 失效时,bookie 检查仍然会进行。 间隔以秒为单位。</td><td>86400</td></tr>
 <tr><td>numAddWorkerThreads</td><td>The number of threads that should handle write requests. 如果设置为 0,写入请求将直接被 nerry 线程进行处理。</td><td>0</td></tr>
 <tr><td>numReadWorkerThreads</td><td>The number of threads that should handle read requests. 如果设置为 0,读取请求将直接被 netty 线程处理。</td><td>8</td></tr>
-<tr><td>numHighPriorityWorkerThreads</td><td>The umber of threads that should be used for high priority requests (i.e. recovery reads and adds, and fencing).</td><td>8</td></tr>
+<tr><td>numHighPriorityWorkerThreads</td><td>用于高优先级请求的线程数量(例如恢复读和添加,以及fencing)。</td><td>8</td></tr>
 <tr><td>maxPendingReadRequestsPerThread</td><td>如果启用了读 worker 线程,限制待处理请求的数量,以避免执行器队列无止境增长。</td><td>2500</td></tr>
-<tr><td>maxPendingAddRequestsPerThread</td><td>The limited number of pending requests, which is used to avoid the executor queue to grow indefinitely when add workers threads are enabled.</td><td>10000</td></tr>
-<tr><td>isForceGCAllowWhenNoSpace</td><td>Whether force compaction is allowed when the disk is full or almost full. Forcing GC could get some space back, but could also fill up the disk space more quickly. This is because new log files are created before GC, while old garbage log files are deleted after GC.</td><td>false</td></tr>
-<tr><td>verifyMetadataOnGC</td><td>True if the bookie should double check <code>readMetadata</code> prior to GC.</td><td>false</td></tr>
+<tr><td>maxPendingAddRequestsPerThread</td><td>待处理请求的限制的线程数量。用于避免在启用添加工作线程时,执行者队列无限期增长。</td><td>10000</td></tr>
+<tr><td>isForceGCAllowWhenNoSpace</td><td>当磁盘已满或快满时,是否允许强制压缩。 强制GC可以找回一些空间,但也可能更快地填满磁盘空间。 这是因为新的日志文件是在GC之前创建的,而旧的垃圾日志文件在GC之后被删除。</td><td>false</td></tr>
+<tr><td>verifyMetadataOnGC</td><td>设置了true,bookie就会在GC之前去复查<code>readMetadata</code></td><td>false</td></tr>
 <tr><td>flushEntrylogBytes</td><td>Entry log flush interval in bytes. Flushing in smaller chunks but more frequently reduces spikes in disk I/O. Flushing too frequently may also affect performance negatively.</td><td>268435456</td></tr>
 <tr><td>readBufferSizeBytes</td><td>用作 BufferedReadChannel 容量的字节数量。</td><td>4096</td></tr>
 <tr><td>writeBufferSizeBytes</td><td>用作写缓存容量的字节数</td><td>65536</td></tr>
 <tr><td>useHostNameAsBookieID</td><td>是否使用主机名去注册 bookie 的协调服务(如:Zookeeper)。 When false, bookie will use its ip address for the registration.</td><td>false</td></tr>
-<tr><td>bookieId</td><td>If you want to custom a bookie ID or use a dynamic network address for the bookie, you can set the <code>bookieId</code>. <br><br>Bookie advertises itself using the <code>bookieId</code> rather than the <code>BookieSocketAddress</code> (<code>hostname:port</code> or <code>IP:port</code>). If you set the <code>bookieId</code>, then the <code>useHostNameAsBookieID</code> does not take effect.<br><br>The <code>bookieId</code> is a non-empty string that can contain A [...]
+<tr><td>bookieId</td><td>如果你想定制一个bookie的ID,或者为bookie使用一个动态网络地址, 你可以设置 <code>bookieId</code>的值。 <br><br>Bookie advertises itself using the <code>bookieId</code> rather than the <code>BookieSocketAddress</code> (<code>hostname:port</code> or <code>IP:port</code>). If you set the <code>bookieId</code>, then the <code>useHostNameAsBookieID</code> does not take effect.<br><br>The <code>bookieId</code> is a non-empty string that can contain ASCII digits and letters ([a-zA-Z9-0]), colons, dashe [...]
 <tr><td>allowEphemeralPorts</td><td>Whether the bookie is allowed to use an ephemeral port (port 0) as its server port. By default, an ephemeral port is not allowed. Using an ephemeral port as the service port usually indicates a configuration error. However, in unit tests, using an ephemeral port will address port conflict problems and allow running tests in parallel.</td><td>false</td></tr>
 <tr><td>enableLocalTransport</td><td>Whether the bookie is allowed to listen for the BookKeeper clients executed on the local JVM.</td><td>false</td></tr>
 <tr><td>disableServerSocketBind</td><td>Whether the bookie is allowed to disable bind on network interfaces. This bookie will be available only to BookKeeper clients executed on the local JVM.</td><td>false</td></tr>
diff --git a/content/docs/zh-CN/2.7.4/reference-configuration.html b/content/docs/zh-CN/2.7.4/reference-configuration.html
index 4d1bbf1..4060528 100644
--- a/content/docs/zh-CN/2.7.4/reference-configuration.html
+++ b/content/docs/zh-CN/2.7.4/reference-configuration.html
@@ -155,30 +155,30 @@
 <tr><td>httpServerClass</td><td>Http服务器实现类。</td><td>org.apache.bookkeeper.http.vertx.VertxHttpServer</td></tr>
 <tr><td>serverTcpNoDelay</td><td>此设置用于启用/禁用 Nagle 的算法,该算法能通过减少通过网络发送的数据包数量来提高 TCP/IP 网络效率。 如果你正在发送许多小消息,这样在单个 IP 数据包中就可以放入不止一个消息,设置 server.tcpnodelay 为 false 来启用 Nagle 算法可以提供更好的性能。</td><td>true</td></tr>
 <tr><td>serverSockKeepalive</td><td>此设置用于在面向连接的套接字上发送 keep-alive 消息。</td><td>true</td></tr>
-<tr><td>serverTcpLinger</td><td>关闭时套接字延迟超时。 When enabled, a close or shutdown will not return until all queued messages for the socket have been successfully sent or the linger timeout has been reached. Otherwise, the call returns immediately and the closing is done in the background.</td><td>0</td></tr>
+<tr><td>serverTcpLinger</td><td>关闭时TCP延迟超时。 当启用时,关闭或关机将不会返回,直到TCP的所有排队消息都被成功发送或达到徘徊超时。 否则,调用将立即返回,关闭是在后台完成的。</td><td>0</td></tr>
 <tr><td>byteBufAllocatorSizeMax</td><td>ByteBuf分配器能够接受的最大buf的大小</td><td>1048576</td></tr>
 <tr><td>nettyMaxFrameSizeBytes</td><td>The maximum netty frame size in bytes. Any message received larger than this will be rejected.</td><td>5253120</td></tr>
 <tr><td>openFileLimit</td><td>在 bookie 服务器上可以打开 ledger 索引文件的最大数量。如果 ledger 索引文件数量达到这个限制,bookie 服务器会开始将一些 ledger 从内存交换到磁盘。 过于频繁的交换会影响性能。 你可以根据你的要求调整这个数字以获得性能提升。</td><td>0</td></tr>
 <tr><td>pageSize</td><td>Ledger 缓存中索引页的大小,是以字节为单位。一个大的索引页可以改善将页写入磁盘的性能。当你有少量有 ledger 并且这些 ledger 有着相似数量的条目时,会很高效。 如果你有大量的 ledger,而每个 ledger 都有较少的条目,较小的索引页面将会提高内存使用率。</td><td>8192</td></tr>
 <tr><td>pageLimit</td><td>在 ledger 缓存中提供多少索引页面。如果索引页面数量达到此限制,bookie 服务器会开始将一些 ledger 从内存交换到磁盘。 当你发现交换变得更频繁时,可以增加这个值。 但请确认 pageLimit*page 的大小不应超过 JVM 最大内存限制,否则你将会得到 OutOfMemoryException。 一般来说,增加pageLimit,使用较小的索引页会在条目较少的大账本中获得更好的性能。 如果pageLimit为-1,bookie服务将根据1/3的JVM内存来计算索引页的数量限制。</td><td>0</td></tr>
 <tr><td>readOnlyModeEnabled</td><td>如果所有已配置的 ledger 目录已满,则只支持客户的读取请求。 如果 “readOnlyModeEnabled=true” 那么当所有的 ledger 磁盘满时,bookie 会被转换为只读模式并只处理读请求。 否则 bookie 将被关闭。 默认情况下,这会被禁用。</td><td>true</td></tr>
-<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 If all ledger dir partitions are full, then bookie will turn to readonly mode if ‘readOnlyModeEnabled=true’ is set, else it will shutdown. 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
+<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 如果所有的ledger目录分区都满了,那么如果设置了'readOnlyModeEnabled=true',bookie将转为只读模式,否则它将关闭。 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
 <tr><td>diskCheckInterval</td><td>磁盘检查间隔,以毫秒为单位,检查 ledger 目录使用情况的时间间隔。</td><td>10000</td></tr>
 <tr><td>auditorPeriodicCheckInterval</td><td>审查者对集群内所有 ledger 进行核对的时间间隔。 默认情况下,每周运行一次。 间隔以秒为单位。 要完全禁用定期检查,请将此设置为 0。 请注意,定期检查会给集群带来额外的负荷,因此每天的运行次数不应超过一次。</td><td>604800</td></tr>
 <tr><td>sortedLedgerStorageEnabled</td><td>Whether sorted-ledger storage is enabled.</td><td>true</td></tr>
 <tr><td>auditorPeriodicBookieCheckInterval</td><td>审查者 bookie 检查的时间间隔。 审查者 bookie 检查,检查 ledger 的元数据来查看哪些 bookie 应该包含各个 ledger 的条目。 如果本应包含条目的 bookie 不可用,包含该条目的 ledger 会被标记去做恢复。 设置为 0 会禁用定期检查。 当 bookie 失效时,bookie 检查仍然会进行。 间隔以秒为单位。</td><td>86400</td></tr>
 <tr><td>numAddWorkerThreads</td><td>The number of threads that should handle write requests. 如果设置为 0,写入请求将直接被 nerry 线程进行处理。</td><td>0</td></tr>
 <tr><td>numReadWorkerThreads</td><td>The number of threads that should handle read requests. 如果设置为 0,读取请求将直接被 netty 线程处理。</td><td>8</td></tr>
-<tr><td>numHighPriorityWorkerThreads</td><td>The umber of threads that should be used for high priority requests (i.e. recovery reads and adds, and fencing).</td><td>8</td></tr>
+<tr><td>numHighPriorityWorkerThreads</td><td>用于高优先级请求的线程数量(例如恢复读和添加,以及fencing)。</td><td>8</td></tr>
 <tr><td>maxPendingReadRequestsPerThread</td><td>如果启用了读 worker 线程,限制待处理请求的数量,以避免执行器队列无止境增长。</td><td>2500</td></tr>
-<tr><td>maxPendingAddRequestsPerThread</td><td>The limited number of pending requests, which is used to avoid the executor queue to grow indefinitely when add workers threads are enabled.</td><td>10000</td></tr>
-<tr><td>isForceGCAllowWhenNoSpace</td><td>Whether force compaction is allowed when the disk is full or almost full. Forcing GC could get some space back, but could also fill up the disk space more quickly. This is because new log files are created before GC, while old garbage log files are deleted after GC.</td><td>false</td></tr>
-<tr><td>verifyMetadataOnGC</td><td>True if the bookie should double check <code>readMetadata</code> prior to GC.</td><td>false</td></tr>
+<tr><td>maxPendingAddRequestsPerThread</td><td>待处理请求的限制的线程数量。用于避免在启用添加工作线程时,执行者队列无限期增长。</td><td>10000</td></tr>
+<tr><td>isForceGCAllowWhenNoSpace</td><td>当磁盘已满或快满时,是否允许强制压缩。 强制GC可以找回一些空间,但也可能更快地填满磁盘空间。 这是因为新的日志文件是在GC之前创建的,而旧的垃圾日志文件在GC之后被删除。</td><td>false</td></tr>
+<tr><td>verifyMetadataOnGC</td><td>设置了true,bookie就会在GC之前去复查<code>readMetadata</code></td><td>false</td></tr>
 <tr><td>flushEntrylogBytes</td><td>Entry log flush interval in bytes. Flushing in smaller chunks but more frequently reduces spikes in disk I/O. Flushing too frequently may also affect performance negatively.</td><td>268435456</td></tr>
 <tr><td>readBufferSizeBytes</td><td>用作 BufferedReadChannel 容量的字节数量。</td><td>4096</td></tr>
 <tr><td>writeBufferSizeBytes</td><td>用作写缓存容量的字节数</td><td>65536</td></tr>
 <tr><td>useHostNameAsBookieID</td><td>是否使用主机名去注册 bookie 的协调服务(如:Zookeeper)。 When false, bookie will use its ip address for the registration.</td><td>false</td></tr>
-<tr><td>bookieId</td><td>If you want to custom a bookie ID or use a dynamic network address for the bookie, you can set the <code>bookieId</code>. <br><br>Bookie advertises itself using the <code>bookieId</code> rather than the <code>BookieSocketAddress</code> (<code>hostname:port</code> or <code>IP:port</code>). If you set the <code>bookieId</code>, then the <code>useHostNameAsBookieID</code> does not take effect.<br><br>The <code>bookieId</code> is a non-empty string that can contain A [...]
+<tr><td>bookieId</td><td>如果你想定制一个bookie的ID,或者为bookie使用一个动态网络地址, 你可以设置 <code>bookieId</code>的值。 <br><br>Bookie advertises itself using the <code>bookieId</code> rather than the <code>BookieSocketAddress</code> (<code>hostname:port</code> or <code>IP:port</code>). If you set the <code>bookieId</code>, then the <code>useHostNameAsBookieID</code> does not take effect.<br><br>The <code>bookieId</code> is a non-empty string that can contain ASCII digits and letters ([a-zA-Z9-0]), colons, dashe [...]
 <tr><td>allowEphemeralPorts</td><td>Whether the bookie is allowed to use an ephemeral port (port 0) as its server port. By default, an ephemeral port is not allowed. Using an ephemeral port as the service port usually indicates a configuration error. However, in unit tests, using an ephemeral port will address port conflict problems and allow running tests in parallel.</td><td>false</td></tr>
 <tr><td>enableLocalTransport</td><td>Whether the bookie is allowed to listen for the BookKeeper clients executed on the local JVM.</td><td>false</td></tr>
 <tr><td>disableServerSocketBind</td><td>Whether the bookie is allowed to disable bind on network interfaces. This bookie will be available only to BookKeeper clients executed on the local JVM.</td><td>false</td></tr>
diff --git a/content/docs/zh-CN/2.7.4/reference-configuration/index.html b/content/docs/zh-CN/2.7.4/reference-configuration/index.html
index 4d1bbf1..4060528 100644
--- a/content/docs/zh-CN/2.7.4/reference-configuration/index.html
+++ b/content/docs/zh-CN/2.7.4/reference-configuration/index.html
@@ -155,30 +155,30 @@
 <tr><td>httpServerClass</td><td>Http服务器实现类。</td><td>org.apache.bookkeeper.http.vertx.VertxHttpServer</td></tr>
 <tr><td>serverTcpNoDelay</td><td>此设置用于启用/禁用 Nagle 的算法,该算法能通过减少通过网络发送的数据包数量来提高 TCP/IP 网络效率。 如果你正在发送许多小消息,这样在单个 IP 数据包中就可以放入不止一个消息,设置 server.tcpnodelay 为 false 来启用 Nagle 算法可以提供更好的性能。</td><td>true</td></tr>
 <tr><td>serverSockKeepalive</td><td>此设置用于在面向连接的套接字上发送 keep-alive 消息。</td><td>true</td></tr>
-<tr><td>serverTcpLinger</td><td>关闭时套接字延迟超时。 When enabled, a close or shutdown will not return until all queued messages for the socket have been successfully sent or the linger timeout has been reached. Otherwise, the call returns immediately and the closing is done in the background.</td><td>0</td></tr>
+<tr><td>serverTcpLinger</td><td>关闭时TCP延迟超时。 当启用时,关闭或关机将不会返回,直到TCP的所有排队消息都被成功发送或达到徘徊超时。 否则,调用将立即返回,关闭是在后台完成的。</td><td>0</td></tr>
 <tr><td>byteBufAllocatorSizeMax</td><td>ByteBuf分配器能够接受的最大buf的大小</td><td>1048576</td></tr>
 <tr><td>nettyMaxFrameSizeBytes</td><td>The maximum netty frame size in bytes. Any message received larger than this will be rejected.</td><td>5253120</td></tr>
 <tr><td>openFileLimit</td><td>在 bookie 服务器上可以打开 ledger 索引文件的最大数量。如果 ledger 索引文件数量达到这个限制,bookie 服务器会开始将一些 ledger 从内存交换到磁盘。 过于频繁的交换会影响性能。 你可以根据你的要求调整这个数字以获得性能提升。</td><td>0</td></tr>
 <tr><td>pageSize</td><td>Ledger 缓存中索引页的大小,是以字节为单位。一个大的索引页可以改善将页写入磁盘的性能。当你有少量有 ledger 并且这些 ledger 有着相似数量的条目时,会很高效。 如果你有大量的 ledger,而每个 ledger 都有较少的条目,较小的索引页面将会提高内存使用率。</td><td>8192</td></tr>
 <tr><td>pageLimit</td><td>在 ledger 缓存中提供多少索引页面。如果索引页面数量达到此限制,bookie 服务器会开始将一些 ledger 从内存交换到磁盘。 当你发现交换变得更频繁时,可以增加这个值。 但请确认 pageLimit*page 的大小不应超过 JVM 最大内存限制,否则你将会得到 OutOfMemoryException。 一般来说,增加pageLimit,使用较小的索引页会在条目较少的大账本中获得更好的性能。 如果pageLimit为-1,bookie服务将根据1/3的JVM内存来计算索引页的数量限制。</td><td>0</td></tr>
 <tr><td>readOnlyModeEnabled</td><td>如果所有已配置的 ledger 目录已满,则只支持客户的读取请求。 如果 “readOnlyModeEnabled=true” 那么当所有的 ledger 磁盘满时,bookie 会被转换为只读模式并只处理读请求。 否则 bookie 将被关闭。 默认情况下,这会被禁用。</td><td>true</td></tr>
-<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 If all ledger dir partitions are full, then bookie will turn to readonly mode if ‘readOnlyModeEnabled=true’ is set, else it will shutdown. 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
+<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 如果所有的ledger目录分区都满了,那么如果设置了'readOnlyModeEnabled=true',bookie将转为只读模式,否则它将关闭。 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
 <tr><td>diskCheckInterval</td><td>磁盘检查间隔,以毫秒为单位,检查 ledger 目录使用情况的时间间隔。</td><td>10000</td></tr>
 <tr><td>auditorPeriodicCheckInterval</td><td>审查者对集群内所有 ledger 进行核对的时间间隔。 默认情况下,每周运行一次。 间隔以秒为单位。 要完全禁用定期检查,请将此设置为 0。 请注意,定期检查会给集群带来额外的负荷,因此每天的运行次数不应超过一次。</td><td>604800</td></tr>
 <tr><td>sortedLedgerStorageEnabled</td><td>Whether sorted-ledger storage is enabled.</td><td>true</td></tr>
 <tr><td>auditorPeriodicBookieCheckInterval</td><td>审查者 bookie 检查的时间间隔。 审查者 bookie 检查,检查 ledger 的元数据来查看哪些 bookie 应该包含各个 ledger 的条目。 如果本应包含条目的 bookie 不可用,包含该条目的 ledger 会被标记去做恢复。 设置为 0 会禁用定期检查。 当 bookie 失效时,bookie 检查仍然会进行。 间隔以秒为单位。</td><td>86400</td></tr>
 <tr><td>numAddWorkerThreads</td><td>The number of threads that should handle write requests. 如果设置为 0,写入请求将直接被 nerry 线程进行处理。</td><td>0</td></tr>
 <tr><td>numReadWorkerThreads</td><td>The number of threads that should handle read requests. 如果设置为 0,读取请求将直接被 netty 线程处理。</td><td>8</td></tr>
-<tr><td>numHighPriorityWorkerThreads</td><td>The umber of threads that should be used for high priority requests (i.e. recovery reads and adds, and fencing).</td><td>8</td></tr>
+<tr><td>numHighPriorityWorkerThreads</td><td>用于高优先级请求的线程数量(例如恢复读和添加,以及fencing)。</td><td>8</td></tr>
 <tr><td>maxPendingReadRequestsPerThread</td><td>如果启用了读 worker 线程,限制待处理请求的数量,以避免执行器队列无止境增长。</td><td>2500</td></tr>
-<tr><td>maxPendingAddRequestsPerThread</td><td>The limited number of pending requests, which is used to avoid the executor queue to grow indefinitely when add workers threads are enabled.</td><td>10000</td></tr>
-<tr><td>isForceGCAllowWhenNoSpace</td><td>Whether force compaction is allowed when the disk is full or almost full. Forcing GC could get some space back, but could also fill up the disk space more quickly. This is because new log files are created before GC, while old garbage log files are deleted after GC.</td><td>false</td></tr>
-<tr><td>verifyMetadataOnGC</td><td>True if the bookie should double check <code>readMetadata</code> prior to GC.</td><td>false</td></tr>
+<tr><td>maxPendingAddRequestsPerThread</td><td>待处理请求的限制的线程数量。用于避免在启用添加工作线程时,执行者队列无限期增长。</td><td>10000</td></tr>
+<tr><td>isForceGCAllowWhenNoSpace</td><td>当磁盘已满或快满时,是否允许强制压缩。 强制GC可以找回一些空间,但也可能更快地填满磁盘空间。 这是因为新的日志文件是在GC之前创建的,而旧的垃圾日志文件在GC之后被删除。</td><td>false</td></tr>
+<tr><td>verifyMetadataOnGC</td><td>设置了true,bookie就会在GC之前去复查<code>readMetadata</code></td><td>false</td></tr>
 <tr><td>flushEntrylogBytes</td><td>Entry log flush interval in bytes. Flushing in smaller chunks but more frequently reduces spikes in disk I/O. Flushing too frequently may also affect performance negatively.</td><td>268435456</td></tr>
 <tr><td>readBufferSizeBytes</td><td>用作 BufferedReadChannel 容量的字节数量。</td><td>4096</td></tr>
 <tr><td>writeBufferSizeBytes</td><td>用作写缓存容量的字节数</td><td>65536</td></tr>
 <tr><td>useHostNameAsBookieID</td><td>是否使用主机名去注册 bookie 的协调服务(如:Zookeeper)。 When false, bookie will use its ip address for the registration.</td><td>false</td></tr>
-<tr><td>bookieId</td><td>If you want to custom a bookie ID or use a dynamic network address for the bookie, you can set the <code>bookieId</code>. <br><br>Bookie advertises itself using the <code>bookieId</code> rather than the <code>BookieSocketAddress</code> (<code>hostname:port</code> or <code>IP:port</code>). If you set the <code>bookieId</code>, then the <code>useHostNameAsBookieID</code> does not take effect.<br><br>The <code>bookieId</code> is a non-empty string that can contain A [...]
+<tr><td>bookieId</td><td>如果你想定制一个bookie的ID,或者为bookie使用一个动态网络地址, 你可以设置 <code>bookieId</code>的值。 <br><br>Bookie advertises itself using the <code>bookieId</code> rather than the <code>BookieSocketAddress</code> (<code>hostname:port</code> or <code>IP:port</code>). If you set the <code>bookieId</code>, then the <code>useHostNameAsBookieID</code> does not take effect.<br><br>The <code>bookieId</code> is a non-empty string that can contain ASCII digits and letters ([a-zA-Z9-0]), colons, dashe [...]
 <tr><td>allowEphemeralPorts</td><td>Whether the bookie is allowed to use an ephemeral port (port 0) as its server port. By default, an ephemeral port is not allowed. Using an ephemeral port as the service port usually indicates a configuration error. However, in unit tests, using an ephemeral port will address port conflict problems and allow running tests in parallel.</td><td>false</td></tr>
 <tr><td>enableLocalTransport</td><td>Whether the bookie is allowed to listen for the BookKeeper clients executed on the local JVM.</td><td>false</td></tr>
 <tr><td>disableServerSocketBind</td><td>Whether the bookie is allowed to disable bind on network interfaces. This bookie will be available only to BookKeeper clients executed on the local JVM.</td><td>false</td></tr>
diff --git a/content/docs/zh-CN/2.8.0/reference-configuration.html b/content/docs/zh-CN/2.8.0/reference-configuration.html
index ab79a6d..c673a83 100644
--- a/content/docs/zh-CN/2.8.0/reference-configuration.html
+++ b/content/docs/zh-CN/2.8.0/reference-configuration.html
@@ -155,30 +155,30 @@
 <tr><td>httpServerClass</td><td>Http服务器实现类。</td><td>org.apache.bookkeeper.http.vertx.VertxHttpServer</td></tr>
 <tr><td>serverTcpNoDelay</td><td>此设置用于启用/禁用 Nagle 的算法,该算法能通过减少通过网络发送的数据包数量来提高 TCP/IP 网络效率。 如果你正在发送许多小消息,这样在单个 IP 数据包中就可以放入不止一个消息,设置 server.tcpnodelay 为 false 来启用 Nagle 算法可以提供更好的性能。</td><td>true</td></tr>
 <tr><td>serverSockKeepalive</td><td>此设置用于在面向连接的套接字上发送 keep-alive 消息。</td><td>true</td></tr>
-<tr><td>serverTcpLinger</td><td>关闭时套接字延迟超时。 When enabled, a close or shutdown will not return until all queued messages for the socket have been successfully sent or the linger timeout has been reached. Otherwise, the call returns immediately and the closing is done in the background.</td><td>0</td></tr>
+<tr><td>serverTcpLinger</td><td>关闭时TCP延迟超时。 当启用时,关闭或关机将不会返回,直到TCP的所有排队消息都被成功发送或达到徘徊超时。 否则,调用将立即返回,关闭是在后台完成的。</td><td>0</td></tr>
 <tr><td>byteBufAllocatorSizeMax</td><td>ByteBuf分配器能够接受的最大buf的大小</td><td>1048576</td></tr>
 <tr><td>nettyMaxFrameSizeBytes</td><td>The maximum netty frame size in bytes. Any message received larger than this will be rejected.</td><td>5253120</td></tr>
 <tr><td>openFileLimit</td><td>在 bookie 服务器上可以打开 ledger 索引文件的最大数量。如果 ledger 索引文件数量达到这个限制,bookie 服务器会开始将一些 ledger 从内存交换到磁盘。 过于频繁的交换会影响性能。 你可以根据你的要求调整这个数字以获得性能提升。</td><td>0</td></tr>
 <tr><td>pageSize</td><td>Ledger 缓存中索引页的大小,是以字节为单位。一个大的索引页可以改善将页写入磁盘的性能。当你有少量有 ledger 并且这些 ledger 有着相似数量的条目时,会很高效。 如果你有大量的 ledger,而每个 ledger 都有较少的条目,较小的索引页面将会提高内存使用率。</td><td>8192</td></tr>
 <tr><td>pageLimit</td><td>在 ledger 缓存中提供多少索引页面。如果索引页面数量达到此限制,bookie 服务器会开始将一些 ledger 从内存交换到磁盘。 当你发现交换变得更频繁时,可以增加这个值。 但请确认 pageLimit*page 的大小不应超过 JVM 最大内存限制,否则你将会得到 OutOfMemoryException。 一般来说,增加pageLimit,使用较小的索引页会在条目较少的大账本中获得更好的性能。 如果pageLimit为-1,bookie服务将根据1/3的JVM内存来计算索引页的数量限制。</td><td>0</td></tr>
 <tr><td>readOnlyModeEnabled</td><td>如果所有已配置的 ledger 目录已满,则只支持客户的读取请求。 如果 “readOnlyModeEnabled=true” 那么当所有的 ledger 磁盘满时,bookie 会被转换为只读模式并只处理读请求。 否则 bookie 将被关闭。 默认情况下,这会被禁用。</td><td>true</td></tr>
-<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 If all ledger dir partitions are full, then bookie will turn to readonly mode if ‘readOnlyModeEnabled=true’ is set, else it will shutdown. 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
+<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 如果所有的ledger目录分区都满了,那么如果设置了'readOnlyModeEnabled=true',bookie将转为只读模式,否则它将关闭。 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
 <tr><td>diskCheckInterval</td><td>磁盘检查间隔,以毫秒为单位,检查 ledger 目录使用情况的时间间隔。</td><td>10000</td></tr>
 <tr><td>auditorPeriodicCheckInterval</td><td>审查者对集群内所有 ledger 进行核对的时间间隔。 默认情况下,每周运行一次。 间隔以秒为单位。 要完全禁用定期检查,请将此设置为 0。 请注意,定期检查会给集群带来额外的负荷,因此每天的运行次数不应超过一次。</td><td>604800</td></tr>
 <tr><td>sortedLedgerStorageEnabled</td><td>Whether sorted-ledger storage is enabled.</td><td>true</td></tr>
 <tr><td>auditorPeriodicBookieCheckInterval</td><td>审查者 bookie 检查的时间间隔。 审查者 bookie 检查,检查 ledger 的元数据来查看哪些 bookie 应该包含各个 ledger 的条目。 如果本应包含条目的 bookie 不可用,包含该条目的 ledger 会被标记去做恢复。 设置为 0 会禁用定期检查。 当 bookie 失效时,bookie 检查仍然会进行。 间隔以秒为单位。</td><td>86400</td></tr>
 <tr><td>numAddWorkerThreads</td><td>The number of threads that should handle write requests. 如果设置为 0,写入请求将直接被 nerry 线程进行处理。</td><td>0</td></tr>
 <tr><td>numReadWorkerThreads</td><td>The number of threads that should handle read requests. 如果设置为 0,读取请求将直接被 netty 线程处理。</td><td>8</td></tr>
-<tr><td>numHighPriorityWorkerThreads</td><td>The umber of threads that should be used for high priority requests (i.e. recovery reads and adds, and fencing).</td><td>8</td></tr>
+<tr><td>numHighPriorityWorkerThreads</td><td>用于高优先级请求的线程数量(例如恢复读和添加,以及fencing)。</td><td>8</td></tr>
 <tr><td>maxPendingReadRequestsPerThread</td><td>如果启用了读 worker 线程,限制待处理请求的数量,以避免执行器队列无止境增长。</td><td>2500</td></tr>
-<tr><td>maxPendingAddRequestsPerThread</td><td>The limited number of pending requests, which is used to avoid the executor queue to grow indefinitely when add workers threads are enabled.</td><td>10000</td></tr>
-<tr><td>isForceGCAllowWhenNoSpace</td><td>Whether force compaction is allowed when the disk is full or almost full. Forcing GC could get some space back, but could also fill up the disk space more quickly. This is because new log files are created before GC, while old garbage log files are deleted after GC.</td><td>false</td></tr>
-<tr><td>verifyMetadataOnGC</td><td>True if the bookie should double check <code>readMetadata</code> prior to GC.</td><td>false</td></tr>
+<tr><td>maxPendingAddRequestsPerThread</td><td>待处理请求的限制的线程数量。用于避免在启用添加工作线程时,执行者队列无限期增长。</td><td>10000</td></tr>
+<tr><td>isForceGCAllowWhenNoSpace</td><td>当磁盘已满或快满时,是否允许强制压缩。 强制GC可以找回一些空间,但也可能更快地填满磁盘空间。 这是因为新的日志文件是在GC之前创建的,而旧的垃圾日志文件在GC之后被删除。</td><td>false</td></tr>
+<tr><td>verifyMetadataOnGC</td><td>设置了true,bookie就会在GC之前去复查<code>readMetadata</code></td><td>false</td></tr>
 <tr><td>flushEntrylogBytes</td><td>Entry log flush interval in bytes. Flushing in smaller chunks but more frequently reduces spikes in disk I/O. Flushing too frequently may also affect performance negatively.</td><td>268435456</td></tr>
 <tr><td>readBufferSizeBytes</td><td>用作 BufferedReadChannel 容量的字节数量。</td><td>4096</td></tr>
 <tr><td>writeBufferSizeBytes</td><td>用作写缓存容量的字节数</td><td>65536</td></tr>
 <tr><td>useHostNameAsBookieID</td><td>是否使用主机名去注册 bookie 的协调服务(如:Zookeeper)。 When false, bookie will use its ip address for the registration.</td><td>false</td></tr>
-<tr><td>bookieId</td><td>If you want to custom a bookie ID or use a dynamic network address for the bookie, you can set the <code>bookieId</code>. <br><br>Bookie advertises itself using the <code>bookieId</code> rather than the <code>BookieSocketAddress</code> (<code>hostname:port</code> or <code>IP:port</code>). If you set the <code>bookieId</code>, then the <code>useHostNameAsBookieID</code> does not take effect.<br><br>The <code>bookieId</code> is a non-empty string that can contain A [...]
+<tr><td>bookieId</td><td>如果你想定制一个bookie的ID,或者为bookie使用一个动态网络地址, 你可以设置 <code>bookieId</code>的值。 <br><br>Bookie advertises itself using the <code>bookieId</code> rather than the <code>BookieSocketAddress</code> (<code>hostname:port</code> or <code>IP:port</code>). If you set the <code>bookieId</code>, then the <code>useHostNameAsBookieID</code> does not take effect.<br><br>The <code>bookieId</code> is a non-empty string that can contain ASCII digits and letters ([a-zA-Z9-0]), colons, dashe [...]
 <tr><td>allowEphemeralPorts</td><td>Whether the bookie is allowed to use an ephemeral port (port 0) as its server port. By default, an ephemeral port is not allowed. Using an ephemeral port as the service port usually indicates a configuration error. However, in unit tests, using an ephemeral port will address port conflict problems and allow running tests in parallel.</td><td>false</td></tr>
 <tr><td>enableLocalTransport</td><td>Whether the bookie is allowed to listen for the BookKeeper clients executed on the local JVM.</td><td>false</td></tr>
 <tr><td>disableServerSocketBind</td><td>Whether the bookie is allowed to disable bind on network interfaces. This bookie will be available only to BookKeeper clients executed on the local JVM.</td><td>false</td></tr>
diff --git a/content/docs/zh-CN/2.8.0/reference-configuration/index.html b/content/docs/zh-CN/2.8.0/reference-configuration/index.html
index ab79a6d..c673a83 100644
--- a/content/docs/zh-CN/2.8.0/reference-configuration/index.html
+++ b/content/docs/zh-CN/2.8.0/reference-configuration/index.html
@@ -155,30 +155,30 @@
 <tr><td>httpServerClass</td><td>Http服务器实现类。</td><td>org.apache.bookkeeper.http.vertx.VertxHttpServer</td></tr>
 <tr><td>serverTcpNoDelay</td><td>此设置用于启用/禁用 Nagle 的算法,该算法能通过减少通过网络发送的数据包数量来提高 TCP/IP 网络效率。 如果你正在发送许多小消息,这样在单个 IP 数据包中就可以放入不止一个消息,设置 server.tcpnodelay 为 false 来启用 Nagle 算法可以提供更好的性能。</td><td>true</td></tr>
 <tr><td>serverSockKeepalive</td><td>此设置用于在面向连接的套接字上发送 keep-alive 消息。</td><td>true</td></tr>
-<tr><td>serverTcpLinger</td><td>关闭时套接字延迟超时。 When enabled, a close or shutdown will not return until all queued messages for the socket have been successfully sent or the linger timeout has been reached. Otherwise, the call returns immediately and the closing is done in the background.</td><td>0</td></tr>
+<tr><td>serverTcpLinger</td><td>关闭时TCP延迟超时。 当启用时,关闭或关机将不会返回,直到TCP的所有排队消息都被成功发送或达到徘徊超时。 否则,调用将立即返回,关闭是在后台完成的。</td><td>0</td></tr>
 <tr><td>byteBufAllocatorSizeMax</td><td>ByteBuf分配器能够接受的最大buf的大小</td><td>1048576</td></tr>
 <tr><td>nettyMaxFrameSizeBytes</td><td>The maximum netty frame size in bytes. Any message received larger than this will be rejected.</td><td>5253120</td></tr>
 <tr><td>openFileLimit</td><td>在 bookie 服务器上可以打开 ledger 索引文件的最大数量。如果 ledger 索引文件数量达到这个限制,bookie 服务器会开始将一些 ledger 从内存交换到磁盘。 过于频繁的交换会影响性能。 你可以根据你的要求调整这个数字以获得性能提升。</td><td>0</td></tr>
 <tr><td>pageSize</td><td>Ledger 缓存中索引页的大小,是以字节为单位。一个大的索引页可以改善将页写入磁盘的性能。当你有少量有 ledger 并且这些 ledger 有着相似数量的条目时,会很高效。 如果你有大量的 ledger,而每个 ledger 都有较少的条目,较小的索引页面将会提高内存使用率。</td><td>8192</td></tr>
 <tr><td>pageLimit</td><td>在 ledger 缓存中提供多少索引页面。如果索引页面数量达到此限制,bookie 服务器会开始将一些 ledger 从内存交换到磁盘。 当你发现交换变得更频繁时,可以增加这个值。 但请确认 pageLimit*page 的大小不应超过 JVM 最大内存限制,否则你将会得到 OutOfMemoryException。 一般来说,增加pageLimit,使用较小的索引页会在条目较少的大账本中获得更好的性能。 如果pageLimit为-1,bookie服务将根据1/3的JVM内存来计算索引页的数量限制。</td><td>0</td></tr>
 <tr><td>readOnlyModeEnabled</td><td>如果所有已配置的 ledger 目录已满,则只支持客户的读取请求。 如果 “readOnlyModeEnabled=true” 那么当所有的 ledger 磁盘满时,bookie 会被转换为只读模式并只处理读请求。 否则 bookie 将被关闭。 默认情况下,这会被禁用。</td><td>true</td></tr>
-<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 If all ledger dir partitions are full, then bookie will turn to readonly mode if ‘readOnlyModeEnabled=true’ is set, else it will shutdown. 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
+<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 如果所有的ledger目录分区都满了,那么如果设置了'readOnlyModeEnabled=true',bookie将转为只读模式,否则它将关闭。 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
 <tr><td>diskCheckInterval</td><td>磁盘检查间隔,以毫秒为单位,检查 ledger 目录使用情况的时间间隔。</td><td>10000</td></tr>
 <tr><td>auditorPeriodicCheckInterval</td><td>审查者对集群内所有 ledger 进行核对的时间间隔。 默认情况下,每周运行一次。 间隔以秒为单位。 要完全禁用定期检查,请将此设置为 0。 请注意,定期检查会给集群带来额外的负荷,因此每天的运行次数不应超过一次。</td><td>604800</td></tr>
 <tr><td>sortedLedgerStorageEnabled</td><td>Whether sorted-ledger storage is enabled.</td><td>true</td></tr>
 <tr><td>auditorPeriodicBookieCheckInterval</td><td>审查者 bookie 检查的时间间隔。 审查者 bookie 检查,检查 ledger 的元数据来查看哪些 bookie 应该包含各个 ledger 的条目。 如果本应包含条目的 bookie 不可用,包含该条目的 ledger 会被标记去做恢复。 设置为 0 会禁用定期检查。 当 bookie 失效时,bookie 检查仍然会进行。 间隔以秒为单位。</td><td>86400</td></tr>
 <tr><td>numAddWorkerThreads</td><td>The number of threads that should handle write requests. 如果设置为 0,写入请求将直接被 nerry 线程进行处理。</td><td>0</td></tr>
 <tr><td>numReadWorkerThreads</td><td>The number of threads that should handle read requests. 如果设置为 0,读取请求将直接被 netty 线程处理。</td><td>8</td></tr>
-<tr><td>numHighPriorityWorkerThreads</td><td>The umber of threads that should be used for high priority requests (i.e. recovery reads and adds, and fencing).</td><td>8</td></tr>
+<tr><td>numHighPriorityWorkerThreads</td><td>用于高优先级请求的线程数量(例如恢复读和添加,以及fencing)。</td><td>8</td></tr>
 <tr><td>maxPendingReadRequestsPerThread</td><td>如果启用了读 worker 线程,限制待处理请求的数量,以避免执行器队列无止境增长。</td><td>2500</td></tr>
-<tr><td>maxPendingAddRequestsPerThread</td><td>The limited number of pending requests, which is used to avoid the executor queue to grow indefinitely when add workers threads are enabled.</td><td>10000</td></tr>
-<tr><td>isForceGCAllowWhenNoSpace</td><td>Whether force compaction is allowed when the disk is full or almost full. Forcing GC could get some space back, but could also fill up the disk space more quickly. This is because new log files are created before GC, while old garbage log files are deleted after GC.</td><td>false</td></tr>
-<tr><td>verifyMetadataOnGC</td><td>True if the bookie should double check <code>readMetadata</code> prior to GC.</td><td>false</td></tr>
+<tr><td>maxPendingAddRequestsPerThread</td><td>待处理请求的限制的线程数量。用于避免在启用添加工作线程时,执行者队列无限期增长。</td><td>10000</td></tr>
+<tr><td>isForceGCAllowWhenNoSpace</td><td>当磁盘已满或快满时,是否允许强制压缩。 强制GC可以找回一些空间,但也可能更快地填满磁盘空间。 这是因为新的日志文件是在GC之前创建的,而旧的垃圾日志文件在GC之后被删除。</td><td>false</td></tr>
+<tr><td>verifyMetadataOnGC</td><td>设置了true,bookie就会在GC之前去复查<code>readMetadata</code></td><td>false</td></tr>
 <tr><td>flushEntrylogBytes</td><td>Entry log flush interval in bytes. Flushing in smaller chunks but more frequently reduces spikes in disk I/O. Flushing too frequently may also affect performance negatively.</td><td>268435456</td></tr>
 <tr><td>readBufferSizeBytes</td><td>用作 BufferedReadChannel 容量的字节数量。</td><td>4096</td></tr>
 <tr><td>writeBufferSizeBytes</td><td>用作写缓存容量的字节数</td><td>65536</td></tr>
 <tr><td>useHostNameAsBookieID</td><td>是否使用主机名去注册 bookie 的协调服务(如:Zookeeper)。 When false, bookie will use its ip address for the registration.</td><td>false</td></tr>
-<tr><td>bookieId</td><td>If you want to custom a bookie ID or use a dynamic network address for the bookie, you can set the <code>bookieId</code>. <br><br>Bookie advertises itself using the <code>bookieId</code> rather than the <code>BookieSocketAddress</code> (<code>hostname:port</code> or <code>IP:port</code>). If you set the <code>bookieId</code>, then the <code>useHostNameAsBookieID</code> does not take effect.<br><br>The <code>bookieId</code> is a non-empty string that can contain A [...]
+<tr><td>bookieId</td><td>如果你想定制一个bookie的ID,或者为bookie使用一个动态网络地址, 你可以设置 <code>bookieId</code>的值。 <br><br>Bookie advertises itself using the <code>bookieId</code> rather than the <code>BookieSocketAddress</code> (<code>hostname:port</code> or <code>IP:port</code>). If you set the <code>bookieId</code>, then the <code>useHostNameAsBookieID</code> does not take effect.<br><br>The <code>bookieId</code> is a non-empty string that can contain ASCII digits and letters ([a-zA-Z9-0]), colons, dashe [...]
 <tr><td>allowEphemeralPorts</td><td>Whether the bookie is allowed to use an ephemeral port (port 0) as its server port. By default, an ephemeral port is not allowed. Using an ephemeral port as the service port usually indicates a configuration error. However, in unit tests, using an ephemeral port will address port conflict problems and allow running tests in parallel.</td><td>false</td></tr>
 <tr><td>enableLocalTransport</td><td>Whether the bookie is allowed to listen for the BookKeeper clients executed on the local JVM.</td><td>false</td></tr>
 <tr><td>disableServerSocketBind</td><td>Whether the bookie is allowed to disable bind on network interfaces. This bookie will be available only to BookKeeper clients executed on the local JVM.</td><td>false</td></tr>
diff --git a/content/docs/zh-CN/2.8.1/reference-configuration.html b/content/docs/zh-CN/2.8.1/reference-configuration.html
index 99ad912..cd449cf 100644
--- a/content/docs/zh-CN/2.8.1/reference-configuration.html
+++ b/content/docs/zh-CN/2.8.1/reference-configuration.html
@@ -155,30 +155,30 @@
 <tr><td>httpServerClass</td><td>Http服务器实现类。</td><td>org.apache.bookkeeper.http.vertx.VertxHttpServer</td></tr>
 <tr><td>serverTcpNoDelay</td><td>此设置用于启用/禁用 Nagle 的算法,该算法能通过减少通过网络发送的数据包数量来提高 TCP/IP 网络效率。 如果你正在发送许多小消息,这样在单个 IP 数据包中就可以放入不止一个消息,设置 server.tcpnodelay 为 false 来启用 Nagle 算法可以提供更好的性能。</td><td>true</td></tr>
 <tr><td>serverSockKeepalive</td><td>此设置用于在面向连接的套接字上发送 keep-alive 消息。</td><td>true</td></tr>
-<tr><td>serverTcpLinger</td><td>关闭时套接字延迟超时。 When enabled, a close or shutdown will not return until all queued messages for the socket have been successfully sent or the linger timeout has been reached. Otherwise, the call returns immediately and the closing is done in the background.</td><td>0</td></tr>
+<tr><td>serverTcpLinger</td><td>关闭时TCP延迟超时。 当启用时,关闭或关机将不会返回,直到TCP的所有排队消息都被成功发送或达到徘徊超时。 否则,调用将立即返回,关闭是在后台完成的。</td><td>0</td></tr>
 <tr><td>byteBufAllocatorSizeMax</td><td>ByteBuf分配器能够接受的最大buf的大小</td><td>1048576</td></tr>
 <tr><td>nettyMaxFrameSizeBytes</td><td>The maximum netty frame size in bytes. Any message received larger than this will be rejected.</td><td>5253120</td></tr>
 <tr><td>openFileLimit</td><td>在 bookie 服务器上可以打开 ledger 索引文件的最大数量。如果 ledger 索引文件数量达到这个限制,bookie 服务器会开始将一些 ledger 从内存交换到磁盘。 过于频繁的交换会影响性能。 你可以根据你的要求调整这个数字以获得性能提升。</td><td>0</td></tr>
 <tr><td>pageSize</td><td>Ledger 缓存中索引页的大小,是以字节为单位。一个大的索引页可以改善将页写入磁盘的性能。当你有少量有 ledger 并且这些 ledger 有着相似数量的条目时,会很高效。 如果你有大量的 ledger,而每个 ledger 都有较少的条目,较小的索引页面将会提高内存使用率。</td><td>8192</td></tr>
 <tr><td>pageLimit</td><td>在 ledger 缓存中提供多少索引页面。如果索引页面数量达到此限制,bookie 服务器会开始将一些 ledger 从内存交换到磁盘。 当你发现交换变得更频繁时,可以增加这个值。 但请确认 pageLimit*page 的大小不应超过 JVM 最大内存限制,否则你将会得到 OutOfMemoryException。 一般来说,增加pageLimit,使用较小的索引页会在条目较少的大账本中获得更好的性能。 如果pageLimit为-1,bookie服务将根据1/3的JVM内存来计算索引页的数量限制。</td><td>0</td></tr>
 <tr><td>readOnlyModeEnabled</td><td>如果所有已配置的 ledger 目录已满,则只支持客户的读取请求。 如果 “readOnlyModeEnabled=true” 那么当所有的 ledger 磁盘满时,bookie 会被转换为只读模式并只处理读请求。 否则 bookie 将被关闭。 默认情况下,这会被禁用。</td><td>true</td></tr>
-<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 If all ledger dir partitions are full, then bookie will turn to readonly mode if ‘readOnlyModeEnabled=true’ is set, else it will shutdown. 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
+<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 如果所有的ledger目录分区都满了,那么如果设置了'readOnlyModeEnabled=true',bookie将转为只读模式,否则它将关闭。 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
 <tr><td>diskCheckInterval</td><td>磁盘检查间隔,以毫秒为单位,检查 ledger 目录使用情况的时间间隔。</td><td>10000</td></tr>
 <tr><td>auditorPeriodicCheckInterval</td><td>审查者对集群内所有 ledger 进行核对的时间间隔。 默认情况下,每周运行一次。 间隔以秒为单位。 要完全禁用定期检查,请将此设置为 0。 请注意,定期检查会给集群带来额外的负荷,因此每天的运行次数不应超过一次。</td><td>604800</td></tr>
 <tr><td>sortedLedgerStorageEnabled</td><td>Whether sorted-ledger storage is enabled.</td><td>true</td></tr>
 <tr><td>auditorPeriodicBookieCheckInterval</td><td>审查者 bookie 检查的时间间隔。 审查者 bookie 检查,检查 ledger 的元数据来查看哪些 bookie 应该包含各个 ledger 的条目。 如果本应包含条目的 bookie 不可用,包含该条目的 ledger 会被标记去做恢复。 设置为 0 会禁用定期检查。 当 bookie 失效时,bookie 检查仍然会进行。 间隔以秒为单位。</td><td>86400</td></tr>
 <tr><td>numAddWorkerThreads</td><td>The number of threads that should handle write requests. 如果设置为 0,写入请求将直接被 nerry 线程进行处理。</td><td>0</td></tr>
 <tr><td>numReadWorkerThreads</td><td>The number of threads that should handle read requests. 如果设置为 0,读取请求将直接被 netty 线程处理。</td><td>8</td></tr>
-<tr><td>numHighPriorityWorkerThreads</td><td>The umber of threads that should be used for high priority requests (i.e. recovery reads and adds, and fencing).</td><td>8</td></tr>
+<tr><td>numHighPriorityWorkerThreads</td><td>用于高优先级请求的线程数量(例如恢复读和添加,以及fencing)。</td><td>8</td></tr>
 <tr><td>maxPendingReadRequestsPerThread</td><td>如果启用了读 worker 线程,限制待处理请求的数量,以避免执行器队列无止境增长。</td><td>2500</td></tr>
-<tr><td>maxPendingAddRequestsPerThread</td><td>The limited number of pending requests, which is used to avoid the executor queue to grow indefinitely when add workers threads are enabled.</td><td>10000</td></tr>
-<tr><td>isForceGCAllowWhenNoSpace</td><td>Whether force compaction is allowed when the disk is full or almost full. Forcing GC could get some space back, but could also fill up the disk space more quickly. This is because new log files are created before GC, while old garbage log files are deleted after GC.</td><td>false</td></tr>
-<tr><td>verifyMetadataOnGC</td><td>True if the bookie should double check <code>readMetadata</code> prior to GC.</td><td>false</td></tr>
+<tr><td>maxPendingAddRequestsPerThread</td><td>待处理请求的限制的线程数量。用于避免在启用添加工作线程时,执行者队列无限期增长。</td><td>10000</td></tr>
+<tr><td>isForceGCAllowWhenNoSpace</td><td>当磁盘已满或快满时,是否允许强制压缩。 强制GC可以找回一些空间,但也可能更快地填满磁盘空间。 这是因为新的日志文件是在GC之前创建的,而旧的垃圾日志文件在GC之后被删除。</td><td>false</td></tr>
+<tr><td>verifyMetadataOnGC</td><td>设置了true,bookie就会在GC之前去复查<code>readMetadata</code></td><td>false</td></tr>
 <tr><td>flushEntrylogBytes</td><td>Entry log flush interval in bytes. Flushing in smaller chunks but more frequently reduces spikes in disk I/O. Flushing too frequently may also affect performance negatively.</td><td>268435456</td></tr>
 <tr><td>readBufferSizeBytes</td><td>用作 BufferedReadChannel 容量的字节数量。</td><td>4096</td></tr>
 <tr><td>writeBufferSizeBytes</td><td>用作写缓存容量的字节数</td><td>65536</td></tr>
 <tr><td>useHostNameAsBookieID</td><td>是否使用主机名去注册 bookie 的协调服务(如:Zookeeper)。 When false, bookie will use its ip address for the registration.</td><td>false</td></tr>
-<tr><td>bookieId</td><td>If you want to custom a bookie ID or use a dynamic network address for the bookie, you can set the <code>bookieId</code>. <br><br>Bookie advertises itself using the <code>bookieId</code> rather than the <code>BookieSocketAddress</code> (<code>hostname:port</code> or <code>IP:port</code>). If you set the <code>bookieId</code>, then the <code>useHostNameAsBookieID</code> does not take effect.<br><br>The <code>bookieId</code> is a non-empty string that can contain A [...]
+<tr><td>bookieId</td><td>如果你想定制一个bookie的ID,或者为bookie使用一个动态网络地址, 你可以设置 <code>bookieId</code>的值。 <br><br>Bookie advertises itself using the <code>bookieId</code> rather than the <code>BookieSocketAddress</code> (<code>hostname:port</code> or <code>IP:port</code>). If you set the <code>bookieId</code>, then the <code>useHostNameAsBookieID</code> does not take effect.<br><br>The <code>bookieId</code> is a non-empty string that can contain ASCII digits and letters ([a-zA-Z9-0]), colons, dashe [...]
 <tr><td>allowEphemeralPorts</td><td>Whether the bookie is allowed to use an ephemeral port (port 0) as its server port. By default, an ephemeral port is not allowed. Using an ephemeral port as the service port usually indicates a configuration error. However, in unit tests, using an ephemeral port will address port conflict problems and allow running tests in parallel.</td><td>false</td></tr>
 <tr><td>enableLocalTransport</td><td>Whether the bookie is allowed to listen for the BookKeeper clients executed on the local JVM.</td><td>false</td></tr>
 <tr><td>disableServerSocketBind</td><td>Whether the bookie is allowed to disable bind on network interfaces. This bookie will be available only to BookKeeper clients executed on the local JVM.</td><td>false</td></tr>
diff --git a/content/docs/zh-CN/2.8.1/reference-configuration/index.html b/content/docs/zh-CN/2.8.1/reference-configuration/index.html
index 99ad912..cd449cf 100644
--- a/content/docs/zh-CN/2.8.1/reference-configuration/index.html
+++ b/content/docs/zh-CN/2.8.1/reference-configuration/index.html
@@ -155,30 +155,30 @@
 <tr><td>httpServerClass</td><td>Http服务器实现类。</td><td>org.apache.bookkeeper.http.vertx.VertxHttpServer</td></tr>
 <tr><td>serverTcpNoDelay</td><td>此设置用于启用/禁用 Nagle 的算法,该算法能通过减少通过网络发送的数据包数量来提高 TCP/IP 网络效率。 如果你正在发送许多小消息,这样在单个 IP 数据包中就可以放入不止一个消息,设置 server.tcpnodelay 为 false 来启用 Nagle 算法可以提供更好的性能。</td><td>true</td></tr>
 <tr><td>serverSockKeepalive</td><td>此设置用于在面向连接的套接字上发送 keep-alive 消息。</td><td>true</td></tr>
-<tr><td>serverTcpLinger</td><td>关闭时套接字延迟超时。 When enabled, a close or shutdown will not return until all queued messages for the socket have been successfully sent or the linger timeout has been reached. Otherwise, the call returns immediately and the closing is done in the background.</td><td>0</td></tr>
+<tr><td>serverTcpLinger</td><td>关闭时TCP延迟超时。 当启用时,关闭或关机将不会返回,直到TCP的所有排队消息都被成功发送或达到徘徊超时。 否则,调用将立即返回,关闭是在后台完成的。</td><td>0</td></tr>
 <tr><td>byteBufAllocatorSizeMax</td><td>ByteBuf分配器能够接受的最大buf的大小</td><td>1048576</td></tr>
 <tr><td>nettyMaxFrameSizeBytes</td><td>The maximum netty frame size in bytes. Any message received larger than this will be rejected.</td><td>5253120</td></tr>
 <tr><td>openFileLimit</td><td>在 bookie 服务器上可以打开 ledger 索引文件的最大数量。如果 ledger 索引文件数量达到这个限制,bookie 服务器会开始将一些 ledger 从内存交换到磁盘。 过于频繁的交换会影响性能。 你可以根据你的要求调整这个数字以获得性能提升。</td><td>0</td></tr>
 <tr><td>pageSize</td><td>Ledger 缓存中索引页的大小,是以字节为单位。一个大的索引页可以改善将页写入磁盘的性能。当你有少量有 ledger 并且这些 ledger 有着相似数量的条目时,会很高效。 如果你有大量的 ledger,而每个 ledger 都有较少的条目,较小的索引页面将会提高内存使用率。</td><td>8192</td></tr>
 <tr><td>pageLimit</td><td>在 ledger 缓存中提供多少索引页面。如果索引页面数量达到此限制,bookie 服务器会开始将一些 ledger 从内存交换到磁盘。 当你发现交换变得更频繁时,可以增加这个值。 但请确认 pageLimit*page 的大小不应超过 JVM 最大内存限制,否则你将会得到 OutOfMemoryException。 一般来说,增加pageLimit,使用较小的索引页会在条目较少的大账本中获得更好的性能。 如果pageLimit为-1,bookie服务将根据1/3的JVM内存来计算索引页的数量限制。</td><td>0</td></tr>
 <tr><td>readOnlyModeEnabled</td><td>如果所有已配置的 ledger 目录已满,则只支持客户的读取请求。 如果 “readOnlyModeEnabled=true” 那么当所有的 ledger 磁盘满时,bookie 会被转换为只读模式并只处理读请求。 否则 bookie 将被关闭。 默认情况下,这会被禁用。</td><td>true</td></tr>
-<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 If all ledger dir partitions are full, then bookie will turn to readonly mode if ‘readOnlyModeEnabled=true’ is set, else it will shutdown. 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
+<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 如果所有的ledger目录分区都满了,那么如果设置了'readOnlyModeEnabled=true',bookie将转为只读模式,否则它将关闭。 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
 <tr><td>diskCheckInterval</td><td>磁盘检查间隔,以毫秒为单位,检查 ledger 目录使用情况的时间间隔。</td><td>10000</td></tr>
 <tr><td>auditorPeriodicCheckInterval</td><td>审查者对集群内所有 ledger 进行核对的时间间隔。 默认情况下,每周运行一次。 间隔以秒为单位。 要完全禁用定期检查,请将此设置为 0。 请注意,定期检查会给集群带来额外的负荷,因此每天的运行次数不应超过一次。</td><td>604800</td></tr>
 <tr><td>sortedLedgerStorageEnabled</td><td>Whether sorted-ledger storage is enabled.</td><td>true</td></tr>
 <tr><td>auditorPeriodicBookieCheckInterval</td><td>审查者 bookie 检查的时间间隔。 审查者 bookie 检查,检查 ledger 的元数据来查看哪些 bookie 应该包含各个 ledger 的条目。 如果本应包含条目的 bookie 不可用,包含该条目的 ledger 会被标记去做恢复。 设置为 0 会禁用定期检查。 当 bookie 失效时,bookie 检查仍然会进行。 间隔以秒为单位。</td><td>86400</td></tr>
 <tr><td>numAddWorkerThreads</td><td>The number of threads that should handle write requests. 如果设置为 0,写入请求将直接被 nerry 线程进行处理。</td><td>0</td></tr>
 <tr><td>numReadWorkerThreads</td><td>The number of threads that should handle read requests. 如果设置为 0,读取请求将直接被 netty 线程处理。</td><td>8</td></tr>
-<tr><td>numHighPriorityWorkerThreads</td><td>The umber of threads that should be used for high priority requests (i.e. recovery reads and adds, and fencing).</td><td>8</td></tr>
+<tr><td>numHighPriorityWorkerThreads</td><td>用于高优先级请求的线程数量(例如恢复读和添加,以及fencing)。</td><td>8</td></tr>
 <tr><td>maxPendingReadRequestsPerThread</td><td>如果启用了读 worker 线程,限制待处理请求的数量,以避免执行器队列无止境增长。</td><td>2500</td></tr>
-<tr><td>maxPendingAddRequestsPerThread</td><td>The limited number of pending requests, which is used to avoid the executor queue to grow indefinitely when add workers threads are enabled.</td><td>10000</td></tr>
-<tr><td>isForceGCAllowWhenNoSpace</td><td>Whether force compaction is allowed when the disk is full or almost full. Forcing GC could get some space back, but could also fill up the disk space more quickly. This is because new log files are created before GC, while old garbage log files are deleted after GC.</td><td>false</td></tr>
-<tr><td>verifyMetadataOnGC</td><td>True if the bookie should double check <code>readMetadata</code> prior to GC.</td><td>false</td></tr>
+<tr><td>maxPendingAddRequestsPerThread</td><td>待处理请求的限制的线程数量。用于避免在启用添加工作线程时,执行者队列无限期增长。</td><td>10000</td></tr>
+<tr><td>isForceGCAllowWhenNoSpace</td><td>当磁盘已满或快满时,是否允许强制压缩。 强制GC可以找回一些空间,但也可能更快地填满磁盘空间。 这是因为新的日志文件是在GC之前创建的,而旧的垃圾日志文件在GC之后被删除。</td><td>false</td></tr>
+<tr><td>verifyMetadataOnGC</td><td>设置了true,bookie就会在GC之前去复查<code>readMetadata</code></td><td>false</td></tr>
 <tr><td>flushEntrylogBytes</td><td>Entry log flush interval in bytes. Flushing in smaller chunks but more frequently reduces spikes in disk I/O. Flushing too frequently may also affect performance negatively.</td><td>268435456</td></tr>
 <tr><td>readBufferSizeBytes</td><td>用作 BufferedReadChannel 容量的字节数量。</td><td>4096</td></tr>
 <tr><td>writeBufferSizeBytes</td><td>用作写缓存容量的字节数</td><td>65536</td></tr>
 <tr><td>useHostNameAsBookieID</td><td>是否使用主机名去注册 bookie 的协调服务(如:Zookeeper)。 When false, bookie will use its ip address for the registration.</td><td>false</td></tr>
-<tr><td>bookieId</td><td>If you want to custom a bookie ID or use a dynamic network address for the bookie, you can set the <code>bookieId</code>. <br><br>Bookie advertises itself using the <code>bookieId</code> rather than the <code>BookieSocketAddress</code> (<code>hostname:port</code> or <code>IP:port</code>). If you set the <code>bookieId</code>, then the <code>useHostNameAsBookieID</code> does not take effect.<br><br>The <code>bookieId</code> is a non-empty string that can contain A [...]
+<tr><td>bookieId</td><td>如果你想定制一个bookie的ID,或者为bookie使用一个动态网络地址, 你可以设置 <code>bookieId</code>的值。 <br><br>Bookie advertises itself using the <code>bookieId</code> rather than the <code>BookieSocketAddress</code> (<code>hostname:port</code> or <code>IP:port</code>). If you set the <code>bookieId</code>, then the <code>useHostNameAsBookieID</code> does not take effect.<br><br>The <code>bookieId</code> is a non-empty string that can contain ASCII digits and letters ([a-zA-Z9-0]), colons, dashe [...]
 <tr><td>allowEphemeralPorts</td><td>Whether the bookie is allowed to use an ephemeral port (port 0) as its server port. By default, an ephemeral port is not allowed. Using an ephemeral port as the service port usually indicates a configuration error. However, in unit tests, using an ephemeral port will address port conflict problems and allow running tests in parallel.</td><td>false</td></tr>
 <tr><td>enableLocalTransport</td><td>Whether the bookie is allowed to listen for the BookKeeper clients executed on the local JVM.</td><td>false</td></tr>
 <tr><td>disableServerSocketBind</td><td>Whether the bookie is allowed to disable bind on network interfaces. This bookie will be available only to BookKeeper clients executed on the local JVM.</td><td>false</td></tr>
diff --git a/content/docs/zh-CN/2.8.2/reference-configuration.html b/content/docs/zh-CN/2.8.2/reference-configuration.html
index 43d6c55..241323d 100644
--- a/content/docs/zh-CN/2.8.2/reference-configuration.html
+++ b/content/docs/zh-CN/2.8.2/reference-configuration.html
@@ -155,30 +155,30 @@
 <tr><td>httpServerClass</td><td>Http服务器实现类。</td><td>org.apache.bookkeeper.http.vertx.VertxHttpServer</td></tr>
 <tr><td>serverTcpNoDelay</td><td>此设置用于启用/禁用 Nagle 的算法,该算法能通过减少通过网络发送的数据包数量来提高 TCP/IP 网络效率。 如果你正在发送许多小消息,这样在单个 IP 数据包中就可以放入不止一个消息,设置 server.tcpnodelay 为 false 来启用 Nagle 算法可以提供更好的性能。</td><td>true</td></tr>
 <tr><td>serverSockKeepalive</td><td>此设置用于在面向连接的套接字上发送 keep-alive 消息。</td><td>true</td></tr>
-<tr><td>serverTcpLinger</td><td>关闭时套接字延迟超时。 When enabled, a close or shutdown will not return until all queued messages for the socket have been successfully sent or the linger timeout has been reached. Otherwise, the call returns immediately and the closing is done in the background.</td><td>0</td></tr>
+<tr><td>serverTcpLinger</td><td>关闭时TCP延迟超时。 当启用时,关闭或关机将不会返回,直到TCP的所有排队消息都被成功发送或达到徘徊超时。 否则,调用将立即返回,关闭是在后台完成的。</td><td>0</td></tr>
 <tr><td>byteBufAllocatorSizeMax</td><td>ByteBuf分配器能够接受的最大buf的大小</td><td>1048576</td></tr>
 <tr><td>nettyMaxFrameSizeBytes</td><td>The maximum netty frame size in bytes. Any message received larger than this will be rejected.</td><td>5253120</td></tr>
 <tr><td>openFileLimit</td><td>在 bookie 服务器上可以打开 ledger 索引文件的最大数量。如果 ledger 索引文件数量达到这个限制,bookie 服务器会开始将一些 ledger 从内存交换到磁盘。 过于频繁的交换会影响性能。 你可以根据你的要求调整这个数字以获得性能提升。</td><td>0</td></tr>
 <tr><td>pageSize</td><td>Ledger 缓存中索引页的大小,是以字节为单位。一个大的索引页可以改善将页写入磁盘的性能。当你有少量有 ledger 并且这些 ledger 有着相似数量的条目时,会很高效。 如果你有大量的 ledger,而每个 ledger 都有较少的条目,较小的索引页面将会提高内存使用率。</td><td>8192</td></tr>
 <tr><td>pageLimit</td><td>在 ledger 缓存中提供多少索引页面。如果索引页面数量达到此限制,bookie 服务器会开始将一些 ledger 从内存交换到磁盘。 当你发现交换变得更频繁时,可以增加这个值。 但请确认 pageLimit*page 的大小不应超过 JVM 最大内存限制,否则你将会得到 OutOfMemoryException。 一般来说,增加pageLimit,使用较小的索引页会在条目较少的大账本中获得更好的性能。 如果pageLimit为-1,bookie服务将根据1/3的JVM内存来计算索引页的数量限制。</td><td>0</td></tr>
 <tr><td>readOnlyModeEnabled</td><td>如果所有已配置的 ledger 目录已满,则只支持客户的读取请求。 如果 “readOnlyModeEnabled=true” 那么当所有的 ledger 磁盘满时,bookie 会被转换为只读模式并只处理读请求。 否则 bookie 将被关闭。 默认情况下,这会被禁用。</td><td>true</td></tr>
-<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 If all ledger dir partitions are full, then bookie will turn to readonly mode if ‘readOnlyModeEnabled=true’ is set, else it will shutdown. 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
+<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 如果所有的ledger目录分区都满了,那么如果设置了'readOnlyModeEnabled=true',bookie将转为只读模式,否则它将关闭。 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
 <tr><td>diskCheckInterval</td><td>磁盘检查间隔,以毫秒为单位,检查 ledger 目录使用情况的时间间隔。</td><td>10000</td></tr>
 <tr><td>auditorPeriodicCheckInterval</td><td>审查者对集群内所有 ledger 进行核对的时间间隔。 默认情况下,每周运行一次。 间隔以秒为单位。 要完全禁用定期检查,请将此设置为 0。 请注意,定期检查会给集群带来额外的负荷,因此每天的运行次数不应超过一次。</td><td>604800</td></tr>
 <tr><td>sortedLedgerStorageEnabled</td><td>Whether sorted-ledger storage is enabled.</td><td>true</td></tr>
 <tr><td>auditorPeriodicBookieCheckInterval</td><td>审查者 bookie 检查的时间间隔。 审查者 bookie 检查,检查 ledger 的元数据来查看哪些 bookie 应该包含各个 ledger 的条目。 如果本应包含条目的 bookie 不可用,包含该条目的 ledger 会被标记去做恢复。 设置为 0 会禁用定期检查。 当 bookie 失效时,bookie 检查仍然会进行。 间隔以秒为单位。</td><td>86400</td></tr>
 <tr><td>numAddWorkerThreads</td><td>The number of threads that should handle write requests. 如果设置为 0,写入请求将直接被 nerry 线程进行处理。</td><td>0</td></tr>
 <tr><td>numReadWorkerThreads</td><td>The number of threads that should handle read requests. 如果设置为 0,读取请求将直接被 netty 线程处理。</td><td>8</td></tr>
-<tr><td>numHighPriorityWorkerThreads</td><td>The umber of threads that should be used for high priority requests (i.e. recovery reads and adds, and fencing).</td><td>8</td></tr>
+<tr><td>numHighPriorityWorkerThreads</td><td>用于高优先级请求的线程数量(例如恢复读和添加,以及fencing)。</td><td>8</td></tr>
 <tr><td>maxPendingReadRequestsPerThread</td><td>如果启用了读 worker 线程,限制待处理请求的数量,以避免执行器队列无止境增长。</td><td>2500</td></tr>
-<tr><td>maxPendingAddRequestsPerThread</td><td>The limited number of pending requests, which is used to avoid the executor queue to grow indefinitely when add workers threads are enabled.</td><td>10000</td></tr>
-<tr><td>isForceGCAllowWhenNoSpace</td><td>Whether force compaction is allowed when the disk is full or almost full. Forcing GC could get some space back, but could also fill up the disk space more quickly. This is because new log files are created before GC, while old garbage log files are deleted after GC.</td><td>false</td></tr>
-<tr><td>verifyMetadataOnGC</td><td>True if the bookie should double check <code>readMetadata</code> prior to GC.</td><td>false</td></tr>
+<tr><td>maxPendingAddRequestsPerThread</td><td>待处理请求的限制的线程数量。用于避免在启用添加工作线程时,执行者队列无限期增长。</td><td>10000</td></tr>
+<tr><td>isForceGCAllowWhenNoSpace</td><td>当磁盘已满或快满时,是否允许强制压缩。 强制GC可以找回一些空间,但也可能更快地填满磁盘空间。 这是因为新的日志文件是在GC之前创建的,而旧的垃圾日志文件在GC之后被删除。</td><td>false</td></tr>
+<tr><td>verifyMetadataOnGC</td><td>设置了true,bookie就会在GC之前去复查<code>readMetadata</code></td><td>false</td></tr>
 <tr><td>flushEntrylogBytes</td><td>Entry log flush interval in bytes. Flushing in smaller chunks but more frequently reduces spikes in disk I/O. Flushing too frequently may also affect performance negatively.</td><td>268435456</td></tr>
 <tr><td>readBufferSizeBytes</td><td>用作 BufferedReadChannel 容量的字节数量。</td><td>4096</td></tr>
 <tr><td>writeBufferSizeBytes</td><td>用作写缓存容量的字节数</td><td>65536</td></tr>
 <tr><td>useHostNameAsBookieID</td><td>是否使用主机名去注册 bookie 的协调服务(如:Zookeeper)。 When false, bookie will use its ip address for the registration.</td><td>false</td></tr>
-<tr><td>bookieId</td><td>If you want to custom a bookie ID or use a dynamic network address for the bookie, you can set the <code>bookieId</code>. <br><br>Bookie advertises itself using the <code>bookieId</code> rather than the <code>BookieSocketAddress</code> (<code>hostname:port</code> or <code>IP:port</code>). If you set the <code>bookieId</code>, then the <code>useHostNameAsBookieID</code> does not take effect.<br><br>The <code>bookieId</code> is a non-empty string that can contain A [...]
+<tr><td>bookieId</td><td>如果你想定制一个bookie的ID,或者为bookie使用一个动态网络地址, 你可以设置 <code>bookieId</code>的值。 <br><br>Bookie advertises itself using the <code>bookieId</code> rather than the <code>BookieSocketAddress</code> (<code>hostname:port</code> or <code>IP:port</code>). If you set the <code>bookieId</code>, then the <code>useHostNameAsBookieID</code> does not take effect.<br><br>The <code>bookieId</code> is a non-empty string that can contain ASCII digits and letters ([a-zA-Z9-0]), colons, dashe [...]
 <tr><td>allowEphemeralPorts</td><td>Whether the bookie is allowed to use an ephemeral port (port 0) as its server port. By default, an ephemeral port is not allowed. Using an ephemeral port as the service port usually indicates a configuration error. However, in unit tests, using an ephemeral port will address port conflict problems and allow running tests in parallel.</td><td>false</td></tr>
 <tr><td>enableLocalTransport</td><td>Whether the bookie is allowed to listen for the BookKeeper clients executed on the local JVM.</td><td>false</td></tr>
 <tr><td>disableServerSocketBind</td><td>Whether the bookie is allowed to disable bind on network interfaces. This bookie will be available only to BookKeeper clients executed on the local JVM.</td><td>false</td></tr>
diff --git a/content/docs/zh-CN/2.8.2/reference-configuration/index.html b/content/docs/zh-CN/2.8.2/reference-configuration/index.html
index 43d6c55..241323d 100644
--- a/content/docs/zh-CN/2.8.2/reference-configuration/index.html
+++ b/content/docs/zh-CN/2.8.2/reference-configuration/index.html
@@ -155,30 +155,30 @@
 <tr><td>httpServerClass</td><td>Http服务器实现类。</td><td>org.apache.bookkeeper.http.vertx.VertxHttpServer</td></tr>
 <tr><td>serverTcpNoDelay</td><td>此设置用于启用/禁用 Nagle 的算法,该算法能通过减少通过网络发送的数据包数量来提高 TCP/IP 网络效率。 如果你正在发送许多小消息,这样在单个 IP 数据包中就可以放入不止一个消息,设置 server.tcpnodelay 为 false 来启用 Nagle 算法可以提供更好的性能。</td><td>true</td></tr>
 <tr><td>serverSockKeepalive</td><td>此设置用于在面向连接的套接字上发送 keep-alive 消息。</td><td>true</td></tr>
-<tr><td>serverTcpLinger</td><td>关闭时套接字延迟超时。 When enabled, a close or shutdown will not return until all queued messages for the socket have been successfully sent or the linger timeout has been reached. Otherwise, the call returns immediately and the closing is done in the background.</td><td>0</td></tr>
+<tr><td>serverTcpLinger</td><td>关闭时TCP延迟超时。 当启用时,关闭或关机将不会返回,直到TCP的所有排队消息都被成功发送或达到徘徊超时。 否则,调用将立即返回,关闭是在后台完成的。</td><td>0</td></tr>
 <tr><td>byteBufAllocatorSizeMax</td><td>ByteBuf分配器能够接受的最大buf的大小</td><td>1048576</td></tr>
 <tr><td>nettyMaxFrameSizeBytes</td><td>The maximum netty frame size in bytes. Any message received larger than this will be rejected.</td><td>5253120</td></tr>
 <tr><td>openFileLimit</td><td>在 bookie 服务器上可以打开 ledger 索引文件的最大数量。如果 ledger 索引文件数量达到这个限制,bookie 服务器会开始将一些 ledger 从内存交换到磁盘。 过于频繁的交换会影响性能。 你可以根据你的要求调整这个数字以获得性能提升。</td><td>0</td></tr>
 <tr><td>pageSize</td><td>Ledger 缓存中索引页的大小,是以字节为单位。一个大的索引页可以改善将页写入磁盘的性能。当你有少量有 ledger 并且这些 ledger 有着相似数量的条目时,会很高效。 如果你有大量的 ledger,而每个 ledger 都有较少的条目,较小的索引页面将会提高内存使用率。</td><td>8192</td></tr>
 <tr><td>pageLimit</td><td>在 ledger 缓存中提供多少索引页面。如果索引页面数量达到此限制,bookie 服务器会开始将一些 ledger 从内存交换到磁盘。 当你发现交换变得更频繁时,可以增加这个值。 但请确认 pageLimit*page 的大小不应超过 JVM 最大内存限制,否则你将会得到 OutOfMemoryException。 一般来说,增加pageLimit,使用较小的索引页会在条目较少的大账本中获得更好的性能。 如果pageLimit为-1,bookie服务将根据1/3的JVM内存来计算索引页的数量限制。</td><td>0</td></tr>
 <tr><td>readOnlyModeEnabled</td><td>如果所有已配置的 ledger 目录已满,则只支持客户的读取请求。 如果 “readOnlyModeEnabled=true” 那么当所有的 ledger 磁盘满时,bookie 会被转换为只读模式并只处理读请求。 否则 bookie 将被关闭。 默认情况下,这会被禁用。</td><td>true</td></tr>
-<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 If all ledger dir partitions are full, then bookie will turn to readonly mode if ‘readOnlyModeEnabled=true’ is set, else it will shutdown. 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
+<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 如果所有的ledger目录分区都满了,那么如果设置了'readOnlyModeEnabled=true',bookie将转为只读模式,否则它将关闭。 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
 <tr><td>diskCheckInterval</td><td>磁盘检查间隔,以毫秒为单位,检查 ledger 目录使用情况的时间间隔。</td><td>10000</td></tr>
 <tr><td>auditorPeriodicCheckInterval</td><td>审查者对集群内所有 ledger 进行核对的时间间隔。 默认情况下,每周运行一次。 间隔以秒为单位。 要完全禁用定期检查,请将此设置为 0。 请注意,定期检查会给集群带来额外的负荷,因此每天的运行次数不应超过一次。</td><td>604800</td></tr>
 <tr><td>sortedLedgerStorageEnabled</td><td>Whether sorted-ledger storage is enabled.</td><td>true</td></tr>
 <tr><td>auditorPeriodicBookieCheckInterval</td><td>审查者 bookie 检查的时间间隔。 审查者 bookie 检查,检查 ledger 的元数据来查看哪些 bookie 应该包含各个 ledger 的条目。 如果本应包含条目的 bookie 不可用,包含该条目的 ledger 会被标记去做恢复。 设置为 0 会禁用定期检查。 当 bookie 失效时,bookie 检查仍然会进行。 间隔以秒为单位。</td><td>86400</td></tr>
 <tr><td>numAddWorkerThreads</td><td>The number of threads that should handle write requests. 如果设置为 0,写入请求将直接被 nerry 线程进行处理。</td><td>0</td></tr>
 <tr><td>numReadWorkerThreads</td><td>The number of threads that should handle read requests. 如果设置为 0,读取请求将直接被 netty 线程处理。</td><td>8</td></tr>
-<tr><td>numHighPriorityWorkerThreads</td><td>The umber of threads that should be used for high priority requests (i.e. recovery reads and adds, and fencing).</td><td>8</td></tr>
+<tr><td>numHighPriorityWorkerThreads</td><td>用于高优先级请求的线程数量(例如恢复读和添加,以及fencing)。</td><td>8</td></tr>
 <tr><td>maxPendingReadRequestsPerThread</td><td>如果启用了读 worker 线程,限制待处理请求的数量,以避免执行器队列无止境增长。</td><td>2500</td></tr>
-<tr><td>maxPendingAddRequestsPerThread</td><td>The limited number of pending requests, which is used to avoid the executor queue to grow indefinitely when add workers threads are enabled.</td><td>10000</td></tr>
-<tr><td>isForceGCAllowWhenNoSpace</td><td>Whether force compaction is allowed when the disk is full or almost full. Forcing GC could get some space back, but could also fill up the disk space more quickly. This is because new log files are created before GC, while old garbage log files are deleted after GC.</td><td>false</td></tr>
-<tr><td>verifyMetadataOnGC</td><td>True if the bookie should double check <code>readMetadata</code> prior to GC.</td><td>false</td></tr>
+<tr><td>maxPendingAddRequestsPerThread</td><td>待处理请求的限制的线程数量。用于避免在启用添加工作线程时,执行者队列无限期增长。</td><td>10000</td></tr>
+<tr><td>isForceGCAllowWhenNoSpace</td><td>当磁盘已满或快满时,是否允许强制压缩。 强制GC可以找回一些空间,但也可能更快地填满磁盘空间。 这是因为新的日志文件是在GC之前创建的,而旧的垃圾日志文件在GC之后被删除。</td><td>false</td></tr>
+<tr><td>verifyMetadataOnGC</td><td>设置了true,bookie就会在GC之前去复查<code>readMetadata</code></td><td>false</td></tr>
 <tr><td>flushEntrylogBytes</td><td>Entry log flush interval in bytes. Flushing in smaller chunks but more frequently reduces spikes in disk I/O. Flushing too frequently may also affect performance negatively.</td><td>268435456</td></tr>
 <tr><td>readBufferSizeBytes</td><td>用作 BufferedReadChannel 容量的字节数量。</td><td>4096</td></tr>
 <tr><td>writeBufferSizeBytes</td><td>用作写缓存容量的字节数</td><td>65536</td></tr>
 <tr><td>useHostNameAsBookieID</td><td>是否使用主机名去注册 bookie 的协调服务(如:Zookeeper)。 When false, bookie will use its ip address for the registration.</td><td>false</td></tr>
-<tr><td>bookieId</td><td>If you want to custom a bookie ID or use a dynamic network address for the bookie, you can set the <code>bookieId</code>. <br><br>Bookie advertises itself using the <code>bookieId</code> rather than the <code>BookieSocketAddress</code> (<code>hostname:port</code> or <code>IP:port</code>). If you set the <code>bookieId</code>, then the <code>useHostNameAsBookieID</code> does not take effect.<br><br>The <code>bookieId</code> is a non-empty string that can contain A [...]
+<tr><td>bookieId</td><td>如果你想定制一个bookie的ID,或者为bookie使用一个动态网络地址, 你可以设置 <code>bookieId</code>的值。 <br><br>Bookie advertises itself using the <code>bookieId</code> rather than the <code>BookieSocketAddress</code> (<code>hostname:port</code> or <code>IP:port</code>). If you set the <code>bookieId</code>, then the <code>useHostNameAsBookieID</code> does not take effect.<br><br>The <code>bookieId</code> is a non-empty string that can contain ASCII digits and letters ([a-zA-Z9-0]), colons, dashe [...]
 <tr><td>allowEphemeralPorts</td><td>Whether the bookie is allowed to use an ephemeral port (port 0) as its server port. By default, an ephemeral port is not allowed. Using an ephemeral port as the service port usually indicates a configuration error. However, in unit tests, using an ephemeral port will address port conflict problems and allow running tests in parallel.</td><td>false</td></tr>
 <tr><td>enableLocalTransport</td><td>Whether the bookie is allowed to listen for the BookKeeper clients executed on the local JVM.</td><td>false</td></tr>
 <tr><td>disableServerSocketBind</td><td>Whether the bookie is allowed to disable bind on network interfaces. This bookie will be available only to BookKeeper clients executed on the local JVM.</td><td>false</td></tr>
diff --git a/content/docs/zh-CN/2.8.3/reference-configuration.html b/content/docs/zh-CN/2.8.3/reference-configuration.html
index d883a24..1578492 100644
--- a/content/docs/zh-CN/2.8.3/reference-configuration.html
+++ b/content/docs/zh-CN/2.8.3/reference-configuration.html
@@ -155,30 +155,30 @@
 <tr><td>httpServerClass</td><td>Http服务器实现类。</td><td>org.apache.bookkeeper.http.vertx.VertxHttpServer</td></tr>
 <tr><td>serverTcpNoDelay</td><td>此设置用于启用/禁用 Nagle 的算法,该算法能通过减少通过网络发送的数据包数量来提高 TCP/IP 网络效率。 如果你正在发送许多小消息,这样在单个 IP 数据包中就可以放入不止一个消息,设置 server.tcpnodelay 为 false 来启用 Nagle 算法可以提供更好的性能。</td><td>true</td></tr>
 <tr><td>serverSockKeepalive</td><td>此设置用于在面向连接的套接字上发送 keep-alive 消息。</td><td>true</td></tr>
-<tr><td>serverTcpLinger</td><td>关闭时套接字延迟超时。 When enabled, a close or shutdown will not return until all queued messages for the socket have been successfully sent or the linger timeout has been reached. Otherwise, the call returns immediately and the closing is done in the background.</td><td>0</td></tr>
+<tr><td>serverTcpLinger</td><td>关闭时TCP延迟超时。 当启用时,关闭或关机将不会返回,直到TCP的所有排队消息都被成功发送或达到徘徊超时。 否则,调用将立即返回,关闭是在后台完成的。</td><td>0</td></tr>
 <tr><td>byteBufAllocatorSizeMax</td><td>ByteBuf分配器能够接受的最大buf的大小</td><td>1048576</td></tr>
 <tr><td>nettyMaxFrameSizeBytes</td><td>The maximum netty frame size in bytes. Any message received larger than this will be rejected.</td><td>5253120</td></tr>
 <tr><td>openFileLimit</td><td>在 bookie 服务器上可以打开 ledger 索引文件的最大数量。如果 ledger 索引文件数量达到这个限制,bookie 服务器会开始将一些 ledger 从内存交换到磁盘。 过于频繁的交换会影响性能。 你可以根据你的要求调整这个数字以获得性能提升。</td><td>0</td></tr>
 <tr><td>pageSize</td><td>Ledger 缓存中索引页的大小,是以字节为单位。一个大的索引页可以改善将页写入磁盘的性能。当你有少量有 ledger 并且这些 ledger 有着相似数量的条目时,会很高效。 如果你有大量的 ledger,而每个 ledger 都有较少的条目,较小的索引页面将会提高内存使用率。</td><td>8192</td></tr>
 <tr><td>pageLimit</td><td>在 ledger 缓存中提供多少索引页面。如果索引页面数量达到此限制,bookie 服务器会开始将一些 ledger 从内存交换到磁盘。 当你发现交换变得更频繁时,可以增加这个值。 但请确认 pageLimit*page 的大小不应超过 JVM 最大内存限制,否则你将会得到 OutOfMemoryException。 一般来说,增加pageLimit,使用较小的索引页会在条目较少的大账本中获得更好的性能。 如果pageLimit为-1,bookie服务将根据1/3的JVM内存来计算索引页的数量限制。</td><td>0</td></tr>
 <tr><td>readOnlyModeEnabled</td><td>如果所有已配置的 ledger 目录已满,则只支持客户的读取请求。 如果 “readOnlyModeEnabled=true” 那么当所有的 ledger 磁盘满时,bookie 会被转换为只读模式并只处理读请求。 否则 bookie 将被关闭。 默认情况下,这会被禁用。</td><td>true</td></tr>
-<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 If all ledger dir partitions are full, then bookie will turn to readonly mode if ‘readOnlyModeEnabled=true’ is set, else it will shutdown. 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
+<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 如果所有的ledger目录分区都满了,那么如果设置了'readOnlyModeEnabled=true',bookie将转为只读模式,否则它将关闭。 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
 <tr><td>diskCheckInterval</td><td>磁盘检查间隔,以毫秒为单位,检查 ledger 目录使用情况的时间间隔。</td><td>10000</td></tr>
 <tr><td>auditorPeriodicCheckInterval</td><td>审查者对集群内所有 ledger 进行核对的时间间隔。 默认情况下,每周运行一次。 间隔以秒为单位。 要完全禁用定期检查,请将此设置为 0。 请注意,定期检查会给集群带来额外的负荷,因此每天的运行次数不应超过一次。</td><td>604800</td></tr>
 <tr><td>sortedLedgerStorageEnabled</td><td>Whether sorted-ledger storage is enabled.</td><td>true</td></tr>
 <tr><td>auditorPeriodicBookieCheckInterval</td><td>审查者 bookie 检查的时间间隔。 审查者 bookie 检查,检查 ledger 的元数据来查看哪些 bookie 应该包含各个 ledger 的条目。 如果本应包含条目的 bookie 不可用,包含该条目的 ledger 会被标记去做恢复。 设置为 0 会禁用定期检查。 当 bookie 失效时,bookie 检查仍然会进行。 间隔以秒为单位。</td><td>86400</td></tr>
 <tr><td>numAddWorkerThreads</td><td>The number of threads that should handle write requests. 如果设置为 0,写入请求将直接被 nerry 线程进行处理。</td><td>0</td></tr>
 <tr><td>numReadWorkerThreads</td><td>The number of threads that should handle read requests. 如果设置为 0,读取请求将直接被 netty 线程处理。</td><td>8</td></tr>
-<tr><td>numHighPriorityWorkerThreads</td><td>The umber of threads that should be used for high priority requests (i.e. recovery reads and adds, and fencing).</td><td>8</td></tr>
+<tr><td>numHighPriorityWorkerThreads</td><td>用于高优先级请求的线程数量(例如恢复读和添加,以及fencing)。</td><td>8</td></tr>
 <tr><td>maxPendingReadRequestsPerThread</td><td>如果启用了读 worker 线程,限制待处理请求的数量,以避免执行器队列无止境增长。</td><td>2500</td></tr>
-<tr><td>maxPendingAddRequestsPerThread</td><td>The limited number of pending requests, which is used to avoid the executor queue to grow indefinitely when add workers threads are enabled.</td><td>10000</td></tr>
-<tr><td>isForceGCAllowWhenNoSpace</td><td>Whether force compaction is allowed when the disk is full or almost full. Forcing GC could get some space back, but could also fill up the disk space more quickly. This is because new log files are created before GC, while old garbage log files are deleted after GC.</td><td>false</td></tr>
-<tr><td>verifyMetadataOnGC</td><td>True if the bookie should double check <code>readMetadata</code> prior to GC.</td><td>false</td></tr>
+<tr><td>maxPendingAddRequestsPerThread</td><td>待处理请求的限制的线程数量。用于避免在启用添加工作线程时,执行者队列无限期增长。</td><td>10000</td></tr>
+<tr><td>isForceGCAllowWhenNoSpace</td><td>当磁盘已满或快满时,是否允许强制压缩。 强制GC可以找回一些空间,但也可能更快地填满磁盘空间。 这是因为新的日志文件是在GC之前创建的,而旧的垃圾日志文件在GC之后被删除。</td><td>false</td></tr>
+<tr><td>verifyMetadataOnGC</td><td>设置了true,bookie就会在GC之前去复查<code>readMetadata</code></td><td>false</td></tr>
 <tr><td>flushEntrylogBytes</td><td>Entry log flush interval in bytes. Flushing in smaller chunks but more frequently reduces spikes in disk I/O. Flushing too frequently may also affect performance negatively.</td><td>268435456</td></tr>
 <tr><td>readBufferSizeBytes</td><td>用作 BufferedReadChannel 容量的字节数量。</td><td>4096</td></tr>
 <tr><td>writeBufferSizeBytes</td><td>用作写缓存容量的字节数</td><td>65536</td></tr>
 <tr><td>useHostNameAsBookieID</td><td>是否使用主机名去注册 bookie 的协调服务(如:Zookeeper)。 When false, bookie will use its ip address for the registration.</td><td>false</td></tr>
-<tr><td>bookieId</td><td>If you want to custom a bookie ID or use a dynamic network address for the bookie, you can set the <code>bookieId</code>. <br><br>Bookie advertises itself using the <code>bookieId</code> rather than the <code>BookieSocketAddress</code> (<code>hostname:port</code> or <code>IP:port</code>). If you set the <code>bookieId</code>, then the <code>useHostNameAsBookieID</code> does not take effect.<br><br>The <code>bookieId</code> is a non-empty string that can contain A [...]
+<tr><td>bookieId</td><td>如果你想定制一个bookie的ID,或者为bookie使用一个动态网络地址, 你可以设置 <code>bookieId</code>的值。 <br><br>Bookie advertises itself using the <code>bookieId</code> rather than the <code>BookieSocketAddress</code> (<code>hostname:port</code> or <code>IP:port</code>). If you set the <code>bookieId</code>, then the <code>useHostNameAsBookieID</code> does not take effect.<br><br>The <code>bookieId</code> is a non-empty string that can contain ASCII digits and letters ([a-zA-Z9-0]), colons, dashe [...]
 <tr><td>allowEphemeralPorts</td><td>Whether the bookie is allowed to use an ephemeral port (port 0) as its server port. By default, an ephemeral port is not allowed. Using an ephemeral port as the service port usually indicates a configuration error. However, in unit tests, using an ephemeral port will address port conflict problems and allow running tests in parallel.</td><td>false</td></tr>
 <tr><td>enableLocalTransport</td><td>Whether the bookie is allowed to listen for the BookKeeper clients executed on the local JVM.</td><td>false</td></tr>
 <tr><td>disableServerSocketBind</td><td>Whether the bookie is allowed to disable bind on network interfaces. This bookie will be available only to BookKeeper clients executed on the local JVM.</td><td>false</td></tr>
diff --git a/content/docs/zh-CN/2.8.3/reference-configuration/index.html b/content/docs/zh-CN/2.8.3/reference-configuration/index.html
index d883a24..1578492 100644
--- a/content/docs/zh-CN/2.8.3/reference-configuration/index.html
+++ b/content/docs/zh-CN/2.8.3/reference-configuration/index.html
@@ -155,30 +155,30 @@
 <tr><td>httpServerClass</td><td>Http服务器实现类。</td><td>org.apache.bookkeeper.http.vertx.VertxHttpServer</td></tr>
 <tr><td>serverTcpNoDelay</td><td>此设置用于启用/禁用 Nagle 的算法,该算法能通过减少通过网络发送的数据包数量来提高 TCP/IP 网络效率。 如果你正在发送许多小消息,这样在单个 IP 数据包中就可以放入不止一个消息,设置 server.tcpnodelay 为 false 来启用 Nagle 算法可以提供更好的性能。</td><td>true</td></tr>
 <tr><td>serverSockKeepalive</td><td>此设置用于在面向连接的套接字上发送 keep-alive 消息。</td><td>true</td></tr>
-<tr><td>serverTcpLinger</td><td>关闭时套接字延迟超时。 When enabled, a close or shutdown will not return until all queued messages for the socket have been successfully sent or the linger timeout has been reached. Otherwise, the call returns immediately and the closing is done in the background.</td><td>0</td></tr>
+<tr><td>serverTcpLinger</td><td>关闭时TCP延迟超时。 当启用时,关闭或关机将不会返回,直到TCP的所有排队消息都被成功发送或达到徘徊超时。 否则,调用将立即返回,关闭是在后台完成的。</td><td>0</td></tr>
 <tr><td>byteBufAllocatorSizeMax</td><td>ByteBuf分配器能够接受的最大buf的大小</td><td>1048576</td></tr>
 <tr><td>nettyMaxFrameSizeBytes</td><td>The maximum netty frame size in bytes. Any message received larger than this will be rejected.</td><td>5253120</td></tr>
 <tr><td>openFileLimit</td><td>在 bookie 服务器上可以打开 ledger 索引文件的最大数量。如果 ledger 索引文件数量达到这个限制,bookie 服务器会开始将一些 ledger 从内存交换到磁盘。 过于频繁的交换会影响性能。 你可以根据你的要求调整这个数字以获得性能提升。</td><td>0</td></tr>
 <tr><td>pageSize</td><td>Ledger 缓存中索引页的大小,是以字节为单位。一个大的索引页可以改善将页写入磁盘的性能。当你有少量有 ledger 并且这些 ledger 有着相似数量的条目时,会很高效。 如果你有大量的 ledger,而每个 ledger 都有较少的条目,较小的索引页面将会提高内存使用率。</td><td>8192</td></tr>
 <tr><td>pageLimit</td><td>在 ledger 缓存中提供多少索引页面。如果索引页面数量达到此限制,bookie 服务器会开始将一些 ledger 从内存交换到磁盘。 当你发现交换变得更频繁时,可以增加这个值。 但请确认 pageLimit*page 的大小不应超过 JVM 最大内存限制,否则你将会得到 OutOfMemoryException。 一般来说,增加pageLimit,使用较小的索引页会在条目较少的大账本中获得更好的性能。 如果pageLimit为-1,bookie服务将根据1/3的JVM内存来计算索引页的数量限制。</td><td>0</td></tr>
 <tr><td>readOnlyModeEnabled</td><td>如果所有已配置的 ledger 目录已满,则只支持客户的读取请求。 如果 “readOnlyModeEnabled=true” 那么当所有的 ledger 磁盘满时,bookie 会被转换为只读模式并只处理读请求。 否则 bookie 将被关闭。 默认情况下,这会被禁用。</td><td>true</td></tr>
-<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 If all ledger dir partitions are full, then bookie will turn to readonly mode if ‘readOnlyModeEnabled=true’ is set, else it will shutdown. 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
+<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 如果所有的ledger目录分区都满了,那么如果设置了'readOnlyModeEnabled=true',bookie将转为只读模式,否则它将关闭。 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
 <tr><td>diskCheckInterval</td><td>磁盘检查间隔,以毫秒为单位,检查 ledger 目录使用情况的时间间隔。</td><td>10000</td></tr>
 <tr><td>auditorPeriodicCheckInterval</td><td>审查者对集群内所有 ledger 进行核对的时间间隔。 默认情况下,每周运行一次。 间隔以秒为单位。 要完全禁用定期检查,请将此设置为 0。 请注意,定期检查会给集群带来额外的负荷,因此每天的运行次数不应超过一次。</td><td>604800</td></tr>
 <tr><td>sortedLedgerStorageEnabled</td><td>Whether sorted-ledger storage is enabled.</td><td>true</td></tr>
 <tr><td>auditorPeriodicBookieCheckInterval</td><td>审查者 bookie 检查的时间间隔。 审查者 bookie 检查,检查 ledger 的元数据来查看哪些 bookie 应该包含各个 ledger 的条目。 如果本应包含条目的 bookie 不可用,包含该条目的 ledger 会被标记去做恢复。 设置为 0 会禁用定期检查。 当 bookie 失效时,bookie 检查仍然会进行。 间隔以秒为单位。</td><td>86400</td></tr>
 <tr><td>numAddWorkerThreads</td><td>The number of threads that should handle write requests. 如果设置为 0,写入请求将直接被 nerry 线程进行处理。</td><td>0</td></tr>
 <tr><td>numReadWorkerThreads</td><td>The number of threads that should handle read requests. 如果设置为 0,读取请求将直接被 netty 线程处理。</td><td>8</td></tr>
-<tr><td>numHighPriorityWorkerThreads</td><td>The umber of threads that should be used for high priority requests (i.e. recovery reads and adds, and fencing).</td><td>8</td></tr>
+<tr><td>numHighPriorityWorkerThreads</td><td>用于高优先级请求的线程数量(例如恢复读和添加,以及fencing)。</td><td>8</td></tr>
 <tr><td>maxPendingReadRequestsPerThread</td><td>如果启用了读 worker 线程,限制待处理请求的数量,以避免执行器队列无止境增长。</td><td>2500</td></tr>
-<tr><td>maxPendingAddRequestsPerThread</td><td>The limited number of pending requests, which is used to avoid the executor queue to grow indefinitely when add workers threads are enabled.</td><td>10000</td></tr>
-<tr><td>isForceGCAllowWhenNoSpace</td><td>Whether force compaction is allowed when the disk is full or almost full. Forcing GC could get some space back, but could also fill up the disk space more quickly. This is because new log files are created before GC, while old garbage log files are deleted after GC.</td><td>false</td></tr>
-<tr><td>verifyMetadataOnGC</td><td>True if the bookie should double check <code>readMetadata</code> prior to GC.</td><td>false</td></tr>
+<tr><td>maxPendingAddRequestsPerThread</td><td>待处理请求的限制的线程数量。用于避免在启用添加工作线程时,执行者队列无限期增长。</td><td>10000</td></tr>
+<tr><td>isForceGCAllowWhenNoSpace</td><td>当磁盘已满或快满时,是否允许强制压缩。 强制GC可以找回一些空间,但也可能更快地填满磁盘空间。 这是因为新的日志文件是在GC之前创建的,而旧的垃圾日志文件在GC之后被删除。</td><td>false</td></tr>
+<tr><td>verifyMetadataOnGC</td><td>设置了true,bookie就会在GC之前去复查<code>readMetadata</code></td><td>false</td></tr>
 <tr><td>flushEntrylogBytes</td><td>Entry log flush interval in bytes. Flushing in smaller chunks but more frequently reduces spikes in disk I/O. Flushing too frequently may also affect performance negatively.</td><td>268435456</td></tr>
 <tr><td>readBufferSizeBytes</td><td>用作 BufferedReadChannel 容量的字节数量。</td><td>4096</td></tr>
 <tr><td>writeBufferSizeBytes</td><td>用作写缓存容量的字节数</td><td>65536</td></tr>
 <tr><td>useHostNameAsBookieID</td><td>是否使用主机名去注册 bookie 的协调服务(如:Zookeeper)。 When false, bookie will use its ip address for the registration.</td><td>false</td></tr>
-<tr><td>bookieId</td><td>If you want to custom a bookie ID or use a dynamic network address for the bookie, you can set the <code>bookieId</code>. <br><br>Bookie advertises itself using the <code>bookieId</code> rather than the <code>BookieSocketAddress</code> (<code>hostname:port</code> or <code>IP:port</code>). If you set the <code>bookieId</code>, then the <code>useHostNameAsBookieID</code> does not take effect.<br><br>The <code>bookieId</code> is a non-empty string that can contain A [...]
+<tr><td>bookieId</td><td>如果你想定制一个bookie的ID,或者为bookie使用一个动态网络地址, 你可以设置 <code>bookieId</code>的值。 <br><br>Bookie advertises itself using the <code>bookieId</code> rather than the <code>BookieSocketAddress</code> (<code>hostname:port</code> or <code>IP:port</code>). If you set the <code>bookieId</code>, then the <code>useHostNameAsBookieID</code> does not take effect.<br><br>The <code>bookieId</code> is a non-empty string that can contain ASCII digits and letters ([a-zA-Z9-0]), colons, dashe [...]
 <tr><td>allowEphemeralPorts</td><td>Whether the bookie is allowed to use an ephemeral port (port 0) as its server port. By default, an ephemeral port is not allowed. Using an ephemeral port as the service port usually indicates a configuration error. However, in unit tests, using an ephemeral port will address port conflict problems and allow running tests in parallel.</td><td>false</td></tr>
 <tr><td>enableLocalTransport</td><td>Whether the bookie is allowed to listen for the BookKeeper clients executed on the local JVM.</td><td>false</td></tr>
 <tr><td>disableServerSocketBind</td><td>Whether the bookie is allowed to disable bind on network interfaces. This bookie will be available only to BookKeeper clients executed on the local JVM.</td><td>false</td></tr>
diff --git a/content/docs/zh-CN/2.9.0/reference-configuration.html b/content/docs/zh-CN/2.9.0/reference-configuration.html
index 18b87a1..1428b17 100644
--- a/content/docs/zh-CN/2.9.0/reference-configuration.html
+++ b/content/docs/zh-CN/2.9.0/reference-configuration.html
@@ -154,30 +154,30 @@
 <tr><td>httpServerClass</td><td>Http服务器实现类。</td><td>org.apache.bookkeeper.http.vertx.VertxHttpServer</td></tr>
 <tr><td>serverTcpNoDelay</td><td>此设置用于启用/禁用 Nagle 的算法,该算法能通过减少通过网络发送的数据包数量来提高 TCP/IP 网络效率。 如果你正在发送许多小消息,这样在单个 IP 数据包中就可以放入不止一个消息,设置 server.tcpnodelay 为 false 来启用 Nagle 算法可以提供更好的性能。</td><td>true</td></tr>
 <tr><td>serverSockKeepalive</td><td>此设置用于在面向连接的套接字上发送 keep-alive 消息。</td><td>true</td></tr>
-<tr><td>serverTcpLinger</td><td>关闭时套接字延迟超时。 When enabled, a close or shutdown will not return until all queued messages for the socket have been successfully sent or the linger timeout has been reached. Otherwise, the call returns immediately and the closing is done in the background.</td><td>0</td></tr>
+<tr><td>serverTcpLinger</td><td>关闭时TCP延迟超时。 当启用时,关闭或关机将不会返回,直到TCP的所有排队消息都被成功发送或达到徘徊超时。 否则,调用将立即返回,关闭是在后台完成的。</td><td>0</td></tr>
 <tr><td>byteBufAllocatorSizeMax</td><td>ByteBuf分配器能够接受的最大buf的大小</td><td>1048576</td></tr>
 <tr><td>nettyMaxFrameSizeBytes</td><td>The maximum netty frame size in bytes. Any message received larger than this will be rejected.</td><td>5253120</td></tr>
 <tr><td>openFileLimit</td><td>在 bookie 服务器上可以打开 ledger 索引文件的最大数量。如果 ledger 索引文件数量达到这个限制,bookie 服务器会开始将一些 ledger 从内存交换到磁盘。 过于频繁的交换会影响性能。 你可以根据你的要求调整这个数字以获得性能提升。</td><td>0</td></tr>
 <tr><td>pageSize</td><td>Ledger 缓存中索引页的大小,是以字节为单位。一个大的索引页可以改善将页写入磁盘的性能。当你有少量有 ledger 并且这些 ledger 有着相似数量的条目时,会很高效。 如果你有大量的 ledger,而每个 ledger 都有较少的条目,较小的索引页面将会提高内存使用率。</td><td>8192</td></tr>
 <tr><td>pageLimit</td><td>在 ledger 缓存中提供多少索引页面。如果索引页面数量达到此限制,bookie 服务器会开始将一些 ledger 从内存交换到磁盘。 当你发现交换变得更频繁时,可以增加这个值。 但请确认 pageLimit*page 的大小不应超过 JVM 最大内存限制,否则你将会得到 OutOfMemoryException。 一般来说,增加pageLimit,使用较小的索引页会在条目较少的大账本中获得更好的性能。 如果pageLimit为-1,bookie服务将根据1/3的JVM内存来计算索引页的数量限制。</td><td>0</td></tr>
 <tr><td>readOnlyModeEnabled</td><td>如果所有已配置的 ledger 目录已满,则只支持客户的读取请求。 如果 “readOnlyModeEnabled=true” 那么当所有的 ledger 磁盘满时,bookie 会被转换为只读模式并只处理读请求。 否则 bookie 将被关闭。 默认情况下,这会被禁用。</td><td>true</td></tr>
-<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 If all ledger dir partitions are full, then bookie will turn to readonly mode if ‘readOnlyModeEnabled=true’ is set, else it will shutdown. 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
+<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 如果所有的ledger目录分区都满了,那么如果设置了'readOnlyModeEnabled=true',bookie将转为只读模式,否则它将关闭。 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
 <tr><td>diskCheckInterval</td><td>磁盘检查间隔,以毫秒为单位,检查 ledger 目录使用情况的时间间隔。</td><td>10000</td></tr>
 <tr><td>auditorPeriodicCheckInterval</td><td>审查者对集群内所有 ledger 进行核对的时间间隔。 默认情况下,每周运行一次。 间隔以秒为单位。 要完全禁用定期检查,请将此设置为 0。 请注意,定期检查会给集群带来额外的负荷,因此每天的运行次数不应超过一次。</td><td>604800</td></tr>
 <tr><td>sortedLedgerStorageEnabled</td><td>Whether sorted-ledger storage is enabled.</td><td>true</td></tr>
 <tr><td>auditorPeriodicBookieCheckInterval</td><td>审查者 bookie 检查的时间间隔。 审查者 bookie 检查,检查 ledger 的元数据来查看哪些 bookie 应该包含各个 ledger 的条目。 如果本应包含条目的 bookie 不可用,包含该条目的 ledger 会被标记去做恢复。 设置为 0 会禁用定期检查。 当 bookie 失效时,bookie 检查仍然会进行。 间隔以秒为单位。</td><td>86400</td></tr>
 <tr><td>numAddWorkerThreads</td><td>The number of threads that should handle write requests. 如果设置为 0,写入请求将直接被 nerry 线程进行处理。</td><td>0</td></tr>
 <tr><td>numReadWorkerThreads</td><td>The number of threads that should handle read requests. 如果设置为 0,读取请求将直接被 netty 线程处理。</td><td>8</td></tr>
-<tr><td>numHighPriorityWorkerThreads</td><td>The umber of threads that should be used for high priority requests (i.e. recovery reads and adds, and fencing).</td><td>8</td></tr>
+<tr><td>numHighPriorityWorkerThreads</td><td>用于高优先级请求的线程数量(例如恢复读和添加,以及fencing)。</td><td>8</td></tr>
 <tr><td>maxPendingReadRequestsPerThread</td><td>如果启用了读 worker 线程,限制待处理请求的数量,以避免执行器队列无止境增长。</td><td>2500</td></tr>
-<tr><td>maxPendingAddRequestsPerThread</td><td>The limited number of pending requests, which is used to avoid the executor queue to grow indefinitely when add workers threads are enabled.</td><td>10000</td></tr>
-<tr><td>isForceGCAllowWhenNoSpace</td><td>Whether force compaction is allowed when the disk is full or almost full. Forcing GC could get some space back, but could also fill up the disk space more quickly. This is because new log files are created before GC, while old garbage log files are deleted after GC.</td><td>false</td></tr>
-<tr><td>verifyMetadataOnGC</td><td>True if the bookie should double check <code>readMetadata</code> prior to GC.</td><td>false</td></tr>
+<tr><td>maxPendingAddRequestsPerThread</td><td>待处理请求的限制的线程数量。用于避免在启用添加工作线程时,执行者队列无限期增长。</td><td>10000</td></tr>
+<tr><td>isForceGCAllowWhenNoSpace</td><td>当磁盘已满或快满时,是否允许强制压缩。 强制GC可以找回一些空间,但也可能更快地填满磁盘空间。 这是因为新的日志文件是在GC之前创建的,而旧的垃圾日志文件在GC之后被删除。</td><td>false</td></tr>
+<tr><td>verifyMetadataOnGC</td><td>设置了true,bookie就会在GC之前去复查<code>readMetadata</code></td><td>false</td></tr>
 <tr><td>flushEntrylogBytes</td><td>Entry log flush interval in bytes. Flushing in smaller chunks but more frequently reduces spikes in disk I/O. Flushing too frequently may also affect performance negatively.</td><td>268435456</td></tr>
 <tr><td>readBufferSizeBytes</td><td>用作 BufferedReadChannel 容量的字节数量。</td><td>4096</td></tr>
 <tr><td>writeBufferSizeBytes</td><td>用作写缓存容量的字节数</td><td>65536</td></tr>
 <tr><td>useHostNameAsBookieID</td><td>是否使用主机名去注册 bookie 的协调服务(如:Zookeeper)。 When false, bookie will use its ip address for the registration.</td><td>false</td></tr>
-<tr><td>bookieId</td><td>If you want to custom a bookie ID or use a dynamic network address for the bookie, you can set the <code>bookieId</code>. <br><br>Bookie advertises itself using the <code>bookieId</code> rather than the <code>BookieSocketAddress</code> (<code>hostname:port</code> or <code>IP:port</code>). If you set the <code>bookieId</code>, then the <code>useHostNameAsBookieID</code> does not take effect.<br><br>The <code>bookieId</code> is a non-empty string that can contain A [...]
+<tr><td>bookieId</td><td>如果你想定制一个bookie的ID,或者为bookie使用一个动态网络地址, 你可以设置 <code>bookieId</code>的值。 <br><br>Bookie advertises itself using the <code>bookieId</code> rather than the <code>BookieSocketAddress</code> (<code>hostname:port</code> or <code>IP:port</code>). If you set the <code>bookieId</code>, then the <code>useHostNameAsBookieID</code> does not take effect.<br><br>The <code>bookieId</code> is a non-empty string that can contain ASCII digits and letters ([a-zA-Z9-0]), colons, dashe [...]
 <tr><td>allowEphemeralPorts</td><td>Whether the bookie is allowed to use an ephemeral port (port 0) as its server port. By default, an ephemeral port is not allowed. Using an ephemeral port as the service port usually indicates a configuration error. However, in unit tests, using an ephemeral port will address port conflict problems and allow running tests in parallel.</td><td>false</td></tr>
 <tr><td>enableLocalTransport</td><td>Whether the bookie is allowed to listen for the BookKeeper clients executed on the local JVM.</td><td>false</td></tr>
 <tr><td>disableServerSocketBind</td><td>Whether the bookie is allowed to disable bind on network interfaces. This bookie will be available only to BookKeeper clients executed on the local JVM.</td><td>false</td></tr>
diff --git a/content/docs/zh-CN/2.9.0/reference-configuration/index.html b/content/docs/zh-CN/2.9.0/reference-configuration/index.html
index 18b87a1..1428b17 100644
--- a/content/docs/zh-CN/2.9.0/reference-configuration/index.html
+++ b/content/docs/zh-CN/2.9.0/reference-configuration/index.html
@@ -154,30 +154,30 @@
 <tr><td>httpServerClass</td><td>Http服务器实现类。</td><td>org.apache.bookkeeper.http.vertx.VertxHttpServer</td></tr>
 <tr><td>serverTcpNoDelay</td><td>此设置用于启用/禁用 Nagle 的算法,该算法能通过减少通过网络发送的数据包数量来提高 TCP/IP 网络效率。 如果你正在发送许多小消息,这样在单个 IP 数据包中就可以放入不止一个消息,设置 server.tcpnodelay 为 false 来启用 Nagle 算法可以提供更好的性能。</td><td>true</td></tr>
 <tr><td>serverSockKeepalive</td><td>此设置用于在面向连接的套接字上发送 keep-alive 消息。</td><td>true</td></tr>
-<tr><td>serverTcpLinger</td><td>关闭时套接字延迟超时。 When enabled, a close or shutdown will not return until all queued messages for the socket have been successfully sent or the linger timeout has been reached. Otherwise, the call returns immediately and the closing is done in the background.</td><td>0</td></tr>
+<tr><td>serverTcpLinger</td><td>关闭时TCP延迟超时。 当启用时,关闭或关机将不会返回,直到TCP的所有排队消息都被成功发送或达到徘徊超时。 否则,调用将立即返回,关闭是在后台完成的。</td><td>0</td></tr>
 <tr><td>byteBufAllocatorSizeMax</td><td>ByteBuf分配器能够接受的最大buf的大小</td><td>1048576</td></tr>
 <tr><td>nettyMaxFrameSizeBytes</td><td>The maximum netty frame size in bytes. Any message received larger than this will be rejected.</td><td>5253120</td></tr>
 <tr><td>openFileLimit</td><td>在 bookie 服务器上可以打开 ledger 索引文件的最大数量。如果 ledger 索引文件数量达到这个限制,bookie 服务器会开始将一些 ledger 从内存交换到磁盘。 过于频繁的交换会影响性能。 你可以根据你的要求调整这个数字以获得性能提升。</td><td>0</td></tr>
 <tr><td>pageSize</td><td>Ledger 缓存中索引页的大小,是以字节为单位。一个大的索引页可以改善将页写入磁盘的性能。当你有少量有 ledger 并且这些 ledger 有着相似数量的条目时,会很高效。 如果你有大量的 ledger,而每个 ledger 都有较少的条目,较小的索引页面将会提高内存使用率。</td><td>8192</td></tr>
 <tr><td>pageLimit</td><td>在 ledger 缓存中提供多少索引页面。如果索引页面数量达到此限制,bookie 服务器会开始将一些 ledger 从内存交换到磁盘。 当你发现交换变得更频繁时,可以增加这个值。 但请确认 pageLimit*page 的大小不应超过 JVM 最大内存限制,否则你将会得到 OutOfMemoryException。 一般来说,增加pageLimit,使用较小的索引页会在条目较少的大账本中获得更好的性能。 如果pageLimit为-1,bookie服务将根据1/3的JVM内存来计算索引页的数量限制。</td><td>0</td></tr>
 <tr><td>readOnlyModeEnabled</td><td>如果所有已配置的 ledger 目录已满,则只支持客户的读取请求。 如果 “readOnlyModeEnabled=true” 那么当所有的 ledger 磁盘满时,bookie 会被转换为只读模式并只处理读请求。 否则 bookie 将被关闭。 默认情况下,这会被禁用。</td><td>true</td></tr>
-<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 If all ledger dir partitions are full, then bookie will turn to readonly mode if ‘readOnlyModeEnabled=true’ is set, else it will shutdown. 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
+<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 如果所有的ledger目录分区都满了,那么如果设置了'readOnlyModeEnabled=true',bookie将转为只读模式,否则它将关闭。 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
 <tr><td>diskCheckInterval</td><td>磁盘检查间隔,以毫秒为单位,检查 ledger 目录使用情况的时间间隔。</td><td>10000</td></tr>
 <tr><td>auditorPeriodicCheckInterval</td><td>审查者对集群内所有 ledger 进行核对的时间间隔。 默认情况下,每周运行一次。 间隔以秒为单位。 要完全禁用定期检查,请将此设置为 0。 请注意,定期检查会给集群带来额外的负荷,因此每天的运行次数不应超过一次。</td><td>604800</td></tr>
 <tr><td>sortedLedgerStorageEnabled</td><td>Whether sorted-ledger storage is enabled.</td><td>true</td></tr>
 <tr><td>auditorPeriodicBookieCheckInterval</td><td>审查者 bookie 检查的时间间隔。 审查者 bookie 检查,检查 ledger 的元数据来查看哪些 bookie 应该包含各个 ledger 的条目。 如果本应包含条目的 bookie 不可用,包含该条目的 ledger 会被标记去做恢复。 设置为 0 会禁用定期检查。 当 bookie 失效时,bookie 检查仍然会进行。 间隔以秒为单位。</td><td>86400</td></tr>
 <tr><td>numAddWorkerThreads</td><td>The number of threads that should handle write requests. 如果设置为 0,写入请求将直接被 nerry 线程进行处理。</td><td>0</td></tr>
 <tr><td>numReadWorkerThreads</td><td>The number of threads that should handle read requests. 如果设置为 0,读取请求将直接被 netty 线程处理。</td><td>8</td></tr>
-<tr><td>numHighPriorityWorkerThreads</td><td>The umber of threads that should be used for high priority requests (i.e. recovery reads and adds, and fencing).</td><td>8</td></tr>
+<tr><td>numHighPriorityWorkerThreads</td><td>用于高优先级请求的线程数量(例如恢复读和添加,以及fencing)。</td><td>8</td></tr>
 <tr><td>maxPendingReadRequestsPerThread</td><td>如果启用了读 worker 线程,限制待处理请求的数量,以避免执行器队列无止境增长。</td><td>2500</td></tr>
-<tr><td>maxPendingAddRequestsPerThread</td><td>The limited number of pending requests, which is used to avoid the executor queue to grow indefinitely when add workers threads are enabled.</td><td>10000</td></tr>
-<tr><td>isForceGCAllowWhenNoSpace</td><td>Whether force compaction is allowed when the disk is full or almost full. Forcing GC could get some space back, but could also fill up the disk space more quickly. This is because new log files are created before GC, while old garbage log files are deleted after GC.</td><td>false</td></tr>
-<tr><td>verifyMetadataOnGC</td><td>True if the bookie should double check <code>readMetadata</code> prior to GC.</td><td>false</td></tr>
+<tr><td>maxPendingAddRequestsPerThread</td><td>待处理请求的限制的线程数量。用于避免在启用添加工作线程时,执行者队列无限期增长。</td><td>10000</td></tr>
+<tr><td>isForceGCAllowWhenNoSpace</td><td>当磁盘已满或快满时,是否允许强制压缩。 强制GC可以找回一些空间,但也可能更快地填满磁盘空间。 这是因为新的日志文件是在GC之前创建的,而旧的垃圾日志文件在GC之后被删除。</td><td>false</td></tr>
+<tr><td>verifyMetadataOnGC</td><td>设置了true,bookie就会在GC之前去复查<code>readMetadata</code></td><td>false</td></tr>
 <tr><td>flushEntrylogBytes</td><td>Entry log flush interval in bytes. Flushing in smaller chunks but more frequently reduces spikes in disk I/O. Flushing too frequently may also affect performance negatively.</td><td>268435456</td></tr>
 <tr><td>readBufferSizeBytes</td><td>用作 BufferedReadChannel 容量的字节数量。</td><td>4096</td></tr>
 <tr><td>writeBufferSizeBytes</td><td>用作写缓存容量的字节数</td><td>65536</td></tr>
 <tr><td>useHostNameAsBookieID</td><td>是否使用主机名去注册 bookie 的协调服务(如:Zookeeper)。 When false, bookie will use its ip address for the registration.</td><td>false</td></tr>
-<tr><td>bookieId</td><td>If you want to custom a bookie ID or use a dynamic network address for the bookie, you can set the <code>bookieId</code>. <br><br>Bookie advertises itself using the <code>bookieId</code> rather than the <code>BookieSocketAddress</code> (<code>hostname:port</code> or <code>IP:port</code>). If you set the <code>bookieId</code>, then the <code>useHostNameAsBookieID</code> does not take effect.<br><br>The <code>bookieId</code> is a non-empty string that can contain A [...]
+<tr><td>bookieId</td><td>如果你想定制一个bookie的ID,或者为bookie使用一个动态网络地址, 你可以设置 <code>bookieId</code>的值。 <br><br>Bookie advertises itself using the <code>bookieId</code> rather than the <code>BookieSocketAddress</code> (<code>hostname:port</code> or <code>IP:port</code>). If you set the <code>bookieId</code>, then the <code>useHostNameAsBookieID</code> does not take effect.<br><br>The <code>bookieId</code> is a non-empty string that can contain ASCII digits and letters ([a-zA-Z9-0]), colons, dashe [...]
 <tr><td>allowEphemeralPorts</td><td>Whether the bookie is allowed to use an ephemeral port (port 0) as its server port. By default, an ephemeral port is not allowed. Using an ephemeral port as the service port usually indicates a configuration error. However, in unit tests, using an ephemeral port will address port conflict problems and allow running tests in parallel.</td><td>false</td></tr>
 <tr><td>enableLocalTransport</td><td>Whether the bookie is allowed to listen for the BookKeeper clients executed on the local JVM.</td><td>false</td></tr>
 <tr><td>disableServerSocketBind</td><td>Whether the bookie is allowed to disable bind on network interfaces. This bookie will be available only to BookKeeper clients executed on the local JVM.</td><td>false</td></tr>
diff --git a/content/docs/zh-CN/next/reference-configuration.html b/content/docs/zh-CN/next/reference-configuration.html
index 527c033..6138edd 100644
--- a/content/docs/zh-CN/next/reference-configuration.html
+++ b/content/docs/zh-CN/next/reference-configuration.html
@@ -155,54 +155,53 @@
 <tr><td>httpServerClass</td><td>Http服务器实现类。</td><td>org.apache.bookkeeper.http.vertx.VertxHttpServer</td></tr>
 <tr><td>serverTcpNoDelay</td><td>此设置用于启用/禁用 Nagle 的算法,该算法能通过减少通过网络发送的数据包数量来提高 TCP/IP 网络效率。 如果你正在发送许多小消息,这样在单个 IP 数据包中就可以放入不止一个消息,设置 server.tcpnodelay 为 false 来启用 Nagle 算法可以提供更好的性能。</td><td>true</td></tr>
 <tr><td>serverSockKeepalive</td><td>此设置用于在面向连接的套接字上发送 keep-alive 消息。</td><td>true</td></tr>
-<tr><td>serverTcpLinger</td><td>关闭时套接字延迟超时。 When enabled, a close or shutdown will not return until all queued messages for the socket have been successfully sent or the linger timeout has been reached. Otherwise, the call returns immediately and the closing is done in the background.</td><td>0</td></tr>
+<tr><td>serverTcpLinger</td><td>关闭时TCP延迟超时。 当启用时,关闭或关机将不会返回,直到TCP的所有排队消息都被成功发送或达到徘徊超时。 否则,调用将立即返回,关闭是在后台完成的。</td><td>0</td></tr>
 <tr><td>byteBufAllocatorSizeMax</td><td>ByteBuf分配器能够接受的最大buf的大小</td><td>1048576</td></tr>
 <tr><td>nettyMaxFrameSizeBytes</td><td>以byte为单位的最大netty frame 大小。任何收到的大于此值的消息都将被拒绝。</td><td>5253120</td></tr>
 <tr><td>openFileLimit</td><td>在 bookie 服务器上可以打开 ledger 索引文件的最大数量。如果 ledger 索引文件数量达到这个限制,bookie 服务器会开始将一些 ledger 从内存交换到磁盘。 过于频繁的交换会影响性能。 你可以根据你的要求调整这个数字以获得性能提升。</td><td>0</td></tr>
 <tr><td>pageSize</td><td>Ledger 缓存中索引页的大小,是以字节为单位。一个大的索引页可以改善将页写入磁盘的性能。当你有少量有 ledger 并且这些 ledger 有着相似数量的条目时,会很高效。 如果你有大量的 ledger,而每个 ledger 都有较少的条目,较小的索引页面将会提高内存使用率。</td><td>8192</td></tr>
 <tr><td>pageLimit</td><td>在 ledger 缓存中提供多少索引页面。如果索引页面数量达到此限制,bookie 服务器会开始将一些 ledger 从内存交换到磁盘。 当你发现交换变得更频繁时,可以增加这个值。 但请确认 pageLimit*page 的大小不应超过 JVM 最大内存限制,否则你将会得到 OutOfMemoryException。 一般来说,增加pageLimit,使用较小的索引页会在条目较少的大账本中获得更好的性能。 如果pageLimit为-1,bookie服务将根据1/3的JVM内存来计算索引页的数量限制。</td><td>0</td></tr>
 <tr><td>readOnlyModeEnabled</td><td>如果所有已配置的 ledger 目录已满,则只支持客户的读取请求。 如果 “readOnlyModeEnabled=true” 那么当所有的 ledger 磁盘满时,bookie 会被转换为只读模式并只处理读请求。 否则 bookie 将被关闭。 默认情况下,这会被禁用。</td><td>true</td></tr>
-<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 If all ledger dir partitions are full, then bookie will turn to readonly mode if ‘readOnlyModeEnabled=true’ is set, else it will shutdown. 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
+<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 如果所有的ledger目录分区都满了,那么如果设置了'readOnlyModeEnabled=true',bookie将转为只读模式,否则它将关闭。 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
 <tr><td>diskCheckInterval</td><td>磁盘检查间隔,以毫秒为单位,检查 ledger 目录使用情况的时间间隔。</td><td>10000</td></tr>
 <tr><td>auditorPeriodicCheckInterval</td><td>审查者对集群内所有 ledger 进行核对的时间间隔。 默认情况下,每周运行一次。 间隔以秒为单位。 要完全禁用定期检查,请将此设置为 0。 请注意,定期检查会给集群带来额外的负荷,因此每天的运行次数不应超过一次。</td><td>604800</td></tr>
 <tr><td>sortedLedgerStorageEnabled</td><td>Whether sorted-ledger storage is enabled.</td><td>true</td></tr>
 <tr><td>auditorPeriodicBookieCheckInterval</td><td>审查者 bookie 检查的时间间隔。 审查者 bookie 检查,检查 ledger 的元数据来查看哪些 bookie 应该包含各个 ledger 的条目。 如果本应包含条目的 bookie 不可用,包含该条目的 ledger 会被标记去做恢复。 设置为 0 会禁用定期检查。 当 bookie 失效时,bookie 检查仍然会进行。 间隔以秒为单位。</td><td>86400</td></tr>
-<tr><td>numAddWorkerThreads</td><td>The number of threads that should handle write requests. if zero, the writes would be handled by netty threads directly.</td><td>0</td></tr>
-<tr><td>numReadWorkerThreads</td><td>The number of threads that should handle read requests. if zero, the reads would be handled by netty threads directly.</td><td>8</td></tr>
-<tr><td>numHighPriorityWorkerThreads</td><td>The umber of threads that should be used for high priority requests (i.e. recovery reads and adds, and fencing).</td><td>8</td></tr>
+<tr><td>numAddWorkerThreads</td><td>需要处理写请求的线程数。如果为零,写将由netty线程直接处理。</td><td>0</td></tr>
+<tr><td>numReadWorkerThreads</td><td>需要处理读取请求的线程数量。如果为零,读取将由netty线程直接处理。</td><td>8</td></tr>
+<tr><td>numHighPriorityWorkerThreads</td><td>用于高优先级请求的线程数量(例如恢复读和添加,以及fencing)。</td><td>8</td></tr>
 <tr><td>maxPendingReadRequestsPerThread</td><td>如果启用了读 worker 线程,限制待处理请求的数量,以避免执行器队列无止境增长。</td><td>2500</td></tr>
-<tr><td>maxPendingAddRequestsPerThread</td><td>The limited number of pending requests, which is used to avoid the executor queue to grow indefinitely when add workers threads are enabled.</td><td>10000</td></tr>
-<tr><td>isForceGCAllowWhenNoSpace</td><td>Whether force compaction is allowed when the disk is full or almost full. Forcing GC could get some space back, but could also fill up the disk space more quickly. This is because new log files are created before GC, while old garbage log files are deleted after GC.</td><td>false</td></tr>
-<tr><td>verifyMetadataOnGC</td><td>True if the bookie should double check <code>readMetadata</code> prior to GC.</td><td>false</td></tr>
-<tr><td>flushEntrylogBytes</td><td>Entry log flush interval in bytes. Flushing in smaller chunks but more frequently reduces spikes in disk I/O. Flushing too frequently may also affect performance negatively.</td><td>268435456</td></tr>
+<tr><td>maxPendingAddRequestsPerThread</td><td>待处理请求的限制的线程数量。用于避免在启用添加工作线程时,执行者队列无限期增长。</td><td>10000</td></tr>
+<tr><td>isForceGCAllowWhenNoSpace</td><td>当磁盘已满或快满时,是否允许强制压缩。 强制GC可以找回一些空间,但也可能更快地填满磁盘空间。 这是因为新的日志文件是在GC之前创建的,而旧的垃圾日志文件在GC之后被删除。</td><td>false</td></tr>
+<tr><td>verifyMetadataOnGC</td><td>设置了true,bookie就会在GC之前去复查<code>readMetadata</code></td><td>false</td></tr>
+<tr><td>flushEntrylogBytes</td><td>条目日志刷新时间间隔,以字节为单位。以较小的块来刷新,但是更频繁地刷新可以减少磁盘I/O的峰值。太频繁的刷新也可能对性能产生负面影响。</td><td>268435456</td></tr>
 <tr><td>readBufferSizeBytes</td><td>用作 BufferedReadChannel 容量的字节数量。</td><td>4096</td></tr>
 <tr><td>writeBufferSizeBytes</td><td>用作写缓存容量的字节数</td><td>65536</td></tr>
-<tr><td>useHostNameAsBookieID</td><td>Whether the bookie should use its hostname to register with the coordination service (e.g.: zookeeper service). When false, bookie will use its ip address for the registration.</td><td>false</td></tr>
-<tr><td>bookieId</td><td>If you want to custom a bookie ID or use a dynamic network address for the bookie, you can set the <code>bookieId</code>.</td></tr>
+<tr><td>useHostNameAsBookieID</td><td>Bookie是否应该使用其主机名来注册协调服务(例如:zookeeper服务)。当false时,bookie将使用其ip地址进行注册。</td><td>false</td></tr>
+<tr><td>bookieId</td><td>如果你想定制一个bookie的ID,或者为bookie使用一个动态网络地址, 你可以设置 <code>bookieId</code>的值。</td></tr>
 </tbody>
 </table>
-<p>Bookie advertises itself using the <code>bookieId</code> rather than the <code>BookieSocketAddress</code> (<code>hostname:port</code> or <code>IP:port</code>). If you set the <code>bookieId</code>, then the <code>useHostNameAsBookieID</code> does not take effect.</p>
-<p>The <code>bookieId</code> is a non-empty string that can contain ASCII digits and letters ([a-zA-Z9-0]), colons, dashes, and dots.</p>
-<p>For more information about <code>bookieId</code>, see <a href="http://bookkeeper.apache.org/bps/BP-41-bookieid/">here</a>. | N/A                                                              |
-| allowEphemeralPorts                       | Whether the bookie is allowed to use an ephemeral port (port 0) as its server port. By default, an ephemeral port is not allowed. Using an ephemeral port as the service port usually indicates a configuration error. However, in unit tests, using an ephemeral port will address port conflict problems and allow running tests in parallel.                                                                                                                [...]
-| enableLocalTransport                      | Whether the bookie is allowed to listen for the BookKeeper clients executed on the local JVM.                                                                                                                                                                                                                                                                                                                                                                  [...]
-| disableServerSocketBind                   | Whether the bookie is allowed to disable bind on network interfaces. This bookie will be available only to BookKeeper clients executed on the local JVM.                                                                                                                                                                                                                                                                                                       [...]
-| skipListArenaChunkSize                    | The number of bytes that we should use as chunk allocation for <code>org.apache.bookkeeper.bookie.SkipListArena</code>.                                                                                                                                                                                                                                                                                                                                        [...]
-| skipListArenaMaxAllocSize                 | The maximum size that we should allocate from the skiplist arena. Allocations larger than this should be allocated directly by the VM to avoid fragmentation.                                                                                                                                                                                                                                                                                                  [...]
-| bookieAuthProviderFactoryClass            | The factory class name of the bookie authentication provider. If this is null, then there is no authentication.                                                                                                                                                                                                                                                                                                                                                [...]
-| statsProviderClass                        |                                                                                                                                                                                                                                                                                                                                                                                                                                                                [...]
-| prometheusStatsHttpPort                   |                                                                                                                                                                                                                                                                                                                                                                                                                                                                [...]
-| dbStorage_writeCacheMaxSizeMb             | 写入缓存的大小。 所使用的内存是 JVM 直接内存。 Write cache is used to buffer entries before flushing into the entry log. For good performance, it should be big enough to hold a substantial amount of entries in the flush interval.                                                                                                                                                                                                                                              [...]
-| dbStorage_readAheadCacheMaxSizeMb         | 读取缓存的大小。 所使用的内存是 JVM 直接内存。 This read cache is pre-filled doing read-ahead whenever a cache miss happens. By default, it is allocated to 25% of the available direct memory.                                                                                                                                                                                                                                                                                    [...]
-| dbStorage_readAheadCacheBatchSize         | 当读缓存 miss 发生后预装填的条目数量                                                                                                                                                                                                                                                                                                                                                                                                                                          [...]
-| dbStorage_rocksDB_blockCacheSize        | RocksDB 的 block-cache 大小。 For best performance, this cache should be big enough to hold a significant portion of the index database which can reach ~2GB in some cases. By default, it uses 10% of direct memory.                                                                                                                                                                                                                                                [...]
-| dbStorage_rocksDB_writeBufferSizeMB     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                  [...]
-| dbStorage_rocksDB_sstSizeInMB           |                                                                                                                                                                                                                                                                                                                                                                                                                                                                  [...]
-| dbStorage_rocksDB_blockSize             |                                                                                                                                                                                                                                                                                                                                                                                                                                                                  [...]
-| dbStorage_rocksDB_bloomFilterBitsPerKey |                                                                                                                                                                                                                                                                                                                                                                                                                                                                  [...]
-| dbStorage_rocksDB_numLevels             |                                                                                                                                                                                                                                                                                                                                                                                                                                                                  [...]
-| dbStorage_rocksDB_numFilesInLevel0      |                                                                                                                                                                                                                                                                                                                                                                                                                                                                  [...]
-| dbStorage_rocksDB_maxSizeInLevel1MB     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                  [...]
+<p>Bookie 用<code>bookieId</code> 而不是<code>BookieSocketAddress</code>广播自已(<code>hostname:port</code> or <code>IP:port</code>). 如果你设置了<code>bookieId</code>,<code>useHostNameAsBookieID</code> 就不会起作用。</p>
+<p>The <code>bookieId</code> 是一个非空字符串,可以包含ASCII数字和字母([a-zA-Z9-0])、冒号、破折号和圆点。 关于<code>bookieId</code>的更多信息,请查看<a href="http://bookkeeper.apache.org/bps/BP-41-bookieid/">这里</a>。 | N/A                                                              |
+| allowEphemeralPorts                       | Whether the bookie is allowed to use an ephemeral port (port 0) as its server port. By default, an ephemeral port is not allowed. Using an ephemeral port as the service port usually indicates a configuration error. However, in unit tests, using an ephemeral port will address port conflict problems and allow running tests in parallel.   | false                                                            |
+| enableLocalTransport                      | Whether the bookie is allowed to listen for the BookKeeper clients executed on the local JVM.                                                                                                                                                                                                                                                     | false                                                            |
+| disableServerSocketBind                   | Whether the bookie is allowed to disable bind on network interfaces. This bookie will be available only to BookKeeper clients executed on the local JVM.                                                                                                                                                                                          | false                                                            |
+| skipListArenaChunkSize                    | The number of bytes that we should use as chunk allocation for <code>org.apache.bookkeeper.bookie.SkipListArena</code>.                                                                                                                                                                                                                                      | 4194304                                                          |
+| skipListArenaMaxAllocSize                 | The maximum size that we should allocate from the skiplist arena. Allocations larger than this should be allocated directly by the VM to avoid fragmentation.                                                                                                                                                                                     | 131072                                                           |
+| bookieAuthProviderFactoryClass            | The factory class name of the bookie authentication provider. If this is null, then there is no authentication.                                                                                                                                                                                                                                   | null                                                             |
+| statsProviderClass                        |                                                                                                                                                                                                                                                                                                                                                   | org.apache.bookkeeper.stats.prometheus.PrometheusMetricsProvider |
+| prometheusStatsHttpPort                   |                                                                                                                                                                                                                                                                                                                                                   | 8000                                                             |
+| dbStorage_writeCacheMaxSizeMb             | 写入缓存的大小。 所使用的内存是 JVM 直接内存。 Write cache is used to buffer entries before flushing into the entry log. For good performance, it should be big enough to hold a substantial amount of entries in the flush interval.                                                                                                                                 | 25% 的直接内存                                                        |
+| dbStorage_readAheadCacheMaxSizeMb         | 读取缓存的大小。 所使用的内存是 JVM 直接内存。 This read cache is pre-filled doing read-ahead whenever a cache miss happens. By default, it is allocated to 25% of the available direct memory.                                                                                                                                                                       | N/A                                                              |
+| dbStorage_readAheadCacheBatchSize         | 当读缓存 miss 发生后预装填的条目数量                                                                                                                                                                                                                                                                                                                             | 1000                                                             |
+| dbStorage_rocksDB_blockCacheSize        | RocksDB 的 block-cache 大小。 For best performance, this cache should be big enough to hold a significant portion of the index database which can reach ~2GB in some cases. By default, it uses 10% of direct memory.                                                                                                                                 | N/A                                                              |
+| dbStorage_rocksDB_writeBufferSizeMB     |                                                                                                                                                                                                                                                                                                                                                   | 64                                                               |
+| dbStorage_rocksDB_sstSizeInMB           |                                                                                                                                                                                                                                                                                                                                                   | 64                                                               |
+| dbStorage_rocksDB_blockSize             |                                                                                                                                                                                                                                                                                                                                                   | 65536                                                            |
+| dbStorage_rocksDB_bloomFilterBitsPerKey |                                                                                                                                                                                                                                                                                                                                                   | 10                                                               |
+| dbStorage_rocksDB_numLevels             |                                                                                                                                                                                                                                                                                                                                                   | -1                                                               |
+| dbStorage_rocksDB_numFilesInLevel0      |                                                                                                                                                                                                                                                                                                                                                   | 4                                                                |
+| dbStorage_rocksDB_maxSizeInLevel1MB     |                                                                                                                                                                                                                                                                                                                                                   | 256                                                              |</p>
 <h2><a class="anchor" aria-hidden="true" id="broker"></a><a href="#broker" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
 <p>Pulsar broker 负责处理从生产者发出消息、向消费者派发消息、在集群间复制数据等。</p>
 <p>|Name|Description|Default| |---|---|---| |advertisedListeners|Specify multiple advertised listeners for the broker.</p>
diff --git a/content/docs/zh-CN/next/reference-configuration/index.html b/content/docs/zh-CN/next/reference-configuration/index.html
index 527c033..6138edd 100644
--- a/content/docs/zh-CN/next/reference-configuration/index.html
+++ b/content/docs/zh-CN/next/reference-configuration/index.html
@@ -155,54 +155,53 @@
 <tr><td>httpServerClass</td><td>Http服务器实现类。</td><td>org.apache.bookkeeper.http.vertx.VertxHttpServer</td></tr>
 <tr><td>serverTcpNoDelay</td><td>此设置用于启用/禁用 Nagle 的算法,该算法能通过减少通过网络发送的数据包数量来提高 TCP/IP 网络效率。 如果你正在发送许多小消息,这样在单个 IP 数据包中就可以放入不止一个消息,设置 server.tcpnodelay 为 false 来启用 Nagle 算法可以提供更好的性能。</td><td>true</td></tr>
 <tr><td>serverSockKeepalive</td><td>此设置用于在面向连接的套接字上发送 keep-alive 消息。</td><td>true</td></tr>
-<tr><td>serverTcpLinger</td><td>关闭时套接字延迟超时。 When enabled, a close or shutdown will not return until all queued messages for the socket have been successfully sent or the linger timeout has been reached. Otherwise, the call returns immediately and the closing is done in the background.</td><td>0</td></tr>
+<tr><td>serverTcpLinger</td><td>关闭时TCP延迟超时。 当启用时,关闭或关机将不会返回,直到TCP的所有排队消息都被成功发送或达到徘徊超时。 否则,调用将立即返回,关闭是在后台完成的。</td><td>0</td></tr>
 <tr><td>byteBufAllocatorSizeMax</td><td>ByteBuf分配器能够接受的最大buf的大小</td><td>1048576</td></tr>
 <tr><td>nettyMaxFrameSizeBytes</td><td>以byte为单位的最大netty frame 大小。任何收到的大于此值的消息都将被拒绝。</td><td>5253120</td></tr>
 <tr><td>openFileLimit</td><td>在 bookie 服务器上可以打开 ledger 索引文件的最大数量。如果 ledger 索引文件数量达到这个限制,bookie 服务器会开始将一些 ledger 从内存交换到磁盘。 过于频繁的交换会影响性能。 你可以根据你的要求调整这个数字以获得性能提升。</td><td>0</td></tr>
 <tr><td>pageSize</td><td>Ledger 缓存中索引页的大小,是以字节为单位。一个大的索引页可以改善将页写入磁盘的性能。当你有少量有 ledger 并且这些 ledger 有着相似数量的条目时,会很高效。 如果你有大量的 ledger,而每个 ledger 都有较少的条目,较小的索引页面将会提高内存使用率。</td><td>8192</td></tr>
 <tr><td>pageLimit</td><td>在 ledger 缓存中提供多少索引页面。如果索引页面数量达到此限制,bookie 服务器会开始将一些 ledger 从内存交换到磁盘。 当你发现交换变得更频繁时,可以增加这个值。 但请确认 pageLimit*page 的大小不应超过 JVM 最大内存限制,否则你将会得到 OutOfMemoryException。 一般来说,增加pageLimit,使用较小的索引页会在条目较少的大账本中获得更好的性能。 如果pageLimit为-1,bookie服务将根据1/3的JVM内存来计算索引页的数量限制。</td><td>0</td></tr>
 <tr><td>readOnlyModeEnabled</td><td>如果所有已配置的 ledger 目录已满,则只支持客户的读取请求。 如果 “readOnlyModeEnabled=true” 那么当所有的 ledger 磁盘满时,bookie 会被转换为只读模式并只处理读请求。 否则 bookie 将被关闭。 默认情况下,这会被禁用。</td><td>true</td></tr>
-<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 If all ledger dir partitions are full, then bookie will turn to readonly mode if ‘readOnlyModeEnabled=true’ is set, else it will shutdown. 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
+<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 如果所有的ledger目录分区都满了,那么如果设置了'readOnlyModeEnabled=true',bookie将转为只读模式,否则它将关闭。 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
 <tr><td>diskCheckInterval</td><td>磁盘检查间隔,以毫秒为单位,检查 ledger 目录使用情况的时间间隔。</td><td>10000</td></tr>
 <tr><td>auditorPeriodicCheckInterval</td><td>审查者对集群内所有 ledger 进行核对的时间间隔。 默认情况下,每周运行一次。 间隔以秒为单位。 要完全禁用定期检查,请将此设置为 0。 请注意,定期检查会给集群带来额外的负荷,因此每天的运行次数不应超过一次。</td><td>604800</td></tr>
 <tr><td>sortedLedgerStorageEnabled</td><td>Whether sorted-ledger storage is enabled.</td><td>true</td></tr>
 <tr><td>auditorPeriodicBookieCheckInterval</td><td>审查者 bookie 检查的时间间隔。 审查者 bookie 检查,检查 ledger 的元数据来查看哪些 bookie 应该包含各个 ledger 的条目。 如果本应包含条目的 bookie 不可用,包含该条目的 ledger 会被标记去做恢复。 设置为 0 会禁用定期检查。 当 bookie 失效时,bookie 检查仍然会进行。 间隔以秒为单位。</td><td>86400</td></tr>
-<tr><td>numAddWorkerThreads</td><td>The number of threads that should handle write requests. if zero, the writes would be handled by netty threads directly.</td><td>0</td></tr>
-<tr><td>numReadWorkerThreads</td><td>The number of threads that should handle read requests. if zero, the reads would be handled by netty threads directly.</td><td>8</td></tr>
-<tr><td>numHighPriorityWorkerThreads</td><td>The umber of threads that should be used for high priority requests (i.e. recovery reads and adds, and fencing).</td><td>8</td></tr>
+<tr><td>numAddWorkerThreads</td><td>需要处理写请求的线程数。如果为零,写将由netty线程直接处理。</td><td>0</td></tr>
+<tr><td>numReadWorkerThreads</td><td>需要处理读取请求的线程数量。如果为零,读取将由netty线程直接处理。</td><td>8</td></tr>
+<tr><td>numHighPriorityWorkerThreads</td><td>用于高优先级请求的线程数量(例如恢复读和添加,以及fencing)。</td><td>8</td></tr>
 <tr><td>maxPendingReadRequestsPerThread</td><td>如果启用了读 worker 线程,限制待处理请求的数量,以避免执行器队列无止境增长。</td><td>2500</td></tr>
-<tr><td>maxPendingAddRequestsPerThread</td><td>The limited number of pending requests, which is used to avoid the executor queue to grow indefinitely when add workers threads are enabled.</td><td>10000</td></tr>
-<tr><td>isForceGCAllowWhenNoSpace</td><td>Whether force compaction is allowed when the disk is full or almost full. Forcing GC could get some space back, but could also fill up the disk space more quickly. This is because new log files are created before GC, while old garbage log files are deleted after GC.</td><td>false</td></tr>
-<tr><td>verifyMetadataOnGC</td><td>True if the bookie should double check <code>readMetadata</code> prior to GC.</td><td>false</td></tr>
-<tr><td>flushEntrylogBytes</td><td>Entry log flush interval in bytes. Flushing in smaller chunks but more frequently reduces spikes in disk I/O. Flushing too frequently may also affect performance negatively.</td><td>268435456</td></tr>
+<tr><td>maxPendingAddRequestsPerThread</td><td>待处理请求的限制的线程数量。用于避免在启用添加工作线程时,执行者队列无限期增长。</td><td>10000</td></tr>
+<tr><td>isForceGCAllowWhenNoSpace</td><td>当磁盘已满或快满时,是否允许强制压缩。 强制GC可以找回一些空间,但也可能更快地填满磁盘空间。 这是因为新的日志文件是在GC之前创建的,而旧的垃圾日志文件在GC之后被删除。</td><td>false</td></tr>
+<tr><td>verifyMetadataOnGC</td><td>设置了true,bookie就会在GC之前去复查<code>readMetadata</code></td><td>false</td></tr>
+<tr><td>flushEntrylogBytes</td><td>条目日志刷新时间间隔,以字节为单位。以较小的块来刷新,但是更频繁地刷新可以减少磁盘I/O的峰值。太频繁的刷新也可能对性能产生负面影响。</td><td>268435456</td></tr>
 <tr><td>readBufferSizeBytes</td><td>用作 BufferedReadChannel 容量的字节数量。</td><td>4096</td></tr>
 <tr><td>writeBufferSizeBytes</td><td>用作写缓存容量的字节数</td><td>65536</td></tr>
-<tr><td>useHostNameAsBookieID</td><td>Whether the bookie should use its hostname to register with the coordination service (e.g.: zookeeper service). When false, bookie will use its ip address for the registration.</td><td>false</td></tr>
-<tr><td>bookieId</td><td>If you want to custom a bookie ID or use a dynamic network address for the bookie, you can set the <code>bookieId</code>.</td></tr>
+<tr><td>useHostNameAsBookieID</td><td>Bookie是否应该使用其主机名来注册协调服务(例如:zookeeper服务)。当false时,bookie将使用其ip地址进行注册。</td><td>false</td></tr>
+<tr><td>bookieId</td><td>如果你想定制一个bookie的ID,或者为bookie使用一个动态网络地址, 你可以设置 <code>bookieId</code>的值。</td></tr>
 </tbody>
 </table>
-<p>Bookie advertises itself using the <code>bookieId</code> rather than the <code>BookieSocketAddress</code> (<code>hostname:port</code> or <code>IP:port</code>). If you set the <code>bookieId</code>, then the <code>useHostNameAsBookieID</code> does not take effect.</p>
-<p>The <code>bookieId</code> is a non-empty string that can contain ASCII digits and letters ([a-zA-Z9-0]), colons, dashes, and dots.</p>
-<p>For more information about <code>bookieId</code>, see <a href="http://bookkeeper.apache.org/bps/BP-41-bookieid/">here</a>. | N/A                                                              |
-| allowEphemeralPorts                       | Whether the bookie is allowed to use an ephemeral port (port 0) as its server port. By default, an ephemeral port is not allowed. Using an ephemeral port as the service port usually indicates a configuration error. However, in unit tests, using an ephemeral port will address port conflict problems and allow running tests in parallel.                                                                                                                [...]
-| enableLocalTransport                      | Whether the bookie is allowed to listen for the BookKeeper clients executed on the local JVM.                                                                                                                                                                                                                                                                                                                                                                  [...]
-| disableServerSocketBind                   | Whether the bookie is allowed to disable bind on network interfaces. This bookie will be available only to BookKeeper clients executed on the local JVM.                                                                                                                                                                                                                                                                                                       [...]
-| skipListArenaChunkSize                    | The number of bytes that we should use as chunk allocation for <code>org.apache.bookkeeper.bookie.SkipListArena</code>.                                                                                                                                                                                                                                                                                                                                        [...]
-| skipListArenaMaxAllocSize                 | The maximum size that we should allocate from the skiplist arena. Allocations larger than this should be allocated directly by the VM to avoid fragmentation.                                                                                                                                                                                                                                                                                                  [...]
-| bookieAuthProviderFactoryClass            | The factory class name of the bookie authentication provider. If this is null, then there is no authentication.                                                                                                                                                                                                                                                                                                                                                [...]
-| statsProviderClass                        |                                                                                                                                                                                                                                                                                                                                                                                                                                                                [...]
-| prometheusStatsHttpPort                   |                                                                                                                                                                                                                                                                                                                                                                                                                                                                [...]
-| dbStorage_writeCacheMaxSizeMb             | 写入缓存的大小。 所使用的内存是 JVM 直接内存。 Write cache is used to buffer entries before flushing into the entry log. For good performance, it should be big enough to hold a substantial amount of entries in the flush interval.                                                                                                                                                                                                                                              [...]
-| dbStorage_readAheadCacheMaxSizeMb         | 读取缓存的大小。 所使用的内存是 JVM 直接内存。 This read cache is pre-filled doing read-ahead whenever a cache miss happens. By default, it is allocated to 25% of the available direct memory.                                                                                                                                                                                                                                                                                    [...]
-| dbStorage_readAheadCacheBatchSize         | 当读缓存 miss 发生后预装填的条目数量                                                                                                                                                                                                                                                                                                                                                                                                                                          [...]
-| dbStorage_rocksDB_blockCacheSize        | RocksDB 的 block-cache 大小。 For best performance, this cache should be big enough to hold a significant portion of the index database which can reach ~2GB in some cases. By default, it uses 10% of direct memory.                                                                                                                                                                                                                                                [...]
-| dbStorage_rocksDB_writeBufferSizeMB     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                  [...]
-| dbStorage_rocksDB_sstSizeInMB           |                                                                                                                                                                                                                                                                                                                                                                                                                                                                  [...]
-| dbStorage_rocksDB_blockSize             |                                                                                                                                                                                                                                                                                                                                                                                                                                                                  [...]
-| dbStorage_rocksDB_bloomFilterBitsPerKey |                                                                                                                                                                                                                                                                                                                                                                                                                                                                  [...]
-| dbStorage_rocksDB_numLevels             |                                                                                                                                                                                                                                                                                                                                                                                                                                                                  [...]
-| dbStorage_rocksDB_numFilesInLevel0      |                                                                                                                                                                                                                                                                                                                                                                                                                                                                  [...]
-| dbStorage_rocksDB_maxSizeInLevel1MB     |                                                                                                                                                                                                                                                                                                                                                                                                                                                                  [...]
+<p>Bookie 用<code>bookieId</code> 而不是<code>BookieSocketAddress</code>广播自已(<code>hostname:port</code> or <code>IP:port</code>). 如果你设置了<code>bookieId</code>,<code>useHostNameAsBookieID</code> 就不会起作用。</p>
+<p>The <code>bookieId</code> 是一个非空字符串,可以包含ASCII数字和字母([a-zA-Z9-0])、冒号、破折号和圆点。 关于<code>bookieId</code>的更多信息,请查看<a href="http://bookkeeper.apache.org/bps/BP-41-bookieid/">这里</a>。 | N/A                                                              |
+| allowEphemeralPorts                       | Whether the bookie is allowed to use an ephemeral port (port 0) as its server port. By default, an ephemeral port is not allowed. Using an ephemeral port as the service port usually indicates a configuration error. However, in unit tests, using an ephemeral port will address port conflict problems and allow running tests in parallel.   | false                                                            |
+| enableLocalTransport                      | Whether the bookie is allowed to listen for the BookKeeper clients executed on the local JVM.                                                                                                                                                                                                                                                     | false                                                            |
+| disableServerSocketBind                   | Whether the bookie is allowed to disable bind on network interfaces. This bookie will be available only to BookKeeper clients executed on the local JVM.                                                                                                                                                                                          | false                                                            |
+| skipListArenaChunkSize                    | The number of bytes that we should use as chunk allocation for <code>org.apache.bookkeeper.bookie.SkipListArena</code>.                                                                                                                                                                                                                                      | 4194304                                                          |
+| skipListArenaMaxAllocSize                 | The maximum size that we should allocate from the skiplist arena. Allocations larger than this should be allocated directly by the VM to avoid fragmentation.                                                                                                                                                                                     | 131072                                                           |
+| bookieAuthProviderFactoryClass            | The factory class name of the bookie authentication provider. If this is null, then there is no authentication.                                                                                                                                                                                                                                   | null                                                             |
+| statsProviderClass                        |                                                                                                                                                                                                                                                                                                                                                   | org.apache.bookkeeper.stats.prometheus.PrometheusMetricsProvider |
+| prometheusStatsHttpPort                   |                                                                                                                                                                                                                                                                                                                                                   | 8000                                                             |
+| dbStorage_writeCacheMaxSizeMb             | 写入缓存的大小。 所使用的内存是 JVM 直接内存。 Write cache is used to buffer entries before flushing into the entry log. For good performance, it should be big enough to hold a substantial amount of entries in the flush interval.                                                                                                                                 | 25% 的直接内存                                                        |
+| dbStorage_readAheadCacheMaxSizeMb         | 读取缓存的大小。 所使用的内存是 JVM 直接内存。 This read cache is pre-filled doing read-ahead whenever a cache miss happens. By default, it is allocated to 25% of the available direct memory.                                                                                                                                                                       | N/A                                                              |
+| dbStorage_readAheadCacheBatchSize         | 当读缓存 miss 发生后预装填的条目数量                                                                                                                                                                                                                                                                                                                             | 1000                                                             |
+| dbStorage_rocksDB_blockCacheSize        | RocksDB 的 block-cache 大小。 For best performance, this cache should be big enough to hold a significant portion of the index database which can reach ~2GB in some cases. By default, it uses 10% of direct memory.                                                                                                                                 | N/A                                                              |
+| dbStorage_rocksDB_writeBufferSizeMB     |                                                                                                                                                                                                                                                                                                                                                   | 64                                                               |
+| dbStorage_rocksDB_sstSizeInMB           |                                                                                                                                                                                                                                                                                                                                                   | 64                                                               |
+| dbStorage_rocksDB_blockSize             |                                                                                                                                                                                                                                                                                                                                                   | 65536                                                            |
+| dbStorage_rocksDB_bloomFilterBitsPerKey |                                                                                                                                                                                                                                                                                                                                                   | 10                                                               |
+| dbStorage_rocksDB_numLevels             |                                                                                                                                                                                                                                                                                                                                                   | -1                                                               |
+| dbStorage_rocksDB_numFilesInLevel0      |                                                                                                                                                                                                                                                                                                                                                   | 4                                                                |
+| dbStorage_rocksDB_maxSizeInLevel1MB     |                                                                                                                                                                                                                                                                                                                                                   | 256                                                              |</p>
 <h2><a class="anchor" aria-hidden="true" id="broker"></a><a href="#broker" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
 <p>Pulsar broker 负责处理从生产者发出消息、向消费者派发消息、在集群间复制数据等。</p>
 <p>|Name|Description|Default| |---|---|---| |advertisedListeners|Specify multiple advertised listeners for the broker.</p>
diff --git a/content/docs/zh-CN/reference-configuration.html b/content/docs/zh-CN/reference-configuration.html
index 79b6209..3fd8d74 100644
--- a/content/docs/zh-CN/reference-configuration.html
+++ b/content/docs/zh-CN/reference-configuration.html
@@ -154,30 +154,30 @@
 <tr><td>httpServerClass</td><td>Http服务器实现类。</td><td>org.apache.bookkeeper.http.vertx.VertxHttpServer</td></tr>
 <tr><td>serverTcpNoDelay</td><td>此设置用于启用/禁用 Nagle 的算法,该算法能通过减少通过网络发送的数据包数量来提高 TCP/IP 网络效率。 如果你正在发送许多小消息,这样在单个 IP 数据包中就可以放入不止一个消息,设置 server.tcpnodelay 为 false 来启用 Nagle 算法可以提供更好的性能。</td><td>true</td></tr>
 <tr><td>serverSockKeepalive</td><td>此设置用于在面向连接的套接字上发送 keep-alive 消息。</td><td>true</td></tr>
-<tr><td>serverTcpLinger</td><td>关闭时套接字延迟超时。 When enabled, a close or shutdown will not return until all queued messages for the socket have been successfully sent or the linger timeout has been reached. Otherwise, the call returns immediately and the closing is done in the background.</td><td>0</td></tr>
+<tr><td>serverTcpLinger</td><td>关闭时TCP延迟超时。 当启用时,关闭或关机将不会返回,直到TCP的所有排队消息都被成功发送或达到徘徊超时。 否则,调用将立即返回,关闭是在后台完成的。</td><td>0</td></tr>
 <tr><td>byteBufAllocatorSizeMax</td><td>ByteBuf分配器能够接受的最大buf的大小</td><td>1048576</td></tr>
 <tr><td>nettyMaxFrameSizeBytes</td><td>The maximum netty frame size in bytes. Any message received larger than this will be rejected.</td><td>5253120</td></tr>
 <tr><td>openFileLimit</td><td>在 bookie 服务器上可以打开 ledger 索引文件的最大数量。如果 ledger 索引文件数量达到这个限制,bookie 服务器会开始将一些 ledger 从内存交换到磁盘。 过于频繁的交换会影响性能。 你可以根据你的要求调整这个数字以获得性能提升。</td><td>0</td></tr>
 <tr><td>pageSize</td><td>Ledger 缓存中索引页的大小,是以字节为单位。一个大的索引页可以改善将页写入磁盘的性能。当你有少量有 ledger 并且这些 ledger 有着相似数量的条目时,会很高效。 如果你有大量的 ledger,而每个 ledger 都有较少的条目,较小的索引页面将会提高内存使用率。</td><td>8192</td></tr>
 <tr><td>pageLimit</td><td>在 ledger 缓存中提供多少索引页面。如果索引页面数量达到此限制,bookie 服务器会开始将一些 ledger 从内存交换到磁盘。 当你发现交换变得更频繁时,可以增加这个值。 但请确认 pageLimit*page 的大小不应超过 JVM 最大内存限制,否则你将会得到 OutOfMemoryException。 一般来说,增加pageLimit,使用较小的索引页会在条目较少的大账本中获得更好的性能。 如果pageLimit为-1,bookie服务将根据1/3的JVM内存来计算索引页的数量限制。</td><td>0</td></tr>
 <tr><td>readOnlyModeEnabled</td><td>如果所有已配置的 ledger 目录已满,则只支持客户的读取请求。 如果 “readOnlyModeEnabled=true” 那么当所有的 ledger 磁盘满时,bookie 会被转换为只读模式并只处理读请求。 否则 bookie 将被关闭。 默认情况下,这会被禁用。</td><td>true</td></tr>
-<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 If all ledger dir partitions are full, then bookie will turn to readonly mode if ‘readOnlyModeEnabled=true’ is set, else it will shutdown. 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
+<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 如果所有的ledger目录分区都满了,那么如果设置了'readOnlyModeEnabled=true',bookie将转为只读模式,否则它将关闭。 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
 <tr><td>diskCheckInterval</td><td>磁盘检查间隔,以毫秒为单位,检查 ledger 目录使用情况的时间间隔。</td><td>10000</td></tr>
 <tr><td>auditorPeriodicCheckInterval</td><td>审查者对集群内所有 ledger 进行核对的时间间隔。 默认情况下,每周运行一次。 间隔以秒为单位。 要完全禁用定期检查,请将此设置为 0。 请注意,定期检查会给集群带来额外的负荷,因此每天的运行次数不应超过一次。</td><td>604800</td></tr>
 <tr><td>sortedLedgerStorageEnabled</td><td>Whether sorted-ledger storage is enabled.</td><td>true</td></tr>
 <tr><td>auditorPeriodicBookieCheckInterval</td><td>审查者 bookie 检查的时间间隔。 审查者 bookie 检查,检查 ledger 的元数据来查看哪些 bookie 应该包含各个 ledger 的条目。 如果本应包含条目的 bookie 不可用,包含该条目的 ledger 会被标记去做恢复。 设置为 0 会禁用定期检查。 当 bookie 失效时,bookie 检查仍然会进行。 间隔以秒为单位。</td><td>86400</td></tr>
 <tr><td>numAddWorkerThreads</td><td>The number of threads that should handle write requests. 如果设置为 0,写入请求将直接被 nerry 线程进行处理。</td><td>0</td></tr>
 <tr><td>numReadWorkerThreads</td><td>The number of threads that should handle read requests. 如果设置为 0,读取请求将直接被 netty 线程处理。</td><td>8</td></tr>
-<tr><td>numHighPriorityWorkerThreads</td><td>The umber of threads that should be used for high priority requests (i.e. recovery reads and adds, and fencing).</td><td>8</td></tr>
+<tr><td>numHighPriorityWorkerThreads</td><td>用于高优先级请求的线程数量(例如恢复读和添加,以及fencing)。</td><td>8</td></tr>
 <tr><td>maxPendingReadRequestsPerThread</td><td>如果启用了读 worker 线程,限制待处理请求的数量,以避免执行器队列无止境增长。</td><td>2500</td></tr>
-<tr><td>maxPendingAddRequestsPerThread</td><td>The limited number of pending requests, which is used to avoid the executor queue to grow indefinitely when add workers threads are enabled.</td><td>10000</td></tr>
-<tr><td>isForceGCAllowWhenNoSpace</td><td>Whether force compaction is allowed when the disk is full or almost full. Forcing GC could get some space back, but could also fill up the disk space more quickly. This is because new log files are created before GC, while old garbage log files are deleted after GC.</td><td>false</td></tr>
-<tr><td>verifyMetadataOnGC</td><td>True if the bookie should double check <code>readMetadata</code> prior to GC.</td><td>false</td></tr>
+<tr><td>maxPendingAddRequestsPerThread</td><td>待处理请求的限制的线程数量。用于避免在启用添加工作线程时,执行者队列无限期增长。</td><td>10000</td></tr>
+<tr><td>isForceGCAllowWhenNoSpace</td><td>当磁盘已满或快满时,是否允许强制压缩。 强制GC可以找回一些空间,但也可能更快地填满磁盘空间。 这是因为新的日志文件是在GC之前创建的,而旧的垃圾日志文件在GC之后被删除。</td><td>false</td></tr>
+<tr><td>verifyMetadataOnGC</td><td>设置了true,bookie就会在GC之前去复查<code>readMetadata</code></td><td>false</td></tr>
 <tr><td>flushEntrylogBytes</td><td>Entry log flush interval in bytes. Flushing in smaller chunks but more frequently reduces spikes in disk I/O. Flushing too frequently may also affect performance negatively.</td><td>268435456</td></tr>
 <tr><td>readBufferSizeBytes</td><td>用作 BufferedReadChannel 容量的字节数量。</td><td>4096</td></tr>
 <tr><td>writeBufferSizeBytes</td><td>用作写缓存容量的字节数</td><td>65536</td></tr>
 <tr><td>useHostNameAsBookieID</td><td>是否使用主机名去注册 bookie 的协调服务(如:Zookeeper)。 When false, bookie will use its ip address for the registration.</td><td>false</td></tr>
-<tr><td>bookieId</td><td>If you want to custom a bookie ID or use a dynamic network address for the bookie, you can set the <code>bookieId</code>. <br><br>Bookie advertises itself using the <code>bookieId</code> rather than the <code>BookieSocketAddress</code> (<code>hostname:port</code> or <code>IP:port</code>). If you set the <code>bookieId</code>, then the <code>useHostNameAsBookieID</code> does not take effect.<br><br>The <code>bookieId</code> is a non-empty string that can contain A [...]
+<tr><td>bookieId</td><td>如果你想定制一个bookie的ID,或者为bookie使用一个动态网络地址, 你可以设置 <code>bookieId</code>的值。 <br><br>Bookie advertises itself using the <code>bookieId</code> rather than the <code>BookieSocketAddress</code> (<code>hostname:port</code> or <code>IP:port</code>). If you set the <code>bookieId</code>, then the <code>useHostNameAsBookieID</code> does not take effect.<br><br>The <code>bookieId</code> is a non-empty string that can contain ASCII digits and letters ([a-zA-Z9-0]), colons, dashe [...]
 <tr><td>allowEphemeralPorts</td><td>Whether the bookie is allowed to use an ephemeral port (port 0) as its server port. By default, an ephemeral port is not allowed. Using an ephemeral port as the service port usually indicates a configuration error. However, in unit tests, using an ephemeral port will address port conflict problems and allow running tests in parallel.</td><td>false</td></tr>
 <tr><td>enableLocalTransport</td><td>Whether the bookie is allowed to listen for the BookKeeper clients executed on the local JVM.</td><td>false</td></tr>
 <tr><td>disableServerSocketBind</td><td>Whether the bookie is allowed to disable bind on network interfaces. This bookie will be available only to BookKeeper clients executed on the local JVM.</td><td>false</td></tr>
diff --git a/content/docs/zh-CN/reference-configuration/index.html b/content/docs/zh-CN/reference-configuration/index.html
index 79b6209..3fd8d74 100644
--- a/content/docs/zh-CN/reference-configuration/index.html
+++ b/content/docs/zh-CN/reference-configuration/index.html
@@ -154,30 +154,30 @@
 <tr><td>httpServerClass</td><td>Http服务器实现类。</td><td>org.apache.bookkeeper.http.vertx.VertxHttpServer</td></tr>
 <tr><td>serverTcpNoDelay</td><td>此设置用于启用/禁用 Nagle 的算法,该算法能通过减少通过网络发送的数据包数量来提高 TCP/IP 网络效率。 如果你正在发送许多小消息,这样在单个 IP 数据包中就可以放入不止一个消息,设置 server.tcpnodelay 为 false 来启用 Nagle 算法可以提供更好的性能。</td><td>true</td></tr>
 <tr><td>serverSockKeepalive</td><td>此设置用于在面向连接的套接字上发送 keep-alive 消息。</td><td>true</td></tr>
-<tr><td>serverTcpLinger</td><td>关闭时套接字延迟超时。 When enabled, a close or shutdown will not return until all queued messages for the socket have been successfully sent or the linger timeout has been reached. Otherwise, the call returns immediately and the closing is done in the background.</td><td>0</td></tr>
+<tr><td>serverTcpLinger</td><td>关闭时TCP延迟超时。 当启用时,关闭或关机将不会返回,直到TCP的所有排队消息都被成功发送或达到徘徊超时。 否则,调用将立即返回,关闭是在后台完成的。</td><td>0</td></tr>
 <tr><td>byteBufAllocatorSizeMax</td><td>ByteBuf分配器能够接受的最大buf的大小</td><td>1048576</td></tr>
 <tr><td>nettyMaxFrameSizeBytes</td><td>The maximum netty frame size in bytes. Any message received larger than this will be rejected.</td><td>5253120</td></tr>
 <tr><td>openFileLimit</td><td>在 bookie 服务器上可以打开 ledger 索引文件的最大数量。如果 ledger 索引文件数量达到这个限制,bookie 服务器会开始将一些 ledger 从内存交换到磁盘。 过于频繁的交换会影响性能。 你可以根据你的要求调整这个数字以获得性能提升。</td><td>0</td></tr>
 <tr><td>pageSize</td><td>Ledger 缓存中索引页的大小,是以字节为单位。一个大的索引页可以改善将页写入磁盘的性能。当你有少量有 ledger 并且这些 ledger 有着相似数量的条目时,会很高效。 如果你有大量的 ledger,而每个 ledger 都有较少的条目,较小的索引页面将会提高内存使用率。</td><td>8192</td></tr>
 <tr><td>pageLimit</td><td>在 ledger 缓存中提供多少索引页面。如果索引页面数量达到此限制,bookie 服务器会开始将一些 ledger 从内存交换到磁盘。 当你发现交换变得更频繁时,可以增加这个值。 但请确认 pageLimit*page 的大小不应超过 JVM 最大内存限制,否则你将会得到 OutOfMemoryException。 一般来说,增加pageLimit,使用较小的索引页会在条目较少的大账本中获得更好的性能。 如果pageLimit为-1,bookie服务将根据1/3的JVM内存来计算索引页的数量限制。</td><td>0</td></tr>
 <tr><td>readOnlyModeEnabled</td><td>如果所有已配置的 ledger 目录已满,则只支持客户的读取请求。 如果 “readOnlyModeEnabled=true” 那么当所有的 ledger 磁盘满时,bookie 会被转换为只读模式并只处理读请求。 否则 bookie 将被关闭。 默认情况下,这会被禁用。</td><td>true</td></tr>
-<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 If all ledger dir partitions are full, then bookie will turn to readonly mode if ‘readOnlyModeEnabled=true’ is set, else it will shutdown. 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
+<tr><td>diskUsageThreshold</td><td>对于每个 ledger 目录,可使用的最大磁盘空间。 默认值为 0.95f。 比如,最多只能使用 95% 的磁盘,此后不会将任何内容写入该分区。 如果所有的ledger目录分区都满了,那么如果设置了'readOnlyModeEnabled=true',bookie将转为只读模式,否则它将关闭。 有效值应在 0 和 1 之间(不包含端点)。</td><td>0.95</td></tr>
 <tr><td>diskCheckInterval</td><td>磁盘检查间隔,以毫秒为单位,检查 ledger 目录使用情况的时间间隔。</td><td>10000</td></tr>
 <tr><td>auditorPeriodicCheckInterval</td><td>审查者对集群内所有 ledger 进行核对的时间间隔。 默认情况下,每周运行一次。 间隔以秒为单位。 要完全禁用定期检查,请将此设置为 0。 请注意,定期检查会给集群带来额外的负荷,因此每天的运行次数不应超过一次。</td><td>604800</td></tr>
 <tr><td>sortedLedgerStorageEnabled</td><td>Whether sorted-ledger storage is enabled.</td><td>true</td></tr>
 <tr><td>auditorPeriodicBookieCheckInterval</td><td>审查者 bookie 检查的时间间隔。 审查者 bookie 检查,检查 ledger 的元数据来查看哪些 bookie 应该包含各个 ledger 的条目。 如果本应包含条目的 bookie 不可用,包含该条目的 ledger 会被标记去做恢复。 设置为 0 会禁用定期检查。 当 bookie 失效时,bookie 检查仍然会进行。 间隔以秒为单位。</td><td>86400</td></tr>
 <tr><td>numAddWorkerThreads</td><td>The number of threads that should handle write requests. 如果设置为 0,写入请求将直接被 nerry 线程进行处理。</td><td>0</td></tr>
 <tr><td>numReadWorkerThreads</td><td>The number of threads that should handle read requests. 如果设置为 0,读取请求将直接被 netty 线程处理。</td><td>8</td></tr>
-<tr><td>numHighPriorityWorkerThreads</td><td>The umber of threads that should be used for high priority requests (i.e. recovery reads and adds, and fencing).</td><td>8</td></tr>
+<tr><td>numHighPriorityWorkerThreads</td><td>用于高优先级请求的线程数量(例如恢复读和添加,以及fencing)。</td><td>8</td></tr>
 <tr><td>maxPendingReadRequestsPerThread</td><td>如果启用了读 worker 线程,限制待处理请求的数量,以避免执行器队列无止境增长。</td><td>2500</td></tr>
-<tr><td>maxPendingAddRequestsPerThread</td><td>The limited number of pending requests, which is used to avoid the executor queue to grow indefinitely when add workers threads are enabled.</td><td>10000</td></tr>
-<tr><td>isForceGCAllowWhenNoSpace</td><td>Whether force compaction is allowed when the disk is full or almost full. Forcing GC could get some space back, but could also fill up the disk space more quickly. This is because new log files are created before GC, while old garbage log files are deleted after GC.</td><td>false</td></tr>
-<tr><td>verifyMetadataOnGC</td><td>True if the bookie should double check <code>readMetadata</code> prior to GC.</td><td>false</td></tr>
+<tr><td>maxPendingAddRequestsPerThread</td><td>待处理请求的限制的线程数量。用于避免在启用添加工作线程时,执行者队列无限期增长。</td><td>10000</td></tr>
+<tr><td>isForceGCAllowWhenNoSpace</td><td>当磁盘已满或快满时,是否允许强制压缩。 强制GC可以找回一些空间,但也可能更快地填满磁盘空间。 这是因为新的日志文件是在GC之前创建的,而旧的垃圾日志文件在GC之后被删除。</td><td>false</td></tr>
+<tr><td>verifyMetadataOnGC</td><td>设置了true,bookie就会在GC之前去复查<code>readMetadata</code></td><td>false</td></tr>
 <tr><td>flushEntrylogBytes</td><td>Entry log flush interval in bytes. Flushing in smaller chunks but more frequently reduces spikes in disk I/O. Flushing too frequently may also affect performance negatively.</td><td>268435456</td></tr>
 <tr><td>readBufferSizeBytes</td><td>用作 BufferedReadChannel 容量的字节数量。</td><td>4096</td></tr>
 <tr><td>writeBufferSizeBytes</td><td>用作写缓存容量的字节数</td><td>65536</td></tr>
 <tr><td>useHostNameAsBookieID</td><td>是否使用主机名去注册 bookie 的协调服务(如:Zookeeper)。 When false, bookie will use its ip address for the registration.</td><td>false</td></tr>
-<tr><td>bookieId</td><td>If you want to custom a bookie ID or use a dynamic network address for the bookie, you can set the <code>bookieId</code>. <br><br>Bookie advertises itself using the <code>bookieId</code> rather than the <code>BookieSocketAddress</code> (<code>hostname:port</code> or <code>IP:port</code>). If you set the <code>bookieId</code>, then the <code>useHostNameAsBookieID</code> does not take effect.<br><br>The <code>bookieId</code> is a non-empty string that can contain A [...]
+<tr><td>bookieId</td><td>如果你想定制一个bookie的ID,或者为bookie使用一个动态网络地址, 你可以设置 <code>bookieId</code>的值。 <br><br>Bookie advertises itself using the <code>bookieId</code> rather than the <code>BookieSocketAddress</code> (<code>hostname:port</code> or <code>IP:port</code>). If you set the <code>bookieId</code>, then the <code>useHostNameAsBookieID</code> does not take effect.<br><br>The <code>bookieId</code> is a non-empty string that can contain ASCII digits and letters ([a-zA-Z9-0]), colons, dashe [...]
 <tr><td>allowEphemeralPorts</td><td>Whether the bookie is allowed to use an ephemeral port (port 0) as its server port. By default, an ephemeral port is not allowed. Using an ephemeral port as the service port usually indicates a configuration error. However, in unit tests, using an ephemeral port will address port conflict problems and allow running tests in parallel.</td><td>false</td></tr>
 <tr><td>enableLocalTransport</td><td>Whether the bookie is allowed to listen for the BookKeeper clients executed on the local JVM.</td><td>false</td></tr>
 <tr><td>disableServerSocketBind</td><td>Whether the bookie is allowed to disable bind on network interfaces. This bookie will be available only to BookKeeper clients executed on the local JVM.</td><td>false</td></tr>
diff --git a/content/swagger/2.10.0-SNAPSHOT/swagger.json b/content/swagger/2.10.0-SNAPSHOT/swagger.json
index 726d34f..8bbe692 100644
--- a/content/swagger/2.10.0-SNAPSHOT/swagger.json
+++ b/content/swagger/2.10.0-SNAPSHOT/swagger.json
@@ -21254,12 +21254,12 @@
     "AuthenticationDataSource" : {
       "type" : "object",
       "properties" : {
-        "subscription" : {
-          "type" : "string"
-        },
         "peerAddress" : {
           "$ref" : "#/definitions/SocketAddress"
         },
+        "subscription" : {
+          "type" : "string"
+        },
         "tlsCertificates" : {
           "type" : "array",
           "items" : {
@@ -21319,10 +21319,6 @@
           "type" : "string",
           "enum" : [ "producer_request_hold", "producer_exception", "consumer_backlog_eviction" ]
         },
-        "limit" : {
-          "type" : "integer",
-          "format" : "int64"
-        },
         "limitSize" : {
           "type" : "integer",
           "format" : "int64"
@@ -21330,6 +21326,10 @@
         "limitTime" : {
           "type" : "integer",
           "format" : "int32"
+        },
+        "limit" : {
+          "type" : "integer",
+          "format" : "int64"
         }
       }
     },
@@ -21339,16 +21339,16 @@
         "name" : {
           "type" : "string"
         },
+        "maxLineLength" : {
+          "type" : "integer",
+          "format" : "int32"
+        },
         "paddingChar" : {
           "type" : "string"
         },
         "paddingByte" : {
           "type" : "string",
           "format" : "byte"
-        },
-        "maxLineLength" : {
-          "type" : "integer",
-          "format" : "int32"
         }
       }
     },
@@ -21607,72 +21607,72 @@
     "CompletableFuture" : {
       "type" : "object",
       "properties" : {
-        "done" : {
+        "cancelled" : {
           "type" : "boolean"
         },
-        "numberOfDependents" : {
-          "type" : "integer",
-          "format" : "int32"
-        },
-        "cancelled" : {
+        "done" : {
           "type" : "boolean"
         },
         "completedExceptionally" : {
           "type" : "boolean"
+        },
+        "numberOfDependents" : {
+          "type" : "integer",
+          "format" : "int32"
         }
       }
     },
     "CompletableFutureClusterData" : {
       "type" : "object",
       "properties" : {
-        "done" : {
+        "cancelled" : {
           "type" : "boolean"
         },
-        "numberOfDependents" : {
-          "type" : "integer",
-          "format" : "int32"
-        },
-        "cancelled" : {
+        "done" : {
           "type" : "boolean"
         },
         "completedExceptionally" : {
           "type" : "boolean"
+        },
+        "numberOfDependents" : {
+          "type" : "integer",
+          "format" : "int32"
         }
       }
     },
     "CompletableFuturePartitionedTopicMetadata" : {
       "type" : "object",
       "properties" : {
-        "done" : {
+        "cancelled" : {
           "type" : "boolean"
         },
-        "numberOfDependents" : {
-          "type" : "integer",
-          "format" : "int32"
-        },
-        "cancelled" : {
+        "done" : {
           "type" : "boolean"
         },
         "completedExceptionally" : {
           "type" : "boolean"
+        },
+        "numberOfDependents" : {
+          "type" : "integer",
+          "format" : "int32"
         }
       }
     },
     "CompletableFutureVoid" : {
       "type" : "object",
       "properties" : {
-        "done" : {
+        "cancelled" : {
           "type" : "boolean"
         },
-        "numberOfDependents" : {
-          "type" : "integer",
-          "format" : "int32"
-        },
-        "cancelled" : {
+        "done" : {
           "type" : "boolean"
         },
         "completedExceptionally" : {
           "type" : "boolean"
+        },
+        "numberOfDependents" : {
+          "type" : "integer",
+          "format" : "int32"
         }
       }
     },
@@ -21705,24 +21705,17 @@
         "address" : {
           "type" : "string"
         },
-        "availablePermits" : {
-          "type" : "integer",
-          "format" : "int32"
-        },
         "metadata" : {
           "type" : "object",
           "additionalProperties" : {
             "type" : "string"
           }
         },
-        "chunkedMessageRate" : {
+        "msgRateRedeliver" : {
           "type" : "number",
           "format" : "double"
         },
-        "clientVersion" : {
-          "type" : "string"
-        },
-        "msgRateRedeliver" : {
+        "chunkedMessageRate" : {
           "type" : "number",
           "format" : "double"
         },
@@ -21738,11 +21731,8 @@
           "type" : "integer",
           "format" : "int64"
         },
-        "keyHashRanges" : {
-          "type" : "array",
-          "items" : {
-            "type" : "string"
-          }
+        "clientVersion" : {
+          "type" : "string"
         },
         "avgMessagesPerEntry" : {
           "type" : "integer",
@@ -21754,8 +21744,11 @@
         "readPositionWhenJoining" : {
           "type" : "string"
         },
-        "consumerName" : {
-          "type" : "string"
+        "keyHashRanges" : {
+          "type" : "array",
+          "items" : {
+            "type" : "string"
+          }
         },
         "msgThroughputOut" : {
           "type" : "number",
@@ -21769,6 +21762,13 @@
           "type" : "integer",
           "format" : "int64"
         },
+        "consumerName" : {
+          "type" : "string"
+        },
+        "availablePermits" : {
+          "type" : "integer",
+          "format" : "int32"
+        },
         "connectedSince" : {
           "type" : "string"
         },
@@ -21795,10 +21795,10 @@
           "type" : "integer",
           "format" : "int32"
         },
-        "displayName" : {
+        "symbol" : {
           "type" : "string"
         },
-        "symbol" : {
+        "displayName" : {
           "type" : "string"
         },
         "numericCodeAsString" : {
@@ -21921,15 +21921,15 @@
     "DeserializationConfig" : {
       "type" : "object",
       "properties" : {
-        "nodeFactory" : {
-          "$ref" : "#/definitions/JsonNodeFactory"
-        },
         "annotationIntrospector" : {
           "$ref" : "#/definitions/AnnotationIntrospector"
         },
         "defaultPropertyInclusion" : {
           "$ref" : "#/definitions/Value"
         },
+        "nodeFactory" : {
+          "$ref" : "#/definitions/JsonNodeFactory"
+        },
         "deserializationFeatures" : {
           "type" : "integer",
           "format" : "int32"
@@ -21940,42 +21940,42 @@
         "attributes" : {
           "$ref" : "#/definitions/ContextAttributes"
         },
-        "subtypeResolver" : {
-          "$ref" : "#/definitions/SubtypeResolver"
-        },
-        "defaultVisibilityChecker" : {
-          "$ref" : "#/definitions/VisibilityCheckerObject"
-        },
         "rootName" : {
           "type" : "string"
         },
         "fullRootName" : {
           "$ref" : "#/definitions/PropertyName"
         },
+        "subtypeResolver" : {
+          "$ref" : "#/definitions/SubtypeResolver"
+        },
+        "defaultVisibilityChecker" : {
+          "$ref" : "#/definitions/VisibilityCheckerObject"
+        },
         "locale" : {
           "$ref" : "#/definitions/Locale"
         },
         "timeZone" : {
           "$ref" : "#/definitions/TimeZone"
         },
-        "propertyNamingStrategy" : {
-          "$ref" : "#/definitions/PropertyNamingStrategy"
-        },
-        "dateFormat" : {
-          "$ref" : "#/definitions/DateFormat"
-        },
-        "annotationProcessingEnabled" : {
-          "type" : "boolean"
-        },
         "typeFactory" : {
           "$ref" : "#/definitions/TypeFactory"
         },
         "handlerInstantiator" : {
           "$ref" : "#/definitions/HandlerInstantiator"
         },
+        "propertyNamingStrategy" : {
+          "$ref" : "#/definitions/PropertyNamingStrategy"
+        },
+        "dateFormat" : {
+          "$ref" : "#/definitions/DateFormat"
+        },
         "base64Variant" : {
           "$ref" : "#/definitions/Base64Variant"
         },
+        "annotationProcessingEnabled" : {
+          "type" : "boolean"
+        },
         "classIntrospector" : {
           "$ref" : "#/definitions/ClassIntrospector"
         }
@@ -21996,9 +21996,6 @@
         "config" : {
           "$ref" : "#/definitions/DeserializationConfig"
         },
-        "nodeFactory" : {
-          "$ref" : "#/definitions/JsonNodeFactory"
-        },
         "parser" : {
           "$ref" : "#/definitions/JsonParser"
         },
@@ -22008,6 +22005,9 @@
         "annotationIntrospector" : {
           "$ref" : "#/definitions/AnnotationIntrospector"
         },
+        "nodeFactory" : {
+          "$ref" : "#/definitions/JsonNodeFactory"
+        },
         "contextualType" : {
           "$ref" : "#/definitions/JavaType"
         },
@@ -22394,6 +22394,9 @@
         "codec" : {
           "$ref" : "#/definitions/ObjectCodec"
         },
+        "formatName" : {
+          "type" : "string"
+        },
         "inputDecorator" : {
           "$ref" : "#/definitions/InputDecorator"
         },
@@ -22403,9 +22406,6 @@
         "outputDecorator" : {
           "$ref" : "#/definitions/OutputDecorator"
         },
-        "formatName" : {
-          "type" : "string"
-        },
         "rootValueSeparator" : {
           "type" : "string"
         }
@@ -22414,20 +22414,23 @@
     "JsonGenerator" : {
       "type" : "object",
       "properties" : {
+        "closed" : {
+          "type" : "boolean"
+        },
+        "schema" : {
+          "$ref" : "#/definitions/FormatSchema"
+        },
         "codec" : {
           "$ref" : "#/definitions/ObjectCodec"
         },
         "prettyPrinter" : {
           "$ref" : "#/definitions/PrettyPrinter"
         },
-        "closed" : {
-          "type" : "boolean"
-        },
         "characterEscapes" : {
           "$ref" : "#/definitions/CharacterEscapes"
         },
-        "schema" : {
-          "$ref" : "#/definitions/FormatSchema"
+        "currentValue" : {
+          "type" : "object"
         },
         "featureMask" : {
           "type" : "integer",
@@ -22448,9 +22451,6 @@
           "type" : "integer",
           "format" : "int32"
         },
-        "currentValue" : {
-          "type" : "object"
-        },
         "outputContext" : {
           "$ref" : "#/definitions/JsonStreamContext"
         }
@@ -22490,8 +22490,8 @@
           "type" : "integer",
           "format" : "int32"
         },
-        "codec" : {
-          "$ref" : "#/definitions/ObjectCodec"
+        "closed" : {
+          "type" : "boolean"
         },
         "text" : {
           "type" : "string"
@@ -22502,10 +22502,6 @@
             "type" : "string"
           }
         },
-        "currentToken" : {
-          "type" : "string",
-          "enum" : [ "NOT_AVAILABLE", "START_OBJECT", "END_OBJECT", "START_ARRAY", "END_ARRAY", "FIELD_NAME", "VALUE_EMBEDDED_OBJECT", "VALUE_STRING", "VALUE_NUMBER_INT", "VALUE_NUMBER_FLOAT", "VALUE_TRUE", "VALUE_FALSE", "VALUE_NULL" ]
-        },
         "booleanValue" : {
           "type" : "boolean"
         },
@@ -22529,10 +22525,7 @@
           "type" : "integer",
           "format" : "int32"
         },
-        "closed" : {
-          "type" : "boolean"
-        },
-        "inputSource" : {
+        "objectId" : {
           "type" : "object"
         },
         "intValue" : {
@@ -22542,15 +22535,28 @@
         "typeId" : {
           "type" : "object"
         },
-        "currentName" : {
-          "type" : "string"
-        },
         "schema" : {
           "$ref" : "#/definitions/FormatSchema"
         },
+        "codec" : {
+          "$ref" : "#/definitions/ObjectCodec"
+        },
+        "currentToken" : {
+          "type" : "string",
+          "enum" : [ "NOT_AVAILABLE", "START_OBJECT", "END_OBJECT", "START_ARRAY", "END_ARRAY", "FIELD_NAME", "VALUE_EMBEDDED_OBJECT", "VALUE_STRING", "VALUE_NUMBER_INT", "VALUE_NUMBER_FLOAT", "VALUE_TRUE", "VALUE_FALSE", "VALUE_NULL" ]
+        },
+        "currentName" : {
+          "type" : "string"
+        },
         "tokenLocation" : {
           "$ref" : "#/definitions/JsonLocation"
         },
+        "inputSource" : {
+          "type" : "object"
+        },
+        "currentValue" : {
+          "type" : "object"
+        },
         "featureMask" : {
           "type" : "integer",
           "format" : "int32"
@@ -22559,13 +22565,33 @@
           "type" : "integer",
           "format" : "int32"
         },
-        "currentValue" : {
-          "type" : "object"
+        "currentTokenId" : {
+          "type" : "integer",
+          "format" : "int32"
+        },
+        "parsingContext" : {
+          "$ref" : "#/definitions/JsonStreamContext"
+        },
+        "currentLocation" : {
+          "$ref" : "#/definitions/JsonLocation"
+        },
+        "expectedStartArrayToken" : {
+          "type" : "boolean"
+        },
+        "expectedStartObjectToken" : {
+          "type" : "boolean"
+        },
+        "lastClearedToken" : {
+          "type" : "string",
+          "enum" : [ "NOT_AVAILABLE", "START_OBJECT", "END_OBJECT", "START_ARRAY", "END_ARRAY", "FIELD_NAME", "VALUE_EMBEDDED_OBJECT", "VALUE_STRING", "VALUE_NUMBER_INT", "VALUE_NUMBER_FLOAT", "VALUE_TRUE", "VALUE_FALSE", "VALUE_NULL" ]
         },
         "textOffset" : {
           "type" : "integer",
           "format" : "int32"
         },
+        "numberValue" : {
+          "$ref" : "#/definitions/Number"
+        },
         "numberType" : {
           "type" : "string",
           "enum" : [ "INT", "LONG", "BIG_INTEGER", "FLOAT", "DOUBLE", "BIG_DECIMAL" ]
@@ -22603,32 +22629,6 @@
         },
         "valueAsString" : {
           "type" : "string"
-        },
-        "parsingContext" : {
-          "$ref" : "#/definitions/JsonStreamContext"
-        },
-        "currentLocation" : {
-          "$ref" : "#/definitions/JsonLocation"
-        },
-        "expectedStartArrayToken" : {
-          "type" : "boolean"
-        },
-        "expectedStartObjectToken" : {
-          "type" : "boolean"
-        },
-        "lastClearedToken" : {
-          "type" : "string",
-          "enum" : [ "NOT_AVAILABLE", "START_OBJECT", "END_OBJECT", "START_ARRAY", "END_ARRAY", "FIELD_NAME", "VALUE_EMBEDDED_OBJECT", "VALUE_STRING", "VALUE_NUMBER_INT", "VALUE_NUMBER_FLOAT", "VALUE_TRUE", "VALUE_FALSE", "VALUE_NULL" ]
-        },
-        "numberValue" : {
-          "$ref" : "#/definitions/Number"
-        },
-        "currentTokenId" : {
-          "type" : "integer",
-          "format" : "int32"
-        },
-        "objectId" : {
-          "type" : "object"
         }
       }
     },
@@ -22969,17 +22969,6 @@
         "loadReportType" : {
           "type" : "string"
         },
-        "msgThroughputOut" : {
-          "type" : "number",
-          "format" : "double"
-        },
-        "msgThroughputIn" : {
-          "type" : "number",
-          "format" : "double"
-        },
-        "cpu" : {
-          "$ref" : "#/definitions/ResourceUsage"
-        },
         "directMemory" : {
           "$ref" : "#/definitions/ResourceUsage"
         },
@@ -22987,6 +22976,17 @@
           "type" : "integer",
           "format" : "int64"
         },
+        "msgThroughputIn" : {
+          "type" : "number",
+          "format" : "double"
+        },
+        "msgThroughputOut" : {
+          "type" : "number",
+          "format" : "double"
+        },
+        "cpu" : {
+          "$ref" : "#/definitions/ResourceUsage"
+        },
         "bandwidthIn" : {
           "$ref" : "#/definitions/ResourceUsage"
         },
@@ -23004,6 +23004,9 @@
         "displayName" : {
           "type" : "string"
         },
+        "language" : {
+          "type" : "string"
+        },
         "script" : {
           "type" : "string"
         },
@@ -23051,9 +23054,6 @@
         },
         "displayVariant" : {
           "type" : "string"
-        },
-        "language" : {
-          "type" : "string"
         }
       }
     },
@@ -23261,19 +23261,14 @@
         "address" : {
           "type" : "string"
         },
-        "accessMode" : {
-          "type" : "string",
-          "enum" : [ "Shared", "Exclusive", "WaitForExclusive" ]
-        },
         "metadata" : {
           "type" : "object",
           "additionalProperties" : {
             "type" : "string"
           }
         },
-        "producerId" : {
-          "type" : "integer",
-          "format" : "int64"
+        "supportsPartialProducer" : {
+          "type" : "boolean"
         },
         "chunkedMessageRate" : {
           "type" : "number",
@@ -23282,6 +23277,10 @@
         "clientVersion" : {
           "type" : "string"
         },
+        "producerId" : {
+          "type" : "integer",
+          "format" : "int64"
+        },
         "msgThroughputIn" : {
           "type" : "number",
           "format" : "double"
@@ -23293,12 +23292,13 @@
         "connectedSince" : {
           "type" : "string"
         },
+        "accessMode" : {
+          "type" : "string",
+          "enum" : [ "Shared", "Exclusive", "WaitForExclusive" ]
+        },
         "producerName" : {
           "type" : "string"
         },
-        "supportsPartialProducer" : {
-          "type" : "boolean"
-        },
         "msgRateIn" : {
           "type" : "number",
           "format" : "double"
@@ -23312,10 +23312,6 @@
           "type" : "number",
           "format" : "double"
         },
-        "replicationDelayInSeconds" : {
-          "type" : "integer",
-          "format" : "int64"
-        },
         "connected" : {
           "type" : "boolean"
         },
@@ -23339,14 +23335,18 @@
         "outboundConnectedSince" : {
           "type" : "string"
         },
-        "msgThroughputOut" : {
+        "msgThroughputIn" : {
           "type" : "number",
           "format" : "double"
         },
-        "msgThroughputIn" : {
+        "msgThroughputOut" : {
           "type" : "number",
           "format" : "double"
         },
+        "replicationDelayInSeconds" : {
+          "type" : "integer",
+          "format" : "int64"
+        },
         "msgRateIn" : {
           "type" : "number",
           "format" : "double"
@@ -23367,13 +23367,21 @@
         "type" : {
           "type" : "string"
         },
-        "chunkedMessageRate" : {
+        "consumers" : {
+          "type" : "array",
+          "items" : {
+            "$ref" : "#/definitions/ConsumerStats"
+          }
+        },
+        "backlogSize" : {
           "type" : "integer",
-          "format" : "int32"
+          "format" : "int64"
         },
-        "msgRateExpired" : {
-          "type" : "number",
-          "format" : "double"
+        "consumersAfterMarkDeletePosition" : {
+          "type" : "object",
+          "additionalProperties" : {
+            "type" : "string"
+          }
         },
         "msgBacklog" : {
           "type" : "integer",
@@ -23383,6 +23391,10 @@
           "type" : "number",
           "format" : "double"
         },
+        "chunkedMessageRate" : {
+          "type" : "integer",
+          "format" : "int32"
+        },
         "earliestMsgPublishTimeInBacklog" : {
           "type" : "integer",
           "format" : "int64"
@@ -23405,6 +23417,10 @@
         "activeConsumerName" : {
           "type" : "string"
         },
+        "msgRateExpired" : {
+          "type" : "number",
+          "format" : "double"
+        },
         "totalMsgExpired" : {
           "type" : "integer",
           "format" : "int64"
@@ -23429,24 +23445,6 @@
           "type" : "integer",
           "format" : "int64"
         },
-        "consumersAfterMarkDeletePosition" : {
-          "type" : "object",
-          "additionalProperties" : {
-            "type" : "string"
-          }
-        },
-        "subscriptionProperties" : {
-          "type" : "object",
-          "additionalProperties" : {
-            "type" : "string"
-          }
-        },
-        "allowOutOfOrderDelivery" : {
-          "type" : "boolean"
-        },
-        "keySharedMode" : {
-          "type" : "string"
-        },
         "msgThroughputOut" : {
           "type" : "number",
           "format" : "double"
@@ -23459,17 +23457,17 @@
           "type" : "integer",
           "format" : "int64"
         },
-        "backlogSize" : {
-          "type" : "integer",
-          "format" : "int64"
+        "subscriptionProperties" : {
+          "type" : "object",
+          "additionalProperties" : {
+            "type" : "string"
+          }
         },
-        "nonContiguousDeletedMessagesRanges" : {
-          "type" : "integer",
-          "format" : "int32"
+        "allowOutOfOrderDelivery" : {
+          "type" : "boolean"
         },
-        "nonContiguousDeletedMessagesRangesSerializedSize" : {
-          "type" : "integer",
-          "format" : "int32"
+        "keySharedMode" : {
+          "type" : "string"
         },
         "replicated" : {
           "type" : "boolean"
@@ -23481,11 +23479,13 @@
           "type" : "number",
           "format" : "double"
         },
-        "consumers" : {
-          "type" : "array",
-          "items" : {
-            "$ref" : "#/definitions/ConsumerStats"
-          }
+        "nonContiguousDeletedMessagesRanges" : {
+          "type" : "integer",
+          "format" : "int32"
+        },
+        "nonContiguousDeletedMessagesRangesSerializedSize" : {
+          "type" : "integer",
+          "format" : "int32"
         }
       }
     },
@@ -23496,6 +23496,12 @@
           "type" : "number",
           "format" : "double"
         },
+        "subscriptions" : {
+          "type" : "object",
+          "additionalProperties" : {
+            "$ref" : "#/definitions/NonPersistentSubscriptionStats"
+          }
+        },
         "publishers" : {
           "type" : "array",
           "items" : {
@@ -23508,17 +23514,15 @@
             "$ref" : "#/definitions/NonPersistentReplicatorStats"
           }
         },
-        "subscriptions" : {
-          "type" : "object",
-          "additionalProperties" : {
-            "$ref" : "#/definitions/NonPersistentSubscriptionStats"
-          }
+        "backlogSize" : {
+          "type" : "integer",
+          "format" : "int64"
         },
-        "msgThroughputOut" : {
+        "msgThroughputIn" : {
           "type" : "number",
           "format" : "double"
         },
-        "msgThroughputIn" : {
+        "msgThroughputOut" : {
           "type" : "number",
           "format" : "double"
         },
@@ -23542,15 +23546,26 @@
           "type" : "number",
           "format" : "double"
         },
+        "msgChunkPublished" : {
+          "type" : "boolean"
+        },
+        "msgRateIn" : {
+          "type" : "number",
+          "format" : "double"
+        },
+        "msgRateOut" : {
+          "type" : "number",
+          "format" : "double"
+        },
         "storageSize" : {
           "type" : "integer",
           "format" : "int64"
         },
-        "backlogSize" : {
+        "earliestMsgPublishTimeInBacklogs" : {
           "type" : "integer",
           "format" : "int64"
         },
-        "earliestMsgPublishTimeInBacklogs" : {
+        "offloadedStorageSize" : {
           "type" : "integer",
           "format" : "int64"
         },
@@ -23558,10 +23573,6 @@
           "type" : "integer",
           "format" : "int32"
         },
-        "nonContiguousDeletedMessagesRanges" : {
-          "type" : "integer",
-          "format" : "int32"
-        },
         "deduplicationStatus" : {
           "type" : "string"
         },
@@ -23569,27 +23580,16 @@
           "type" : "integer",
           "format" : "int64"
         },
+        "nonContiguousDeletedMessagesRanges" : {
+          "type" : "integer",
+          "format" : "int32"
+        },
         "nonContiguousDeletedMessagesRangesSerializedSize" : {
           "type" : "integer",
           "format" : "int32"
         },
         "compaction" : {
           "$ref" : "#/definitions/CompactionStats"
-        },
-        "offloadedStorageSize" : {
-          "type" : "integer",
-          "format" : "int64"
-        },
-        "msgChunkPublished" : {
-          "type" : "boolean"
-        },
-        "msgRateIn" : {
-          "type" : "number",
-          "format" : "double"
-        },
-        "msgRateOut" : {
-          "type" : "number",
-          "format" : "double"
         }
       }
     },
@@ -23621,12 +23621,12 @@
           "type" : "integer",
           "format" : "int32"
         },
-        "currency" : {
-          "$ref" : "#/definitions/Currency"
-        },
         "roundingMode" : {
           "type" : "string",
           "enum" : [ "UP", "DOWN", "CEILING", "FLOOR", "HALF_UP", "HALF_DOWN", "HALF_EVEN", "UNNECESSARY" ]
+        },
+        "currency" : {
+          "$ref" : "#/definitions/Currency"
         }
       }
     },
@@ -23647,30 +23647,9 @@
         "factory" : {
           "$ref" : "#/definitions/JsonFactory"
         },
-        "visibilityChecker" : {
-          "$ref" : "#/definitions/VisibilityCheckerObject"
-        },
-        "subtypeResolver" : {
-          "$ref" : "#/definitions/SubtypeResolver"
-        },
-        "propertyNamingStrategy" : {
-          "$ref" : "#/definitions/PropertyNamingStrategy"
-        },
         "typeFactory" : {
           "$ref" : "#/definitions/TypeFactory"
         },
-        "nodeFactory" : {
-          "$ref" : "#/definitions/JsonNodeFactory"
-        },
-        "jsonFactory" : {
-          "$ref" : "#/definitions/JsonFactory"
-        },
-        "dateFormat" : {
-          "$ref" : "#/definitions/DateFormat"
-        },
-        "injectableValues" : {
-          "$ref" : "#/definitions/InjectableValues"
-        },
         "serializationConfig" : {
           "$ref" : "#/definitions/SerializationConfig"
         },
@@ -23688,6 +23667,27 @@
         },
         "serializerProviderInstance" : {
           "$ref" : "#/definitions/SerializerProvider"
+        },
+        "visibilityChecker" : {
+          "$ref" : "#/definitions/VisibilityCheckerObject"
+        },
+        "subtypeResolver" : {
+          "$ref" : "#/definitions/SubtypeResolver"
+        },
+        "propertyNamingStrategy" : {
+          "$ref" : "#/definitions/PropertyNamingStrategy"
+        },
+        "nodeFactory" : {
+          "$ref" : "#/definitions/JsonNodeFactory"
+        },
+        "jsonFactory" : {
+          "$ref" : "#/definitions/JsonFactory"
+        },
+        "dateFormat" : {
+          "$ref" : "#/definitions/DateFormat"
+        },
+        "injectableValues" : {
+          "$ref" : "#/definitions/InjectableValues"
         }
       }
     },
@@ -23702,12 +23702,15 @@
           "type" : "integer",
           "format" : "int64"
         },
-        "managedLedgerOffloadDriver" : {
+        "fileSystemURI" : {
           "type" : "string"
         },
         "offloadersDirectory" : {
           "type" : "string"
         },
+        "managedLedgerOffloadDriver" : {
+          "type" : "string"
+        },
         "managedLedgerOffloadMaxThreads" : {
           "type" : "integer",
           "format" : "int32"
@@ -23716,9 +23719,6 @@
           "type" : "integer",
           "format" : "int32"
         },
-        "fileSystemURI" : {
-          "type" : "string"
-        },
         "managedLedgerOffloadedReadPriority" : {
           "type" : "string",
           "enum" : [ "BOOKKEEPER_FIRST", "TIERED_STORAGE_FIRST" ]
@@ -24503,10 +24503,10 @@
     "PublicKey" : {
       "type" : "object",
       "properties" : {
-        "algorithm" : {
+        "format" : {
           "type" : "string"
         },
-        "format" : {
+        "algorithm" : {
           "type" : "string"
         },
         "encoded" : {
@@ -24537,19 +24537,14 @@
         "address" : {
           "type" : "string"
         },
-        "accessMode" : {
-          "type" : "string",
-          "enum" : [ "Shared", "Exclusive", "WaitForExclusive" ]
-        },
         "metadata" : {
           "type" : "object",
           "additionalProperties" : {
             "type" : "string"
           }
         },
-        "producerId" : {
-          "type" : "integer",
-          "format" : "int64"
+        "supportsPartialProducer" : {
+          "type" : "boolean"
         },
         "chunkedMessageRate" : {
           "type" : "number",
@@ -24558,6 +24553,10 @@
         "clientVersion" : {
           "type" : "string"
         },
+        "producerId" : {
+          "type" : "integer",
+          "format" : "int64"
+        },
         "msgThroughputIn" : {
           "type" : "number",
           "format" : "double"
@@ -24569,12 +24568,13 @@
         "connectedSince" : {
           "type" : "string"
         },
+        "accessMode" : {
+          "type" : "string",
+          "enum" : [ "Shared", "Exclusive", "WaitForExclusive" ]
+        },
         "producerName" : {
           "type" : "string"
         },
-        "supportsPartialProducer" : {
-          "type" : "boolean"
-        },
         "msgRateIn" : {
           "type" : "number",
           "format" : "double"
@@ -24592,10 +24592,6 @@
     "ReplicatorStats" : {
       "type" : "object",
       "properties" : {
-        "replicationDelayInSeconds" : {
-          "type" : "integer",
-          "format" : "int64"
-        },
         "connected" : {
           "type" : "boolean"
         },
@@ -24619,14 +24615,18 @@
         "outboundConnectedSince" : {
           "type" : "string"
         },
-        "msgThroughputOut" : {
+        "msgThroughputIn" : {
           "type" : "number",
           "format" : "double"
         },
-        "msgThroughputIn" : {
+        "msgThroughputOut" : {
           "type" : "number",
           "format" : "double"
         },
+        "replicationDelayInSeconds" : {
+          "type" : "integer",
+          "format" : "int64"
+        },
         "msgRateIn" : {
           "type" : "number",
           "format" : "double"
@@ -24785,9 +24785,6 @@
     "SerializationConfig" : {
       "type" : "object",
       "properties" : {
-        "defaultPrettyPrinter" : {
-          "$ref" : "#/definitions/PrettyPrinter"
-        },
         "annotationIntrospector" : {
           "$ref" : "#/definitions/AnnotationIntrospector"
         },
@@ -24797,6 +24794,9 @@
         "filterProvider" : {
           "$ref" : "#/definitions/FilterProvider"
         },
+        "defaultPrettyPrinter" : {
+          "$ref" : "#/definitions/PrettyPrinter"
+        },
         "serializationInclusion" : {
           "type" : "string",
           "enum" : [ "ALWAYS", "NON_NULL", "NON_ABSENT", "NON_EMPTY", "NON_DEFAULT", "USE_DEFAULTS" ]
@@ -24808,42 +24808,42 @@
         "attributes" : {
           "$ref" : "#/definitions/ContextAttributes"
         },
-        "subtypeResolver" : {
-          "$ref" : "#/definitions/SubtypeResolver"
-        },
-        "defaultVisibilityChecker" : {
-          "$ref" : "#/definitions/VisibilityCheckerObject"
-        },
         "rootName" : {
           "type" : "string"
         },
         "fullRootName" : {
           "$ref" : "#/definitions/PropertyName"
         },
+        "subtypeResolver" : {
+          "$ref" : "#/definitions/SubtypeResolver"
+        },
+        "defaultVisibilityChecker" : {
+          "$ref" : "#/definitions/VisibilityCheckerObject"
+        },
         "locale" : {
           "$ref" : "#/definitions/Locale"
         },
         "timeZone" : {
           "$ref" : "#/definitions/TimeZone"
         },
-        "propertyNamingStrategy" : {
-          "$ref" : "#/definitions/PropertyNamingStrategy"
-        },
-        "dateFormat" : {
-          "$ref" : "#/definitions/DateFormat"
-        },
-        "annotationProcessingEnabled" : {
-          "type" : "boolean"
-        },
         "typeFactory" : {
           "$ref" : "#/definitions/TypeFactory"
         },
         "handlerInstantiator" : {
           "$ref" : "#/definitions/HandlerInstantiator"
         },
+        "propertyNamingStrategy" : {
+          "$ref" : "#/definitions/PropertyNamingStrategy"
+        },
+        "dateFormat" : {
+          "$ref" : "#/definitions/DateFormat"
+        },
         "base64Variant" : {
           "$ref" : "#/definitions/Base64Variant"
         },
+        "annotationProcessingEnabled" : {
+          "type" : "boolean"
+        },
         "classIntrospector" : {
           "$ref" : "#/definitions/ClassIntrospector"
         }
@@ -24861,6 +24861,9 @@
         "timeZone" : {
           "$ref" : "#/definitions/TimeZone"
         },
+        "generator" : {
+          "$ref" : "#/definitions/JsonGenerator"
+        },
         "config" : {
           "$ref" : "#/definitions/SerializationConfig"
         },
@@ -24870,9 +24873,6 @@
         "annotationIntrospector" : {
           "$ref" : "#/definitions/AnnotationIntrospector"
         },
-        "generator" : {
-          "$ref" : "#/definitions/JsonGenerator"
-        },
         "defaultNullValueSerializer" : {
           "$ref" : "#/definitions/JsonSerializerObject"
         },
@@ -24977,13 +24977,21 @@
         "type" : {
           "type" : "string"
         },
-        "chunkedMessageRate" : {
+        "consumers" : {
+          "type" : "array",
+          "items" : {
+            "$ref" : "#/definitions/ConsumerStats"
+          }
+        },
+        "backlogSize" : {
           "type" : "integer",
-          "format" : "int32"
+          "format" : "int64"
         },
-        "msgRateExpired" : {
-          "type" : "number",
-          "format" : "double"
+        "consumersAfterMarkDeletePosition" : {
+          "type" : "object",
+          "additionalProperties" : {
+            "type" : "string"
+          }
         },
         "msgBacklog" : {
           "type" : "integer",
@@ -24993,6 +25001,10 @@
           "type" : "number",
           "format" : "double"
         },
+        "chunkedMessageRate" : {
+          "type" : "integer",
+          "format" : "int32"
+        },
         "earliestMsgPublishTimeInBacklog" : {
           "type" : "integer",
           "format" : "int64"
@@ -25015,6 +25027,10 @@
         "activeConsumerName" : {
           "type" : "string"
         },
+        "msgRateExpired" : {
+          "type" : "number",
+          "format" : "double"
+        },
         "totalMsgExpired" : {
           "type" : "integer",
           "format" : "int64"
@@ -25039,24 +25055,6 @@
           "type" : "integer",
           "format" : "int64"
         },
-        "consumersAfterMarkDeletePosition" : {
-          "type" : "object",
-          "additionalProperties" : {
-            "type" : "string"
-          }
-        },
-        "subscriptionProperties" : {
-          "type" : "object",
-          "additionalProperties" : {
-            "type" : "string"
-          }
-        },
-        "allowOutOfOrderDelivery" : {
-          "type" : "boolean"
-        },
-        "keySharedMode" : {
-          "type" : "string"
-        },
         "msgThroughputOut" : {
           "type" : "number",
           "format" : "double"
@@ -25069,17 +25067,17 @@
           "type" : "integer",
           "format" : "int64"
         },
-        "backlogSize" : {
-          "type" : "integer",
-          "format" : "int64"
+        "subscriptionProperties" : {
+          "type" : "object",
+          "additionalProperties" : {
+            "type" : "string"
+          }
         },
-        "nonContiguousDeletedMessagesRanges" : {
-          "type" : "integer",
-          "format" : "int32"
+        "allowOutOfOrderDelivery" : {
+          "type" : "boolean"
         },
-        "nonContiguousDeletedMessagesRangesSerializedSize" : {
-          "type" : "integer",
-          "format" : "int32"
+        "keySharedMode" : {
+          "type" : "string"
         },
         "replicated" : {
           "type" : "boolean"
@@ -25091,11 +25089,13 @@
           "type" : "number",
           "format" : "double"
         },
-        "consumers" : {
-          "type" : "array",
-          "items" : {
-            "$ref" : "#/definitions/ConsumerStats"
-          }
+        "nonContiguousDeletedMessagesRanges" : {
+          "type" : "integer",
+          "format" : "int32"
+        },
+        "nonContiguousDeletedMessagesRangesSerializedSize" : {
+          "type" : "integer",
+          "format" : "int32"
         }
       }
     },
@@ -25161,9 +25161,6 @@
         "displayName" : {
           "type" : "string"
         },
-        "id" : {
-          "type" : "string"
-        },
         "dstsavings" : {
           "type" : "integer",
           "format" : "int32"
@@ -25171,17 +25168,24 @@
         "rawOffset" : {
           "type" : "integer",
           "format" : "int32"
+        },
+        "id" : {
+          "type" : "string"
         }
       }
     },
     "TopicStats" : {
       "type" : "object",
       "properties" : {
-        "msgThroughputOut" : {
+        "backlogSize" : {
+          "type" : "integer",
+          "format" : "int64"
+        },
+        "msgThroughputIn" : {
           "type" : "number",
           "format" : "double"
         },
-        "msgThroughputIn" : {
+        "msgThroughputOut" : {
           "type" : "number",
           "format" : "double"
         },
@@ -25205,15 +25209,32 @@
           "type" : "number",
           "format" : "double"
         },
+        "msgChunkPublished" : {
+          "type" : "boolean"
+        },
+        "subscriptions" : {
+          "type" : "object",
+          "additionalProperties" : {
+            "$ref" : "#/definitions/SubscriptionStats"
+          }
+        },
+        "msgRateIn" : {
+          "type" : "number",
+          "format" : "double"
+        },
+        "msgRateOut" : {
+          "type" : "number",
+          "format" : "double"
+        },
         "storageSize" : {
           "type" : "integer",
           "format" : "int64"
         },
-        "backlogSize" : {
+        "earliestMsgPublishTimeInBacklogs" : {
           "type" : "integer",
           "format" : "int64"
         },
-        "earliestMsgPublishTimeInBacklogs" : {
+        "offloadedStorageSize" : {
           "type" : "integer",
           "format" : "int64"
         },
@@ -25233,10 +25254,6 @@
             "$ref" : "#/definitions/ReplicatorStats"
           }
         },
-        "nonContiguousDeletedMessagesRanges" : {
-          "type" : "integer",
-          "format" : "int32"
-        },
         "deduplicationStatus" : {
           "type" : "string"
         },
@@ -25244,33 +25261,16 @@
           "type" : "integer",
           "format" : "int64"
         },
+        "nonContiguousDeletedMessagesRanges" : {
+          "type" : "integer",
+          "format" : "int32"
+        },
         "nonContiguousDeletedMessagesRangesSerializedSize" : {
           "type" : "integer",
           "format" : "int32"
         },
         "compaction" : {
           "$ref" : "#/definitions/CompactionStats"
-        },
-        "subscriptions" : {
-          "type" : "object",
-          "additionalProperties" : {
-            "$ref" : "#/definitions/SubscriptionStats"
-          }
-        },
-        "offloadedStorageSize" : {
-          "type" : "integer",
-          "format" : "int64"
-        },
-        "msgChunkPublished" : {
-          "type" : "boolean"
-        },
-        "msgRateIn" : {
-          "type" : "number",
-          "format" : "double"
-        },
-        "msgRateOut" : {
-          "type" : "number",
-          "format" : "double"
         }
       }
     },
diff --git a/content/swagger/2.10.0-SNAPSHOT/swaggerfunctions.json b/content/swagger/2.10.0-SNAPSHOT/swaggerfunctions.json
index ebb5a12..82a3477 100644
--- a/content/swagger/2.10.0-SNAPSHOT/swaggerfunctions.json
+++ b/content/swagger/2.10.0-SNAPSHOT/swaggerfunctions.json
@@ -962,12 +962,12 @@
     "AuthenticationDataSource" : {
       "type" : "object",
       "properties" : {
-        "subscription" : {
-          "type" : "string"
-        },
         "peerAddress" : {
           "$ref" : "#/definitions/SocketAddress"
         },
+        "subscription" : {
+          "type" : "string"
+        },
         "tlsCertificates" : {
           "type" : "array",
           "items" : {
@@ -988,16 +988,16 @@
         "name" : {
           "type" : "string"
         },
+        "maxLineLength" : {
+          "type" : "integer",
+          "format" : "int32"
+        },
         "paddingChar" : {
           "type" : "string"
         },
         "paddingByte" : {
           "type" : "string",
           "format" : "byte"
-        },
-        "maxLineLength" : {
-          "type" : "integer",
-          "format" : "int32"
         }
       }
     },
@@ -1066,54 +1066,54 @@
     "CompletableFuture" : {
       "type" : "object",
       "properties" : {
-        "done" : {
+        "cancelled" : {
           "type" : "boolean"
         },
-        "numberOfDependents" : {
-          "type" : "integer",
-          "format" : "int32"
-        },
-        "cancelled" : {
+        "done" : {
           "type" : "boolean"
         },
         "completedExceptionally" : {
           "type" : "boolean"
+        },
+        "numberOfDependents" : {
+          "type" : "integer",
+          "format" : "int32"
         }
       }
     },
     "CompletableFutureClusterData" : {
       "type" : "object",
       "properties" : {
-        "done" : {
+        "cancelled" : {
           "type" : "boolean"
         },
-        "numberOfDependents" : {
-          "type" : "integer",
-          "format" : "int32"
-        },
-        "cancelled" : {
+        "done" : {
           "type" : "boolean"
         },
         "completedExceptionally" : {
           "type" : "boolean"
+        },
+        "numberOfDependents" : {
+          "type" : "integer",
+          "format" : "int32"
         }
       }
     },
     "CompletableFutureVoid" : {
       "type" : "object",
       "properties" : {
-        "done" : {
+        "cancelled" : {
           "type" : "boolean"
         },
-        "numberOfDependents" : {
-          "type" : "integer",
-          "format" : "int32"
-        },
-        "cancelled" : {
+        "done" : {
           "type" : "boolean"
         },
         "completedExceptionally" : {
           "type" : "boolean"
+        },
+        "numberOfDependents" : {
+          "type" : "integer",
+          "format" : "int32"
         }
       }
     },
@@ -1198,10 +1198,10 @@
           "type" : "integer",
           "format" : "int32"
         },
-        "displayName" : {
+        "symbol" : {
           "type" : "string"
         },
-        "symbol" : {
+        "displayName" : {
           "type" : "string"
         },
         "numericCodeAsString" : {
@@ -1230,15 +1230,15 @@
     "DeserializationConfig" : {
       "type" : "object",
       "properties" : {
-        "nodeFactory" : {
-          "$ref" : "#/definitions/JsonNodeFactory"
-        },
         "annotationIntrospector" : {
           "$ref" : "#/definitions/AnnotationIntrospector"
         },
         "defaultPropertyInclusion" : {
           "$ref" : "#/definitions/Value"
         },
+        "nodeFactory" : {
+          "$ref" : "#/definitions/JsonNodeFactory"
+        },
         "deserializationFeatures" : {
           "type" : "integer",
           "format" : "int32"
@@ -1249,42 +1249,42 @@
         "attributes" : {
           "$ref" : "#/definitions/ContextAttributes"
         },
-        "subtypeResolver" : {
-          "$ref" : "#/definitions/SubtypeResolver"
-        },
-        "defaultVisibilityChecker" : {
-          "$ref" : "#/definitions/VisibilityCheckerObject"
-        },
         "rootName" : {
           "type" : "string"
         },
         "fullRootName" : {
           "$ref" : "#/definitions/PropertyName"
         },
+        "subtypeResolver" : {
+          "$ref" : "#/definitions/SubtypeResolver"
+        },
+        "defaultVisibilityChecker" : {
+          "$ref" : "#/definitions/VisibilityCheckerObject"
+        },
         "locale" : {
           "$ref" : "#/definitions/Locale"
         },
         "timeZone" : {
           "$ref" : "#/definitions/TimeZone"
         },
-        "propertyNamingStrategy" : {
-          "$ref" : "#/definitions/PropertyNamingStrategy"
-        },
-        "dateFormat" : {
-          "$ref" : "#/definitions/DateFormat"
-        },
-        "annotationProcessingEnabled" : {
-          "type" : "boolean"
-        },
         "typeFactory" : {
           "$ref" : "#/definitions/TypeFactory"
         },
         "handlerInstantiator" : {
           "$ref" : "#/definitions/HandlerInstantiator"
         },
+        "propertyNamingStrategy" : {
+          "$ref" : "#/definitions/PropertyNamingStrategy"
+        },
+        "dateFormat" : {
+          "$ref" : "#/definitions/DateFormat"
+        },
         "base64Variant" : {
           "$ref" : "#/definitions/Base64Variant"
         },
+        "annotationProcessingEnabled" : {
+          "type" : "boolean"
+        },
         "classIntrospector" : {
           "$ref" : "#/definitions/ClassIntrospector"
         }
@@ -1305,9 +1305,6 @@
         "config" : {
           "$ref" : "#/definitions/DeserializationConfig"
         },
-        "nodeFactory" : {
-          "$ref" : "#/definitions/JsonNodeFactory"
-        },
         "parser" : {
           "$ref" : "#/definitions/JsonParser"
         },
@@ -1317,6 +1314,9 @@
         "annotationIntrospector" : {
           "$ref" : "#/definitions/AnnotationIntrospector"
         },
+        "nodeFactory" : {
+          "$ref" : "#/definitions/JsonNodeFactory"
+        },
         "contextualType" : {
           "$ref" : "#/definitions/JavaType"
         },
@@ -1967,6 +1967,9 @@
         "codec" : {
           "$ref" : "#/definitions/ObjectCodec"
         },
+        "formatName" : {
+          "type" : "string"
+        },
         "inputDecorator" : {
           "$ref" : "#/definitions/InputDecorator"
         },
@@ -1976,9 +1979,6 @@
         "outputDecorator" : {
           "$ref" : "#/definitions/OutputDecorator"
         },
-        "formatName" : {
-          "type" : "string"
-        },
         "rootValueSeparator" : {
           "type" : "string"
         }
@@ -1987,20 +1987,23 @@
     "JsonGenerator" : {
       "type" : "object",
       "properties" : {
+        "closed" : {
+          "type" : "boolean"
+        },
+        "schema" : {
+          "$ref" : "#/definitions/FormatSchema"
+        },
         "codec" : {
           "$ref" : "#/definitions/ObjectCodec"
         },
         "prettyPrinter" : {
           "$ref" : "#/definitions/PrettyPrinter"
         },
-        "closed" : {
-          "type" : "boolean"
-        },
         "characterEscapes" : {
           "$ref" : "#/definitions/CharacterEscapes"
         },
-        "schema" : {
-          "$ref" : "#/definitions/FormatSchema"
+        "currentValue" : {
+          "type" : "object"
         },
         "featureMask" : {
           "type" : "integer",
@@ -2021,9 +2024,6 @@
           "type" : "integer",
           "format" : "int32"
         },
-        "currentValue" : {
-          "type" : "object"
-        },
         "outputContext" : {
           "$ref" : "#/definitions/JsonStreamContext"
         }
@@ -2063,8 +2063,8 @@
           "type" : "integer",
           "format" : "int32"
         },
-        "codec" : {
-          "$ref" : "#/definitions/ObjectCodec"
+        "closed" : {
+          "type" : "boolean"
         },
         "text" : {
           "type" : "string"
@@ -2075,10 +2075,6 @@
             "type" : "string"
           }
         },
-        "currentToken" : {
-          "type" : "string",
-          "enum" : [ "NOT_AVAILABLE", "START_OBJECT", "END_OBJECT", "START_ARRAY", "END_ARRAY", "FIELD_NAME", "VALUE_EMBEDDED_OBJECT", "VALUE_STRING", "VALUE_NUMBER_INT", "VALUE_NUMBER_FLOAT", "VALUE_TRUE", "VALUE_FALSE", "VALUE_NULL" ]
-        },
         "booleanValue" : {
           "type" : "boolean"
         },
@@ -2102,10 +2098,7 @@
           "type" : "integer",
           "format" : "int32"
         },
-        "closed" : {
-          "type" : "boolean"
-        },
-        "inputSource" : {
+        "objectId" : {
           "type" : "object"
         },
         "intValue" : {
@@ -2115,15 +2108,28 @@
         "typeId" : {
           "type" : "object"
         },
-        "currentName" : {
-          "type" : "string"
-        },
         "schema" : {
           "$ref" : "#/definitions/FormatSchema"
         },
+        "codec" : {
+          "$ref" : "#/definitions/ObjectCodec"
+        },
+        "currentToken" : {
+          "type" : "string",
+          "enum" : [ "NOT_AVAILABLE", "START_OBJECT", "END_OBJECT", "START_ARRAY", "END_ARRAY", "FIELD_NAME", "VALUE_EMBEDDED_OBJECT", "VALUE_STRING", "VALUE_NUMBER_INT", "VALUE_NUMBER_FLOAT", "VALUE_TRUE", "VALUE_FALSE", "VALUE_NULL" ]
+        },
+        "currentName" : {
+          "type" : "string"
+        },
         "tokenLocation" : {
           "$ref" : "#/definitions/JsonLocation"
         },
+        "inputSource" : {
+          "type" : "object"
+        },
+        "currentValue" : {
+          "type" : "object"
+        },
         "featureMask" : {
           "type" : "integer",
           "format" : "int32"
@@ -2132,13 +2138,33 @@
           "type" : "integer",
           "format" : "int32"
         },
-        "currentValue" : {
-          "type" : "object"
+        "currentTokenId" : {
+          "type" : "integer",
+          "format" : "int32"
+        },
+        "parsingContext" : {
+          "$ref" : "#/definitions/JsonStreamContext"
+        },
+        "currentLocation" : {
+          "$ref" : "#/definitions/JsonLocation"
+        },
+        "expectedStartArrayToken" : {
+          "type" : "boolean"
+        },
+        "expectedStartObjectToken" : {
+          "type" : "boolean"
+        },
+        "lastClearedToken" : {
+          "type" : "string",
+          "enum" : [ "NOT_AVAILABLE", "START_OBJECT", "END_OBJECT", "START_ARRAY", "END_ARRAY", "FIELD_NAME", "VALUE_EMBEDDED_OBJECT", "VALUE_STRING", "VALUE_NUMBER_INT", "VALUE_NUMBER_FLOAT", "VALUE_TRUE", "VALUE_FALSE", "VALUE_NULL" ]
         },
         "textOffset" : {
           "type" : "integer",
           "format" : "int32"
         },
+        "numberValue" : {
+          "$ref" : "#/definitions/Number"
+        },
         "numberType" : {
           "type" : "string",
           "enum" : [ "INT", "LONG", "BIG_INTEGER", "FLOAT", "DOUBLE", "BIG_DECIMAL" ]
@@ -2176,32 +2202,6 @@
         },
         "valueAsString" : {
           "type" : "string"
-        },
-        "parsingContext" : {
-          "$ref" : "#/definitions/JsonStreamContext"
-        },
-        "currentLocation" : {
-          "$ref" : "#/definitions/JsonLocation"
-        },
-        "expectedStartArrayToken" : {
-          "type" : "boolean"
-        },
-        "expectedStartObjectToken" : {
-          "type" : "boolean"
-        },
-        "lastClearedToken" : {
-          "type" : "string",
-          "enum" : [ "NOT_AVAILABLE", "START_OBJECT", "END_OBJECT", "START_ARRAY", "END_ARRAY", "FIELD_NAME", "VALUE_EMBEDDED_OBJECT", "VALUE_STRING", "VALUE_NUMBER_INT", "VALUE_NUMBER_FLOAT", "VALUE_TRUE", "VALUE_FALSE", "VALUE_NULL" ]
-        },
-        "numberValue" : {
-          "$ref" : "#/definitions/Number"
-        },
-        "currentTokenId" : {
-          "type" : "integer",
-          "format" : "int32"
-        },
-        "objectId" : {
-          "type" : "object"
         }
       }
     },
@@ -2261,6 +2261,9 @@
         "displayName" : {
           "type" : "string"
         },
+        "language" : {
+          "type" : "string"
+        },
         "script" : {
           "type" : "string"
         },
@@ -2308,9 +2311,6 @@
         },
         "displayVariant" : {
           "type" : "string"
-        },
-        "language" : {
-          "type" : "string"
         }
       }
     },
@@ -2320,6 +2320,13 @@
     "Message" : {
       "type" : "object",
       "properties" : {
+        "keyBytes" : {
+          "type" : "array",
+          "items" : {
+            "type" : "string",
+            "format" : "byte"
+          }
+        },
         "value" : {
           "type" : "object"
         },
@@ -2343,30 +2350,6 @@
             "format" : "byte"
           }
         },
-        "messageId" : {
-          "$ref" : "#/definitions/MessageId"
-        },
-        "keyBytes" : {
-          "type" : "array",
-          "items" : {
-            "type" : "string",
-            "format" : "byte"
-          }
-        },
-        "encryptionCtx" : {
-          "$ref" : "#/definitions/EncryptionContext"
-        },
-        "redeliveryCount" : {
-          "type" : "integer",
-          "format" : "int32"
-        },
-        "readerSchema" : {
-          "$ref" : "#/definitions/SchemaObject"
-        },
-        "brokerPublishTime" : {
-          "type" : "integer",
-          "format" : "int64"
-        },
         "publishTime" : {
           "type" : "integer",
           "format" : "int64"
@@ -2404,6 +2387,23 @@
         },
         "topicName" : {
           "type" : "string"
+        },
+        "messageId" : {
+          "$ref" : "#/definitions/MessageId"
+        },
+        "encryptionCtx" : {
+          "$ref" : "#/definitions/EncryptionContext"
+        },
+        "redeliveryCount" : {
+          "type" : "integer",
+          "format" : "int32"
+        },
+        "readerSchema" : {
+          "$ref" : "#/definitions/SchemaObject"
+        },
+        "brokerPublishTime" : {
+          "type" : "integer",
+          "format" : "int64"
         }
       }
     },
@@ -2491,12 +2491,12 @@
           "type" : "integer",
           "format" : "int32"
         },
-        "currency" : {
-          "$ref" : "#/definitions/Currency"
-        },
         "roundingMode" : {
           "type" : "string",
           "enum" : [ "UP", "DOWN", "CEILING", "FLOOR", "HALF_UP", "HALF_DOWN", "HALF_EVEN", "UNNECESSARY" ]
+        },
+        "currency" : {
+          "$ref" : "#/definitions/Currency"
         }
       }
     },
@@ -2517,30 +2517,9 @@
         "factory" : {
           "$ref" : "#/definitions/JsonFactory"
         },
-        "visibilityChecker" : {
-          "$ref" : "#/definitions/VisibilityCheckerObject"
-        },
-        "subtypeResolver" : {
-          "$ref" : "#/definitions/SubtypeResolver"
-        },
-        "propertyNamingStrategy" : {
-          "$ref" : "#/definitions/PropertyNamingStrategy"
-        },
         "typeFactory" : {
           "$ref" : "#/definitions/TypeFactory"
         },
-        "nodeFactory" : {
-          "$ref" : "#/definitions/JsonNodeFactory"
-        },
-        "jsonFactory" : {
-          "$ref" : "#/definitions/JsonFactory"
-        },
-        "dateFormat" : {
-          "$ref" : "#/definitions/DateFormat"
-        },
-        "injectableValues" : {
-          "$ref" : "#/definitions/InjectableValues"
-        },
         "serializationConfig" : {
           "$ref" : "#/definitions/SerializationConfig"
         },
@@ -2558,6 +2537,27 @@
         },
         "serializerProviderInstance" : {
           "$ref" : "#/definitions/SerializerProvider"
+        },
+        "visibilityChecker" : {
+          "$ref" : "#/definitions/VisibilityCheckerObject"
+        },
+        "subtypeResolver" : {
+          "$ref" : "#/definitions/SubtypeResolver"
+        },
+        "propertyNamingStrategy" : {
+          "$ref" : "#/definitions/PropertyNamingStrategy"
+        },
+        "nodeFactory" : {
+          "$ref" : "#/definitions/JsonNodeFactory"
+        },
+        "jsonFactory" : {
+          "$ref" : "#/definitions/JsonFactory"
+        },
+        "dateFormat" : {
+          "$ref" : "#/definitions/DateFormat"
+        },
+        "injectableValues" : {
+          "$ref" : "#/definitions/InjectableValues"
         }
       }
     },
@@ -2650,10 +2650,10 @@
     "PublicKey" : {
       "type" : "object",
       "properties" : {
-        "algorithm" : {
+        "format" : {
           "type" : "string"
         },
-        "format" : {
+        "algorithm" : {
           "type" : "string"
         },
         "encoded" : {
@@ -2735,9 +2735,6 @@
     "SerializationConfig" : {
       "type" : "object",
       "properties" : {
-        "defaultPrettyPrinter" : {
-          "$ref" : "#/definitions/PrettyPrinter"
-        },
         "annotationIntrospector" : {
           "$ref" : "#/definitions/AnnotationIntrospector"
         },
@@ -2747,6 +2744,9 @@
         "filterProvider" : {
           "$ref" : "#/definitions/FilterProvider"
         },
+        "defaultPrettyPrinter" : {
+          "$ref" : "#/definitions/PrettyPrinter"
+        },
         "serializationInclusion" : {
           "type" : "string",
           "enum" : [ "ALWAYS", "NON_NULL", "NON_ABSENT", "NON_EMPTY", "NON_DEFAULT", "USE_DEFAULTS" ]
@@ -2758,42 +2758,42 @@
         "attributes" : {
           "$ref" : "#/definitions/ContextAttributes"
         },
-        "subtypeResolver" : {
-          "$ref" : "#/definitions/SubtypeResolver"
-        },
-        "defaultVisibilityChecker" : {
-          "$ref" : "#/definitions/VisibilityCheckerObject"
-        },
         "rootName" : {
           "type" : "string"
         },
         "fullRootName" : {
           "$ref" : "#/definitions/PropertyName"
         },
+        "subtypeResolver" : {
+          "$ref" : "#/definitions/SubtypeResolver"
+        },
+        "defaultVisibilityChecker" : {
+          "$ref" : "#/definitions/VisibilityCheckerObject"
+        },
         "locale" : {
           "$ref" : "#/definitions/Locale"
         },
         "timeZone" : {
           "$ref" : "#/definitions/TimeZone"
         },
-        "propertyNamingStrategy" : {
-          "$ref" : "#/definitions/PropertyNamingStrategy"
-        },
-        "dateFormat" : {
-          "$ref" : "#/definitions/DateFormat"
-        },
-        "annotationProcessingEnabled" : {
-          "type" : "boolean"
-        },
         "typeFactory" : {
           "$ref" : "#/definitions/TypeFactory"
         },
         "handlerInstantiator" : {
           "$ref" : "#/definitions/HandlerInstantiator"
         },
+        "propertyNamingStrategy" : {
+          "$ref" : "#/definitions/PropertyNamingStrategy"
+        },
+        "dateFormat" : {
+          "$ref" : "#/definitions/DateFormat"
+        },
         "base64Variant" : {
           "$ref" : "#/definitions/Base64Variant"
         },
+        "annotationProcessingEnabled" : {
+          "type" : "boolean"
+        },
         "classIntrospector" : {
           "$ref" : "#/definitions/ClassIntrospector"
         }
@@ -2811,6 +2811,9 @@
         "timeZone" : {
           "$ref" : "#/definitions/TimeZone"
         },
+        "generator" : {
+          "$ref" : "#/definitions/JsonGenerator"
+        },
         "config" : {
           "$ref" : "#/definitions/SerializationConfig"
         },
@@ -2820,9 +2823,6 @@
         "annotationIntrospector" : {
           "$ref" : "#/definitions/AnnotationIntrospector"
         },
-        "generator" : {
-          "$ref" : "#/definitions/JsonGenerator"
-        },
         "defaultNullValueSerializer" : {
           "$ref" : "#/definitions/JsonSerializerObject"
         },
@@ -2849,9 +2849,6 @@
         "displayName" : {
           "type" : "string"
         },
-        "id" : {
-          "type" : "string"
-        },
         "dstsavings" : {
           "type" : "integer",
           "format" : "int32"
@@ -2859,6 +2856,9 @@
         "rawOffset" : {
           "type" : "integer",
           "format" : "int32"
+        },
+        "id" : {
+          "type" : "string"
         }
       }
     },
diff --git a/content/swagger/2.10.0-SNAPSHOT/swaggerpackages.json b/content/swagger/2.10.0-SNAPSHOT/swaggerpackages.json
index 3a7dc2a..24fbdfa 100644
--- a/content/swagger/2.10.0-SNAPSHOT/swaggerpackages.json
+++ b/content/swagger/2.10.0-SNAPSHOT/swaggerpackages.json
@@ -411,12 +411,12 @@
     "AuthenticationDataSource" : {
       "type" : "object",
       "properties" : {
-        "subscription" : {
-          "type" : "string"
-        },
         "peerAddress" : {
           "$ref" : "#/definitions/SocketAddress"
         },
+        "subscription" : {
+          "type" : "string"
+        },
         "tlsCertificates" : {
           "type" : "array",
           "items" : {
@@ -437,16 +437,16 @@
         "name" : {
           "type" : "string"
         },
+        "maxLineLength" : {
+          "type" : "integer",
+          "format" : "int32"
+        },
         "paddingChar" : {
           "type" : "string"
         },
         "paddingByte" : {
           "type" : "string",
           "format" : "byte"
-        },
-        "maxLineLength" : {
-          "type" : "integer",
-          "format" : "int32"
         }
       }
     },
@@ -515,54 +515,54 @@
     "CompletableFuture" : {
       "type" : "object",
       "properties" : {
-        "done" : {
+        "cancelled" : {
           "type" : "boolean"
         },
-        "numberOfDependents" : {
-          "type" : "integer",
-          "format" : "int32"
-        },
-        "cancelled" : {
+        "done" : {
           "type" : "boolean"
         },
         "completedExceptionally" : {
           "type" : "boolean"
+        },
+        "numberOfDependents" : {
+          "type" : "integer",
+          "format" : "int32"
         }
       }
     },
     "CompletableFutureClusterData" : {
       "type" : "object",
       "properties" : {
-        "done" : {
+        "cancelled" : {
           "type" : "boolean"
         },
-        "numberOfDependents" : {
-          "type" : "integer",
-          "format" : "int32"
-        },
-        "cancelled" : {
+        "done" : {
           "type" : "boolean"
         },
         "completedExceptionally" : {
           "type" : "boolean"
+        },
+        "numberOfDependents" : {
+          "type" : "integer",
+          "format" : "int32"
         }
       }
     },
     "CompletableFutureVoid" : {
       "type" : "object",
       "properties" : {
-        "done" : {
+        "cancelled" : {
           "type" : "boolean"
         },
-        "numberOfDependents" : {
-          "type" : "integer",
-          "format" : "int32"
-        },
-        "cancelled" : {
+        "done" : {
           "type" : "boolean"
         },
         "completedExceptionally" : {
           "type" : "boolean"
+        },
+        "numberOfDependents" : {
+          "type" : "integer",
+          "format" : "int32"
         }
       }
     },
@@ -583,10 +583,10 @@
           "type" : "integer",
           "format" : "int32"
         },
-        "displayName" : {
+        "symbol" : {
           "type" : "string"
         },
-        "symbol" : {
+        "displayName" : {
           "type" : "string"
         },
         "numericCodeAsString" : {
@@ -615,15 +615,15 @@
     "DeserializationConfig" : {
       "type" : "object",
       "properties" : {
-        "nodeFactory" : {
-          "$ref" : "#/definitions/JsonNodeFactory"
-        },
         "annotationIntrospector" : {
           "$ref" : "#/definitions/AnnotationIntrospector"
         },
         "defaultPropertyInclusion" : {
           "$ref" : "#/definitions/Value"
         },
+        "nodeFactory" : {
+          "$ref" : "#/definitions/JsonNodeFactory"
+        },
         "deserializationFeatures" : {
           "type" : "integer",
           "format" : "int32"
@@ -634,42 +634,42 @@
         "attributes" : {
           "$ref" : "#/definitions/ContextAttributes"
         },
-        "subtypeResolver" : {
-          "$ref" : "#/definitions/SubtypeResolver"
-        },
-        "defaultVisibilityChecker" : {
-          "$ref" : "#/definitions/VisibilityCheckerObject"
-        },
         "rootName" : {
           "type" : "string"
         },
         "fullRootName" : {
           "$ref" : "#/definitions/PropertyName"
         },
+        "subtypeResolver" : {
+          "$ref" : "#/definitions/SubtypeResolver"
+        },
+        "defaultVisibilityChecker" : {
+          "$ref" : "#/definitions/VisibilityCheckerObject"
+        },
         "locale" : {
           "$ref" : "#/definitions/Locale"
         },
         "timeZone" : {
           "$ref" : "#/definitions/TimeZone"
         },
-        "propertyNamingStrategy" : {
-          "$ref" : "#/definitions/PropertyNamingStrategy"
-        },
-        "dateFormat" : {
-          "$ref" : "#/definitions/DateFormat"
-        },
-        "annotationProcessingEnabled" : {
-          "type" : "boolean"
-        },
         "typeFactory" : {
           "$ref" : "#/definitions/TypeFactory"
         },
         "handlerInstantiator" : {
           "$ref" : "#/definitions/HandlerInstantiator"
         },
+        "propertyNamingStrategy" : {
+          "$ref" : "#/definitions/PropertyNamingStrategy"
+        },
+        "dateFormat" : {
+          "$ref" : "#/definitions/DateFormat"
+        },
         "base64Variant" : {
           "$ref" : "#/definitions/Base64Variant"
         },
+        "annotationProcessingEnabled" : {
+          "type" : "boolean"
+        },
         "classIntrospector" : {
           "$ref" : "#/definitions/ClassIntrospector"
         }
@@ -690,9 +690,6 @@
         "config" : {
           "$ref" : "#/definitions/DeserializationConfig"
         },
-        "nodeFactory" : {
-          "$ref" : "#/definitions/JsonNodeFactory"
-        },
         "parser" : {
           "$ref" : "#/definitions/JsonParser"
         },
@@ -702,6 +699,9 @@
         "annotationIntrospector" : {
           "$ref" : "#/definitions/AnnotationIntrospector"
         },
+        "nodeFactory" : {
+          "$ref" : "#/definitions/JsonNodeFactory"
+        },
         "contextualType" : {
           "$ref" : "#/definitions/JavaType"
         },
@@ -841,6 +841,9 @@
         "codec" : {
           "$ref" : "#/definitions/ObjectCodec"
         },
+        "formatName" : {
+          "type" : "string"
+        },
         "inputDecorator" : {
           "$ref" : "#/definitions/InputDecorator"
         },
@@ -850,9 +853,6 @@
         "outputDecorator" : {
           "$ref" : "#/definitions/OutputDecorator"
         },
-        "formatName" : {
-          "type" : "string"
-        },
         "rootValueSeparator" : {
           "type" : "string"
         }
@@ -861,20 +861,23 @@
     "JsonGenerator" : {
       "type" : "object",
       "properties" : {
+        "closed" : {
+          "type" : "boolean"
+        },
+        "schema" : {
+          "$ref" : "#/definitions/FormatSchema"
+        },
         "codec" : {
           "$ref" : "#/definitions/ObjectCodec"
         },
         "prettyPrinter" : {
           "$ref" : "#/definitions/PrettyPrinter"
         },
-        "closed" : {
-          "type" : "boolean"
-        },
         "characterEscapes" : {
           "$ref" : "#/definitions/CharacterEscapes"
         },
-        "schema" : {
-          "$ref" : "#/definitions/FormatSchema"
+        "currentValue" : {
+          "type" : "object"
         },
         "featureMask" : {
           "type" : "integer",
@@ -895,9 +898,6 @@
           "type" : "integer",
           "format" : "int32"
         },
-        "currentValue" : {
-          "type" : "object"
-        },
         "outputContext" : {
           "$ref" : "#/definitions/JsonStreamContext"
         }
@@ -937,8 +937,8 @@
           "type" : "integer",
           "format" : "int32"
         },
-        "codec" : {
-          "$ref" : "#/definitions/ObjectCodec"
+        "closed" : {
+          "type" : "boolean"
         },
         "text" : {
           "type" : "string"
@@ -949,10 +949,6 @@
             "type" : "string"
           }
         },
-        "currentToken" : {
-          "type" : "string",
-          "enum" : [ "NOT_AVAILABLE", "START_OBJECT", "END_OBJECT", "START_ARRAY", "END_ARRAY", "FIELD_NAME", "VALUE_EMBEDDED_OBJECT", "VALUE_STRING", "VALUE_NUMBER_INT", "VALUE_NUMBER_FLOAT", "VALUE_TRUE", "VALUE_FALSE", "VALUE_NULL" ]
-        },
         "booleanValue" : {
           "type" : "boolean"
         },
@@ -976,10 +972,7 @@
           "type" : "integer",
           "format" : "int32"
         },
-        "closed" : {
-          "type" : "boolean"
-        },
-        "inputSource" : {
+        "objectId" : {
           "type" : "object"
         },
         "intValue" : {
@@ -989,15 +982,28 @@
         "typeId" : {
           "type" : "object"
         },
-        "currentName" : {
-          "type" : "string"
-        },
         "schema" : {
           "$ref" : "#/definitions/FormatSchema"
         },
+        "codec" : {
+          "$ref" : "#/definitions/ObjectCodec"
+        },
+        "currentToken" : {
+          "type" : "string",
+          "enum" : [ "NOT_AVAILABLE", "START_OBJECT", "END_OBJECT", "START_ARRAY", "END_ARRAY", "FIELD_NAME", "VALUE_EMBEDDED_OBJECT", "VALUE_STRING", "VALUE_NUMBER_INT", "VALUE_NUMBER_FLOAT", "VALUE_TRUE", "VALUE_FALSE", "VALUE_NULL" ]
+        },
+        "currentName" : {
+          "type" : "string"
+        },
         "tokenLocation" : {
           "$ref" : "#/definitions/JsonLocation"
         },
+        "inputSource" : {
+          "type" : "object"
+        },
+        "currentValue" : {
+          "type" : "object"
+        },
         "featureMask" : {
           "type" : "integer",
           "format" : "int32"
@@ -1006,13 +1012,33 @@
           "type" : "integer",
           "format" : "int32"
         },
-        "currentValue" : {
-          "type" : "object"
+        "currentTokenId" : {
+          "type" : "integer",
+          "format" : "int32"
+        },
+        "parsingContext" : {
+          "$ref" : "#/definitions/JsonStreamContext"
+        },
+        "currentLocation" : {
+          "$ref" : "#/definitions/JsonLocation"
+        },
+        "expectedStartArrayToken" : {
+          "type" : "boolean"
+        },
+        "expectedStartObjectToken" : {
+          "type" : "boolean"
+        },
+        "lastClearedToken" : {
+          "type" : "string",
+          "enum" : [ "NOT_AVAILABLE", "START_OBJECT", "END_OBJECT", "START_ARRAY", "END_ARRAY", "FIELD_NAME", "VALUE_EMBEDDED_OBJECT", "VALUE_STRING", "VALUE_NUMBER_INT", "VALUE_NUMBER_FLOAT", "VALUE_TRUE", "VALUE_FALSE", "VALUE_NULL" ]
         },
         "textOffset" : {
           "type" : "integer",
           "format" : "int32"
         },
+        "numberValue" : {
+          "$ref" : "#/definitions/Number"
+        },
         "numberType" : {
           "type" : "string",
           "enum" : [ "INT", "LONG", "BIG_INTEGER", "FLOAT", "DOUBLE", "BIG_DECIMAL" ]
@@ -1050,32 +1076,6 @@
         },
         "valueAsString" : {
           "type" : "string"
-        },
-        "parsingContext" : {
-          "$ref" : "#/definitions/JsonStreamContext"
-        },
-        "currentLocation" : {
-          "$ref" : "#/definitions/JsonLocation"
-        },
-        "expectedStartArrayToken" : {
-          "type" : "boolean"
-        },
-        "expectedStartObjectToken" : {
-          "type" : "boolean"
-        },
-        "lastClearedToken" : {
-          "type" : "string",
-          "enum" : [ "NOT_AVAILABLE", "START_OBJECT", "END_OBJECT", "START_ARRAY", "END_ARRAY", "FIELD_NAME", "VALUE_EMBEDDED_OBJECT", "VALUE_STRING", "VALUE_NUMBER_INT", "VALUE_NUMBER_FLOAT", "VALUE_TRUE", "VALUE_FALSE", "VALUE_NULL" ]
-        },
-        "numberValue" : {
-          "$ref" : "#/definitions/Number"
-        },
-        "currentTokenId" : {
-          "type" : "integer",
-          "format" : "int32"
-        },
-        "objectId" : {
-          "type" : "object"
         }
       }
     },
@@ -1135,6 +1135,9 @@
         "displayName" : {
           "type" : "string"
         },
+        "language" : {
+          "type" : "string"
+        },
         "script" : {
           "type" : "string"
         },
@@ -1182,9 +1185,6 @@
         },
         "displayVariant" : {
           "type" : "string"
-        },
-        "language" : {
-          "type" : "string"
         }
       }
     },
@@ -1272,12 +1272,12 @@
           "type" : "integer",
           "format" : "int32"
         },
-        "currency" : {
-          "$ref" : "#/definitions/Currency"
-        },
         "roundingMode" : {
           "type" : "string",
           "enum" : [ "UP", "DOWN", "CEILING", "FLOOR", "HALF_UP", "HALF_DOWN", "HALF_EVEN", "UNNECESSARY" ]
+        },
+        "currency" : {
+          "$ref" : "#/definitions/Currency"
         }
       }
     },
@@ -1298,30 +1298,9 @@
         "factory" : {
           "$ref" : "#/definitions/JsonFactory"
         },
-        "visibilityChecker" : {
-          "$ref" : "#/definitions/VisibilityCheckerObject"
-        },
-        "subtypeResolver" : {
-          "$ref" : "#/definitions/SubtypeResolver"
-        },
-        "propertyNamingStrategy" : {
-          "$ref" : "#/definitions/PropertyNamingStrategy"
-        },
         "typeFactory" : {
           "$ref" : "#/definitions/TypeFactory"
         },
-        "nodeFactory" : {
-          "$ref" : "#/definitions/JsonNodeFactory"
-        },
-        "jsonFactory" : {
-          "$ref" : "#/definitions/JsonFactory"
-        },
-        "dateFormat" : {
-          "$ref" : "#/definitions/DateFormat"
-        },
-        "injectableValues" : {
-          "$ref" : "#/definitions/InjectableValues"
-        },
         "serializationConfig" : {
           "$ref" : "#/definitions/SerializationConfig"
         },
@@ -1339,6 +1318,27 @@
         },
         "serializerProviderInstance" : {
           "$ref" : "#/definitions/SerializerProvider"
+        },
+        "visibilityChecker" : {
+          "$ref" : "#/definitions/VisibilityCheckerObject"
+        },
+        "subtypeResolver" : {
+          "$ref" : "#/definitions/SubtypeResolver"
+        },
+        "propertyNamingStrategy" : {
+          "$ref" : "#/definitions/PropertyNamingStrategy"
+        },
+        "nodeFactory" : {
+          "$ref" : "#/definitions/JsonNodeFactory"
+        },
+        "jsonFactory" : {
+          "$ref" : "#/definitions/JsonFactory"
+        },
+        "dateFormat" : {
+          "$ref" : "#/definitions/DateFormat"
+        },
+        "injectableValues" : {
+          "$ref" : "#/definitions/InjectableValues"
         }
       }
     },
@@ -1434,10 +1434,10 @@
     "PublicKey" : {
       "type" : "object",
       "properties" : {
-        "algorithm" : {
+        "format" : {
           "type" : "string"
         },
-        "format" : {
+        "algorithm" : {
           "type" : "string"
         },
         "encoded" : {
@@ -1452,9 +1452,6 @@
     "SerializationConfig" : {
       "type" : "object",
       "properties" : {
-        "defaultPrettyPrinter" : {
-          "$ref" : "#/definitions/PrettyPrinter"
-        },
         "annotationIntrospector" : {
           "$ref" : "#/definitions/AnnotationIntrospector"
         },
@@ -1464,6 +1461,9 @@
         "filterProvider" : {
           "$ref" : "#/definitions/FilterProvider"
         },
+        "defaultPrettyPrinter" : {
+          "$ref" : "#/definitions/PrettyPrinter"
+        },
         "serializationInclusion" : {
           "type" : "string",
           "enum" : [ "ALWAYS", "NON_NULL", "NON_ABSENT", "NON_EMPTY", "NON_DEFAULT", "USE_DEFAULTS" ]
@@ -1475,42 +1475,42 @@
         "attributes" : {
           "$ref" : "#/definitions/ContextAttributes"
         },
-        "subtypeResolver" : {
-          "$ref" : "#/definitions/SubtypeResolver"
-        },
-        "defaultVisibilityChecker" : {
-          "$ref" : "#/definitions/VisibilityCheckerObject"
-        },
         "rootName" : {
           "type" : "string"
         },
         "fullRootName" : {
           "$ref" : "#/definitions/PropertyName"
         },
+        "subtypeResolver" : {
+          "$ref" : "#/definitions/SubtypeResolver"
+        },
+        "defaultVisibilityChecker" : {
+          "$ref" : "#/definitions/VisibilityCheckerObject"
+        },
         "locale" : {
           "$ref" : "#/definitions/Locale"
         },
         "timeZone" : {
           "$ref" : "#/definitions/TimeZone"
         },
-        "propertyNamingStrategy" : {
-          "$ref" : "#/definitions/PropertyNamingStrategy"
-        },
-        "dateFormat" : {
-          "$ref" : "#/definitions/DateFormat"
-        },
-        "annotationProcessingEnabled" : {
-          "type" : "boolean"
-        },
         "typeFactory" : {
           "$ref" : "#/definitions/TypeFactory"
         },
         "handlerInstantiator" : {
           "$ref" : "#/definitions/HandlerInstantiator"
         },
+        "propertyNamingStrategy" : {
+          "$ref" : "#/definitions/PropertyNamingStrategy"
+        },
+        "dateFormat" : {
+          "$ref" : "#/definitions/DateFormat"
+        },
         "base64Variant" : {
           "$ref" : "#/definitions/Base64Variant"
         },
+        "annotationProcessingEnabled" : {
+          "type" : "boolean"
+        },
         "classIntrospector" : {
           "$ref" : "#/definitions/ClassIntrospector"
         }
@@ -1528,6 +1528,9 @@
         "timeZone" : {
           "$ref" : "#/definitions/TimeZone"
         },
+        "generator" : {
+          "$ref" : "#/definitions/JsonGenerator"
+        },
         "config" : {
           "$ref" : "#/definitions/SerializationConfig"
         },
@@ -1537,9 +1540,6 @@
         "annotationIntrospector" : {
           "$ref" : "#/definitions/AnnotationIntrospector"
         },
-        "generator" : {
-          "$ref" : "#/definitions/JsonGenerator"
-        },
         "defaultNullValueSerializer" : {
           "$ref" : "#/definitions/JsonSerializerObject"
         },
@@ -1569,9 +1569,6 @@
         "displayName" : {
           "type" : "string"
         },
-        "id" : {
-          "type" : "string"
-        },
         "dstsavings" : {
           "type" : "integer",
           "format" : "int32"
@@ -1579,6 +1576,9 @@
         "rawOffset" : {
           "type" : "integer",
           "format" : "int32"
+        },
+        "id" : {
+          "type" : "string"
         }
       }
     },
diff --git a/content/swagger/2.10.0-SNAPSHOT/swaggersink.json b/content/swagger/2.10.0-SNAPSHOT/swaggersink.json
index ccdf7aa..cb8d6c9 100644
--- a/content/swagger/2.10.0-SNAPSHOT/swaggersink.json
+++ b/content/swagger/2.10.0-SNAPSHOT/swaggersink.json
@@ -801,12 +801,12 @@
     "AuthenticationDataSource" : {
       "type" : "object",
       "properties" : {
-        "subscription" : {
-          "type" : "string"
-        },
         "peerAddress" : {
           "$ref" : "#/definitions/SocketAddress"
         },
+        "subscription" : {
+          "type" : "string"
+        },
         "tlsCertificates" : {
           "type" : "array",
           "items" : {
@@ -827,16 +827,16 @@
         "name" : {
           "type" : "string"
         },
+        "maxLineLength" : {
+          "type" : "integer",
+          "format" : "int32"
+        },
         "paddingChar" : {
           "type" : "string"
         },
         "paddingByte" : {
           "type" : "string",
           "format" : "byte"
-        },
-        "maxLineLength" : {
-          "type" : "integer",
-          "format" : "int32"
         }
       }
     },
@@ -905,54 +905,54 @@
     "CompletableFuture" : {
       "type" : "object",
       "properties" : {
-        "done" : {
+        "cancelled" : {
           "type" : "boolean"
         },
-        "numberOfDependents" : {
-          "type" : "integer",
-          "format" : "int32"
-        },
-        "cancelled" : {
+        "done" : {
           "type" : "boolean"
         },
         "completedExceptionally" : {
           "type" : "boolean"
+        },
+        "numberOfDependents" : {
+          "type" : "integer",
+          "format" : "int32"
         }
       }
     },
     "CompletableFutureClusterData" : {
       "type" : "object",
       "properties" : {
-        "done" : {
+        "cancelled" : {
           "type" : "boolean"
         },
-        "numberOfDependents" : {
-          "type" : "integer",
-          "format" : "int32"
-        },
-        "cancelled" : {
+        "done" : {
           "type" : "boolean"
         },
         "completedExceptionally" : {
           "type" : "boolean"
+        },
+        "numberOfDependents" : {
+          "type" : "integer",
+          "format" : "int32"
         }
       }
     },
     "CompletableFutureVoid" : {
       "type" : "object",
       "properties" : {
-        "done" : {
+        "cancelled" : {
           "type" : "boolean"
         },
-        "numberOfDependents" : {
-          "type" : "integer",
-          "format" : "int32"
-        },
-        "cancelled" : {
+        "done" : {
           "type" : "boolean"
         },
         "completedExceptionally" : {
           "type" : "boolean"
+        },
+        "numberOfDependents" : {
+          "type" : "integer",
+          "format" : "int32"
         }
       }
     },
@@ -1077,10 +1077,10 @@
           "type" : "integer",
           "format" : "int32"
         },
-        "displayName" : {
+        "symbol" : {
           "type" : "string"
         },
-        "symbol" : {
+        "displayName" : {
           "type" : "string"
         },
         "numericCodeAsString" : {
@@ -1109,15 +1109,15 @@
     "DeserializationConfig" : {
       "type" : "object",
       "properties" : {
-        "nodeFactory" : {
-          "$ref" : "#/definitions/JsonNodeFactory"
-        },
         "annotationIntrospector" : {
           "$ref" : "#/definitions/AnnotationIntrospector"
         },
         "defaultPropertyInclusion" : {
           "$ref" : "#/definitions/Value"
         },
+        "nodeFactory" : {
+          "$ref" : "#/definitions/JsonNodeFactory"
+        },
         "deserializationFeatures" : {
           "type" : "integer",
           "format" : "int32"
@@ -1128,42 +1128,42 @@
         "attributes" : {
           "$ref" : "#/definitions/ContextAttributes"
         },
-        "subtypeResolver" : {
-          "$ref" : "#/definitions/SubtypeResolver"
-        },
-        "defaultVisibilityChecker" : {
-          "$ref" : "#/definitions/VisibilityCheckerObject"
-        },
         "rootName" : {
           "type" : "string"
         },
         "fullRootName" : {
           "$ref" : "#/definitions/PropertyName"
         },
+        "subtypeResolver" : {
+          "$ref" : "#/definitions/SubtypeResolver"
+        },
+        "defaultVisibilityChecker" : {
+          "$ref" : "#/definitions/VisibilityCheckerObject"
+        },
         "locale" : {
           "$ref" : "#/definitions/Locale"
         },
         "timeZone" : {
           "$ref" : "#/definitions/TimeZone"
         },
-        "propertyNamingStrategy" : {
-          "$ref" : "#/definitions/PropertyNamingStrategy"
-        },
-        "dateFormat" : {
-          "$ref" : "#/definitions/DateFormat"
-        },
-        "annotationProcessingEnabled" : {
-          "type" : "boolean"
-        },
         "typeFactory" : {
           "$ref" : "#/definitions/TypeFactory"
         },
         "handlerInstantiator" : {
           "$ref" : "#/definitions/HandlerInstantiator"
         },
+        "propertyNamingStrategy" : {
+          "$ref" : "#/definitions/PropertyNamingStrategy"
+        },
+        "dateFormat" : {
+          "$ref" : "#/definitions/DateFormat"
+        },
         "base64Variant" : {
           "$ref" : "#/definitions/Base64Variant"
         },
+        "annotationProcessingEnabled" : {
+          "type" : "boolean"
+        },
         "classIntrospector" : {
           "$ref" : "#/definitions/ClassIntrospector"
         }
@@ -1184,9 +1184,6 @@
         "config" : {
           "$ref" : "#/definitions/DeserializationConfig"
         },
-        "nodeFactory" : {
-          "$ref" : "#/definitions/JsonNodeFactory"
-        },
         "parser" : {
           "$ref" : "#/definitions/JsonParser"
         },
@@ -1196,6 +1193,9 @@
         "annotationIntrospector" : {
           "$ref" : "#/definitions/AnnotationIntrospector"
         },
+        "nodeFactory" : {
+          "$ref" : "#/definitions/JsonNodeFactory"
+        },
         "contextualType" : {
           "$ref" : "#/definitions/JavaType"
         },
@@ -1347,6 +1347,9 @@
         "codec" : {
           "$ref" : "#/definitions/ObjectCodec"
         },
+        "formatName" : {
+          "type" : "string"
+        },
         "inputDecorator" : {
           "$ref" : "#/definitions/InputDecorator"
         },
@@ -1356,9 +1359,6 @@
         "outputDecorator" : {
           "$ref" : "#/definitions/OutputDecorator"
         },
-        "formatName" : {
-          "type" : "string"
-        },
         "rootValueSeparator" : {
           "type" : "string"
         }
@@ -1367,20 +1367,23 @@
     "JsonGenerator" : {
       "type" : "object",
       "properties" : {
+        "closed" : {
+          "type" : "boolean"
+        },
+        "schema" : {
+          "$ref" : "#/definitions/FormatSchema"
+        },
         "codec" : {
           "$ref" : "#/definitions/ObjectCodec"
         },
         "prettyPrinter" : {
           "$ref" : "#/definitions/PrettyPrinter"
         },
-        "closed" : {
-          "type" : "boolean"
-        },
         "characterEscapes" : {
           "$ref" : "#/definitions/CharacterEscapes"
         },
-        "schema" : {
-          "$ref" : "#/definitions/FormatSchema"
+        "currentValue" : {
+          "type" : "object"
         },
         "featureMask" : {
           "type" : "integer",
@@ -1401,9 +1404,6 @@
           "type" : "integer",
           "format" : "int32"
         },
-        "currentValue" : {
-          "type" : "object"
-        },
         "outputContext" : {
           "$ref" : "#/definitions/JsonStreamContext"
         }
@@ -1443,8 +1443,8 @@
           "type" : "integer",
           "format" : "int32"
         },
-        "codec" : {
-          "$ref" : "#/definitions/ObjectCodec"
+        "closed" : {
+          "type" : "boolean"
         },
         "text" : {
           "type" : "string"
@@ -1455,10 +1455,6 @@
             "type" : "string"
           }
         },
-        "currentToken" : {
-          "type" : "string",
-          "enum" : [ "NOT_AVAILABLE", "START_OBJECT", "END_OBJECT", "START_ARRAY", "END_ARRAY", "FIELD_NAME", "VALUE_EMBEDDED_OBJECT", "VALUE_STRING", "VALUE_NUMBER_INT", "VALUE_NUMBER_FLOAT", "VALUE_TRUE", "VALUE_FALSE", "VALUE_NULL" ]
-        },
         "booleanValue" : {
           "type" : "boolean"
         },
@@ -1482,10 +1478,7 @@
           "type" : "integer",
           "format" : "int32"
         },
-        "closed" : {
-          "type" : "boolean"
-        },
-        "inputSource" : {
+        "objectId" : {
           "type" : "object"
         },
         "intValue" : {
@@ -1495,15 +1488,28 @@
         "typeId" : {
           "type" : "object"
         },
-        "currentName" : {
-          "type" : "string"
-        },
         "schema" : {
           "$ref" : "#/definitions/FormatSchema"
         },
+        "codec" : {
+          "$ref" : "#/definitions/ObjectCodec"
+        },
+        "currentToken" : {
+          "type" : "string",
+          "enum" : [ "NOT_AVAILABLE", "START_OBJECT", "END_OBJECT", "START_ARRAY", "END_ARRAY", "FIELD_NAME", "VALUE_EMBEDDED_OBJECT", "VALUE_STRING", "VALUE_NUMBER_INT", "VALUE_NUMBER_FLOAT", "VALUE_TRUE", "VALUE_FALSE", "VALUE_NULL" ]
+        },
+        "currentName" : {
+          "type" : "string"
+        },
         "tokenLocation" : {
           "$ref" : "#/definitions/JsonLocation"
         },
+        "inputSource" : {
+          "type" : "object"
+        },
+        "currentValue" : {
+          "type" : "object"
+        },
         "featureMask" : {
           "type" : "integer",
           "format" : "int32"
@@ -1512,13 +1518,33 @@
           "type" : "integer",
           "format" : "int32"
         },
-        "currentValue" : {
-          "type" : "object"
+        "currentTokenId" : {
+          "type" : "integer",
+          "format" : "int32"
+        },
+        "parsingContext" : {
+          "$ref" : "#/definitions/JsonStreamContext"
+        },
+        "currentLocation" : {
+          "$ref" : "#/definitions/JsonLocation"
+        },
+        "expectedStartArrayToken" : {
+          "type" : "boolean"
+        },
+        "expectedStartObjectToken" : {
+          "type" : "boolean"
+        },
+        "lastClearedToken" : {
+          "type" : "string",
+          "enum" : [ "NOT_AVAILABLE", "START_OBJECT", "END_OBJECT", "START_ARRAY", "END_ARRAY", "FIELD_NAME", "VALUE_EMBEDDED_OBJECT", "VALUE_STRING", "VALUE_NUMBER_INT", "VALUE_NUMBER_FLOAT", "VALUE_TRUE", "VALUE_FALSE", "VALUE_NULL" ]
         },
         "textOffset" : {
           "type" : "integer",
           "format" : "int32"
         },
+        "numberValue" : {
+          "$ref" : "#/definitions/Number"
+        },
         "numberType" : {
           "type" : "string",
           "enum" : [ "INT", "LONG", "BIG_INTEGER", "FLOAT", "DOUBLE", "BIG_DECIMAL" ]
@@ -1556,32 +1582,6 @@
         },
         "valueAsString" : {
           "type" : "string"
-        },
-        "parsingContext" : {
-          "$ref" : "#/definitions/JsonStreamContext"
-        },
-        "currentLocation" : {
-          "$ref" : "#/definitions/JsonLocation"
-        },
-        "expectedStartArrayToken" : {
-          "type" : "boolean"
-        },
-        "expectedStartObjectToken" : {
-          "type" : "boolean"
-        },
-        "lastClearedToken" : {
-          "type" : "string",
-          "enum" : [ "NOT_AVAILABLE", "START_OBJECT", "END_OBJECT", "START_ARRAY", "END_ARRAY", "FIELD_NAME", "VALUE_EMBEDDED_OBJECT", "VALUE_STRING", "VALUE_NUMBER_INT", "VALUE_NUMBER_FLOAT", "VALUE_TRUE", "VALUE_FALSE", "VALUE_NULL" ]
-        },
-        "numberValue" : {
-          "$ref" : "#/definitions/Number"
-        },
-        "currentTokenId" : {
-          "type" : "integer",
-          "format" : "int32"
-        },
-        "objectId" : {
-          "type" : "object"
         }
       }
     },
@@ -1641,6 +1641,9 @@
         "displayName" : {
           "type" : "string"
         },
+        "language" : {
+          "type" : "string"
+        },
         "script" : {
           "type" : "string"
         },
@@ -1688,9 +1691,6 @@
         },
         "displayVariant" : {
           "type" : "string"
-        },
-        "language" : {
-          "type" : "string"
         }
       }
     },
@@ -1778,12 +1778,12 @@
           "type" : "integer",
           "format" : "int32"
         },
-        "currency" : {
-          "$ref" : "#/definitions/Currency"
-        },
         "roundingMode" : {
           "type" : "string",
           "enum" : [ "UP", "DOWN", "CEILING", "FLOOR", "HALF_UP", "HALF_DOWN", "HALF_EVEN", "UNNECESSARY" ]
+        },
+        "currency" : {
+          "$ref" : "#/definitions/Currency"
         }
       }
     },
@@ -1804,30 +1804,9 @@
         "factory" : {
           "$ref" : "#/definitions/JsonFactory"
         },
-        "visibilityChecker" : {
-          "$ref" : "#/definitions/VisibilityCheckerObject"
-        },
-        "subtypeResolver" : {
-          "$ref" : "#/definitions/SubtypeResolver"
-        },
-        "propertyNamingStrategy" : {
-          "$ref" : "#/definitions/PropertyNamingStrategy"
-        },
         "typeFactory" : {
           "$ref" : "#/definitions/TypeFactory"
         },
-        "nodeFactory" : {
-          "$ref" : "#/definitions/JsonNodeFactory"
-        },
-        "jsonFactory" : {
-          "$ref" : "#/definitions/JsonFactory"
-        },
-        "dateFormat" : {
-          "$ref" : "#/definitions/DateFormat"
-        },
-        "injectableValues" : {
-          "$ref" : "#/definitions/InjectableValues"
-        },
         "serializationConfig" : {
           "$ref" : "#/definitions/SerializationConfig"
         },
@@ -1845,6 +1824,27 @@
         },
         "serializerProviderInstance" : {
           "$ref" : "#/definitions/SerializerProvider"
+        },
+        "visibilityChecker" : {
+          "$ref" : "#/definitions/VisibilityCheckerObject"
+        },
+        "subtypeResolver" : {
+          "$ref" : "#/definitions/SubtypeResolver"
+        },
+        "propertyNamingStrategy" : {
+          "$ref" : "#/definitions/PropertyNamingStrategy"
+        },
+        "nodeFactory" : {
+          "$ref" : "#/definitions/JsonNodeFactory"
+        },
+        "jsonFactory" : {
+          "$ref" : "#/definitions/JsonFactory"
+        },
+        "dateFormat" : {
+          "$ref" : "#/definitions/DateFormat"
+        },
+        "injectableValues" : {
+          "$ref" : "#/definitions/InjectableValues"
         }
       }
     },
@@ -1915,10 +1915,10 @@
     "PublicKey" : {
       "type" : "object",
       "properties" : {
-        "algorithm" : {
+        "format" : {
           "type" : "string"
         },
-        "format" : {
+        "algorithm" : {
           "type" : "string"
         },
         "encoded" : {
@@ -1950,9 +1950,6 @@
     "SerializationConfig" : {
       "type" : "object",
       "properties" : {
-        "defaultPrettyPrinter" : {
-          "$ref" : "#/definitions/PrettyPrinter"
-        },
         "annotationIntrospector" : {
           "$ref" : "#/definitions/AnnotationIntrospector"
         },
@@ -1962,6 +1959,9 @@
         "filterProvider" : {
           "$ref" : "#/definitions/FilterProvider"
         },
+        "defaultPrettyPrinter" : {
+          "$ref" : "#/definitions/PrettyPrinter"
+        },
         "serializationInclusion" : {
           "type" : "string",
           "enum" : [ "ALWAYS", "NON_NULL", "NON_ABSENT", "NON_EMPTY", "NON_DEFAULT", "USE_DEFAULTS" ]
@@ -1973,42 +1973,42 @@
         "attributes" : {
           "$ref" : "#/definitions/ContextAttributes"
         },
-        "subtypeResolver" : {
-          "$ref" : "#/definitions/SubtypeResolver"
-        },
-        "defaultVisibilityChecker" : {
-          "$ref" : "#/definitions/VisibilityCheckerObject"
-        },
         "rootName" : {
           "type" : "string"
         },
         "fullRootName" : {
           "$ref" : "#/definitions/PropertyName"
         },
+        "subtypeResolver" : {
+          "$ref" : "#/definitions/SubtypeResolver"
+        },
+        "defaultVisibilityChecker" : {
+          "$ref" : "#/definitions/VisibilityCheckerObject"
+        },
         "locale" : {
           "$ref" : "#/definitions/Locale"
         },
         "timeZone" : {
           "$ref" : "#/definitions/TimeZone"
         },
-        "propertyNamingStrategy" : {
-          "$ref" : "#/definitions/PropertyNamingStrategy"
-        },
-        "dateFormat" : {
-          "$ref" : "#/definitions/DateFormat"
-        },
-        "annotationProcessingEnabled" : {
-          "type" : "boolean"
-        },
         "typeFactory" : {
           "$ref" : "#/definitions/TypeFactory"
         },
         "handlerInstantiator" : {
           "$ref" : "#/definitions/HandlerInstantiator"
         },
+        "propertyNamingStrategy" : {
+          "$ref" : "#/definitions/PropertyNamingStrategy"
+        },
+        "dateFormat" : {
+          "$ref" : "#/definitions/DateFormat"
+        },
         "base64Variant" : {
           "$ref" : "#/definitions/Base64Variant"
         },
+        "annotationProcessingEnabled" : {
+          "type" : "boolean"
+        },
         "classIntrospector" : {
           "$ref" : "#/definitions/ClassIntrospector"
         }
@@ -2026,6 +2026,9 @@
         "timeZone" : {
           "$ref" : "#/definitions/TimeZone"
         },
+        "generator" : {
+          "$ref" : "#/definitions/JsonGenerator"
+        },
         "config" : {
           "$ref" : "#/definitions/SerializationConfig"
         },
@@ -2035,9 +2038,6 @@
         "annotationIntrospector" : {
           "$ref" : "#/definitions/AnnotationIntrospector"
         },
-        "generator" : {
-          "$ref" : "#/definitions/JsonGenerator"
-        },
         "defaultNullValueSerializer" : {
           "$ref" : "#/definitions/JsonSerializerObject"
         },
@@ -2261,9 +2261,6 @@
         "displayName" : {
           "type" : "string"
         },
-        "id" : {
-          "type" : "string"
-        },
         "dstsavings" : {
           "type" : "integer",
           "format" : "int32"
@@ -2271,6 +2268,9 @@
         "rawOffset" : {
           "type" : "integer",
           "format" : "int32"
+        },
+        "id" : {
+          "type" : "string"
         }
       }
     },
diff --git a/content/swagger/2.10.0-SNAPSHOT/swaggersource.json b/content/swagger/2.10.0-SNAPSHOT/swaggersource.json
index 128dbc7..30568a3 100644
--- a/content/swagger/2.10.0-SNAPSHOT/swaggersource.json
+++ b/content/swagger/2.10.0-SNAPSHOT/swaggersource.json
@@ -804,12 +804,12 @@
     "AuthenticationDataSource" : {
       "type" : "object",
       "properties" : {
-        "subscription" : {
-          "type" : "string"
-        },
         "peerAddress" : {
           "$ref" : "#/definitions/SocketAddress"
         },
+        "subscription" : {
+          "type" : "string"
+        },
         "tlsCertificates" : {
           "type" : "array",
           "items" : {
@@ -830,16 +830,16 @@
         "name" : {
           "type" : "string"
         },
+        "maxLineLength" : {
+          "type" : "integer",
+          "format" : "int32"
+        },
         "paddingChar" : {
           "type" : "string"
         },
         "paddingByte" : {
           "type" : "string",
           "format" : "byte"
-        },
-        "maxLineLength" : {
-          "type" : "integer",
-          "format" : "int32"
         }
       }
     },
@@ -922,54 +922,54 @@
     "CompletableFuture" : {
       "type" : "object",
       "properties" : {
-        "done" : {
+        "cancelled" : {
           "type" : "boolean"
         },
-        "numberOfDependents" : {
-          "type" : "integer",
-          "format" : "int32"
-        },
-        "cancelled" : {
+        "done" : {
           "type" : "boolean"
         },
         "completedExceptionally" : {
           "type" : "boolean"
+        },
+        "numberOfDependents" : {
+          "type" : "integer",
+          "format" : "int32"
         }
       }
     },
     "CompletableFutureClusterData" : {
       "type" : "object",
       "properties" : {
-        "done" : {
+        "cancelled" : {
           "type" : "boolean"
         },
-        "numberOfDependents" : {
-          "type" : "integer",
-          "format" : "int32"
-        },
-        "cancelled" : {
+        "done" : {
           "type" : "boolean"
         },
         "completedExceptionally" : {
           "type" : "boolean"
+        },
+        "numberOfDependents" : {
+          "type" : "integer",
+          "format" : "int32"
         }
       }
     },
     "CompletableFutureVoid" : {
       "type" : "object",
       "properties" : {
-        "done" : {
+        "cancelled" : {
           "type" : "boolean"
         },
-        "numberOfDependents" : {
-          "type" : "integer",
-          "format" : "int32"
-        },
-        "cancelled" : {
+        "done" : {
           "type" : "boolean"
         },
         "completedExceptionally" : {
           "type" : "boolean"
+        },
+        "numberOfDependents" : {
+          "type" : "integer",
+          "format" : "int32"
         }
       }
     },
@@ -1058,10 +1058,10 @@
           "type" : "integer",
           "format" : "int32"
         },
-        "displayName" : {
+        "symbol" : {
           "type" : "string"
         },
-        "symbol" : {
+        "displayName" : {
           "type" : "string"
         },
         "numericCodeAsString" : {
@@ -1090,15 +1090,15 @@
     "DeserializationConfig" : {
       "type" : "object",
       "properties" : {
-        "nodeFactory" : {
-          "$ref" : "#/definitions/JsonNodeFactory"
-        },
         "annotationIntrospector" : {
           "$ref" : "#/definitions/AnnotationIntrospector"
         },
         "defaultPropertyInclusion" : {
           "$ref" : "#/definitions/Value"
         },
+        "nodeFactory" : {
+          "$ref" : "#/definitions/JsonNodeFactory"
+        },
         "deserializationFeatures" : {
           "type" : "integer",
           "format" : "int32"
@@ -1109,42 +1109,42 @@
         "attributes" : {
           "$ref" : "#/definitions/ContextAttributes"
         },
-        "subtypeResolver" : {
-          "$ref" : "#/definitions/SubtypeResolver"
-        },
-        "defaultVisibilityChecker" : {
-          "$ref" : "#/definitions/VisibilityCheckerObject"
-        },
         "rootName" : {
           "type" : "string"
         },
         "fullRootName" : {
           "$ref" : "#/definitions/PropertyName"
         },
+        "subtypeResolver" : {
+          "$ref" : "#/definitions/SubtypeResolver"
+        },
+        "defaultVisibilityChecker" : {
+          "$ref" : "#/definitions/VisibilityCheckerObject"
+        },
         "locale" : {
           "$ref" : "#/definitions/Locale"
         },
         "timeZone" : {
           "$ref" : "#/definitions/TimeZone"
         },
-        "propertyNamingStrategy" : {
-          "$ref" : "#/definitions/PropertyNamingStrategy"
-        },
-        "dateFormat" : {
-          "$ref" : "#/definitions/DateFormat"
-        },
-        "annotationProcessingEnabled" : {
-          "type" : "boolean"
-        },
         "typeFactory" : {
           "$ref" : "#/definitions/TypeFactory"
         },
         "handlerInstantiator" : {
           "$ref" : "#/definitions/HandlerInstantiator"
         },
+        "propertyNamingStrategy" : {
+          "$ref" : "#/definitions/PropertyNamingStrategy"
+        },
+        "dateFormat" : {
+          "$ref" : "#/definitions/DateFormat"
+        },
         "base64Variant" : {
           "$ref" : "#/definitions/Base64Variant"
         },
+        "annotationProcessingEnabled" : {
+          "type" : "boolean"
+        },
         "classIntrospector" : {
           "$ref" : "#/definitions/ClassIntrospector"
         }
@@ -1165,9 +1165,6 @@
         "config" : {
           "$ref" : "#/definitions/DeserializationConfig"
         },
-        "nodeFactory" : {
-          "$ref" : "#/definitions/JsonNodeFactory"
-        },
         "parser" : {
           "$ref" : "#/definitions/JsonParser"
         },
@@ -1177,6 +1174,9 @@
         "annotationIntrospector" : {
           "$ref" : "#/definitions/AnnotationIntrospector"
         },
+        "nodeFactory" : {
+          "$ref" : "#/definitions/JsonNodeFactory"
+        },
         "contextualType" : {
           "$ref" : "#/definitions/JavaType"
         },
@@ -1328,6 +1328,9 @@
         "codec" : {
           "$ref" : "#/definitions/ObjectCodec"
         },
+        "formatName" : {
+          "type" : "string"
+        },
         "inputDecorator" : {
           "$ref" : "#/definitions/InputDecorator"
         },
@@ -1337,9 +1340,6 @@
         "outputDecorator" : {
           "$ref" : "#/definitions/OutputDecorator"
         },
-        "formatName" : {
-          "type" : "string"
-        },
         "rootValueSeparator" : {
           "type" : "string"
         }
@@ -1348,20 +1348,23 @@
     "JsonGenerator" : {
       "type" : "object",
       "properties" : {
+        "closed" : {
+          "type" : "boolean"
+        },
+        "schema" : {
+          "$ref" : "#/definitions/FormatSchema"
+        },
         "codec" : {
           "$ref" : "#/definitions/ObjectCodec"
         },
         "prettyPrinter" : {
           "$ref" : "#/definitions/PrettyPrinter"
         },
-        "closed" : {
-          "type" : "boolean"
-        },
         "characterEscapes" : {
           "$ref" : "#/definitions/CharacterEscapes"
         },
-        "schema" : {
-          "$ref" : "#/definitions/FormatSchema"
+        "currentValue" : {
+          "type" : "object"
         },
         "featureMask" : {
           "type" : "integer",
@@ -1382,9 +1385,6 @@
           "type" : "integer",
           "format" : "int32"
         },
-        "currentValue" : {
-          "type" : "object"
-        },
         "outputContext" : {
           "$ref" : "#/definitions/JsonStreamContext"
         }
@@ -1424,8 +1424,8 @@
           "type" : "integer",
           "format" : "int32"
         },
-        "codec" : {
-          "$ref" : "#/definitions/ObjectCodec"
+        "closed" : {
+          "type" : "boolean"
         },
         "text" : {
           "type" : "string"
@@ -1436,10 +1436,6 @@
             "type" : "string"
           }
         },
-        "currentToken" : {
-          "type" : "string",
-          "enum" : [ "NOT_AVAILABLE", "START_OBJECT", "END_OBJECT", "START_ARRAY", "END_ARRAY", "FIELD_NAME", "VALUE_EMBEDDED_OBJECT", "VALUE_STRING", "VALUE_NUMBER_INT", "VALUE_NUMBER_FLOAT", "VALUE_TRUE", "VALUE_FALSE", "VALUE_NULL" ]
-        },
         "booleanValue" : {
           "type" : "boolean"
         },
@@ -1463,10 +1459,7 @@
           "type" : "integer",
           "format" : "int32"
         },
-        "closed" : {
-          "type" : "boolean"
-        },
-        "inputSource" : {
+        "objectId" : {
           "type" : "object"
         },
         "intValue" : {
@@ -1476,15 +1469,28 @@
         "typeId" : {
           "type" : "object"
         },
-        "currentName" : {
-          "type" : "string"
-        },
         "schema" : {
           "$ref" : "#/definitions/FormatSchema"
         },
+        "codec" : {
+          "$ref" : "#/definitions/ObjectCodec"
+        },
+        "currentToken" : {
+          "type" : "string",
+          "enum" : [ "NOT_AVAILABLE", "START_OBJECT", "END_OBJECT", "START_ARRAY", "END_ARRAY", "FIELD_NAME", "VALUE_EMBEDDED_OBJECT", "VALUE_STRING", "VALUE_NUMBER_INT", "VALUE_NUMBER_FLOAT", "VALUE_TRUE", "VALUE_FALSE", "VALUE_NULL" ]
+        },
+        "currentName" : {
+          "type" : "string"
+        },
         "tokenLocation" : {
           "$ref" : "#/definitions/JsonLocation"
         },
+        "inputSource" : {
+          "type" : "object"
+        },
+        "currentValue" : {
+          "type" : "object"
+        },
         "featureMask" : {
           "type" : "integer",
           "format" : "int32"
@@ -1493,13 +1499,33 @@
           "type" : "integer",
           "format" : "int32"
         },
-        "currentValue" : {
-          "type" : "object"
+        "currentTokenId" : {
+          "type" : "integer",
+          "format" : "int32"
+        },
+        "parsingContext" : {
+          "$ref" : "#/definitions/JsonStreamContext"
+        },
+        "currentLocation" : {
+          "$ref" : "#/definitions/JsonLocation"
+        },
+        "expectedStartArrayToken" : {
+          "type" : "boolean"
+        },
+        "expectedStartObjectToken" : {
+          "type" : "boolean"
+        },
+        "lastClearedToken" : {
+          "type" : "string",
+          "enum" : [ "NOT_AVAILABLE", "START_OBJECT", "END_OBJECT", "START_ARRAY", "END_ARRAY", "FIELD_NAME", "VALUE_EMBEDDED_OBJECT", "VALUE_STRING", "VALUE_NUMBER_INT", "VALUE_NUMBER_FLOAT", "VALUE_TRUE", "VALUE_FALSE", "VALUE_NULL" ]
         },
         "textOffset" : {
           "type" : "integer",
           "format" : "int32"
         },
+        "numberValue" : {
+          "$ref" : "#/definitions/Number"
+        },
         "numberType" : {
           "type" : "string",
           "enum" : [ "INT", "LONG", "BIG_INTEGER", "FLOAT", "DOUBLE", "BIG_DECIMAL" ]
@@ -1537,32 +1563,6 @@
         },
         "valueAsString" : {
           "type" : "string"
-        },
-        "parsingContext" : {
-          "$ref" : "#/definitions/JsonStreamContext"
-        },
-        "currentLocation" : {
-          "$ref" : "#/definitions/JsonLocation"
-        },
-        "expectedStartArrayToken" : {
-          "type" : "boolean"
-        },
-        "expectedStartObjectToken" : {
-          "type" : "boolean"
-        },
-        "lastClearedToken" : {
-          "type" : "string",
-          "enum" : [ "NOT_AVAILABLE", "START_OBJECT", "END_OBJECT", "START_ARRAY", "END_ARRAY", "FIELD_NAME", "VALUE_EMBEDDED_OBJECT", "VALUE_STRING", "VALUE_NUMBER_INT", "VALUE_NUMBER_FLOAT", "VALUE_TRUE", "VALUE_FALSE", "VALUE_NULL" ]
-        },
-        "numberValue" : {
-          "$ref" : "#/definitions/Number"
-        },
-        "currentTokenId" : {
-          "type" : "integer",
-          "format" : "int32"
-        },
-        "objectId" : {
-          "type" : "object"
         }
       }
     },
@@ -1622,6 +1622,9 @@
         "displayName" : {
           "type" : "string"
         },
+        "language" : {
+          "type" : "string"
+        },
         "script" : {
           "type" : "string"
         },
@@ -1669,9 +1672,6 @@
         },
         "displayVariant" : {
           "type" : "string"
-        },
-        "language" : {
-          "type" : "string"
         }
       }
     },
@@ -1759,12 +1759,12 @@
           "type" : "integer",
           "format" : "int32"
         },
-        "currency" : {
-          "$ref" : "#/definitions/Currency"
-        },
         "roundingMode" : {
           "type" : "string",
           "enum" : [ "UP", "DOWN", "CEILING", "FLOOR", "HALF_UP", "HALF_DOWN", "HALF_EVEN", "UNNECESSARY" ]
+        },
+        "currency" : {
+          "$ref" : "#/definitions/Currency"
         }
       }
     },
@@ -1785,30 +1785,9 @@
         "factory" : {
           "$ref" : "#/definitions/JsonFactory"
         },
-        "visibilityChecker" : {
-          "$ref" : "#/definitions/VisibilityCheckerObject"
-        },
-        "subtypeResolver" : {
-          "$ref" : "#/definitions/SubtypeResolver"
-        },
-        "propertyNamingStrategy" : {
-          "$ref" : "#/definitions/PropertyNamingStrategy"
-        },
         "typeFactory" : {
           "$ref" : "#/definitions/TypeFactory"
         },
-        "nodeFactory" : {
-          "$ref" : "#/definitions/JsonNodeFactory"
-        },
-        "jsonFactory" : {
-          "$ref" : "#/definitions/JsonFactory"
-        },
-        "dateFormat" : {
-          "$ref" : "#/definitions/DateFormat"
-        },
-        "injectableValues" : {
-          "$ref" : "#/definitions/InjectableValues"
-        },
         "serializationConfig" : {
           "$ref" : "#/definitions/SerializationConfig"
         },
@@ -1826,6 +1805,27 @@
         },
         "serializerProviderInstance" : {
           "$ref" : "#/definitions/SerializerProvider"
+        },
+        "visibilityChecker" : {
+          "$ref" : "#/definitions/VisibilityCheckerObject"
+        },
+        "subtypeResolver" : {
+          "$ref" : "#/definitions/SubtypeResolver"
+        },
+        "propertyNamingStrategy" : {
+          "$ref" : "#/definitions/PropertyNamingStrategy"
+        },
+        "nodeFactory" : {
+          "$ref" : "#/definitions/JsonNodeFactory"
+        },
+        "jsonFactory" : {
+          "$ref" : "#/definitions/JsonFactory"
+        },
+        "dateFormat" : {
+          "$ref" : "#/definitions/DateFormat"
+        },
+        "injectableValues" : {
+          "$ref" : "#/definitions/InjectableValues"
         }
       }
     },
@@ -1918,10 +1918,10 @@
     "PublicKey" : {
       "type" : "object",
       "properties" : {
-        "algorithm" : {
+        "format" : {
           "type" : "string"
         },
-        "format" : {
+        "algorithm" : {
           "type" : "string"
         },
         "encoded" : {
@@ -1953,9 +1953,6 @@
     "SerializationConfig" : {
       "type" : "object",
       "properties" : {
-        "defaultPrettyPrinter" : {
-          "$ref" : "#/definitions/PrettyPrinter"
-        },
         "annotationIntrospector" : {
           "$ref" : "#/definitions/AnnotationIntrospector"
         },
@@ -1965,6 +1962,9 @@
         "filterProvider" : {
           "$ref" : "#/definitions/FilterProvider"
         },
+        "defaultPrettyPrinter" : {
+          "$ref" : "#/definitions/PrettyPrinter"
+        },
         "serializationInclusion" : {
           "type" : "string",
           "enum" : [ "ALWAYS", "NON_NULL", "NON_ABSENT", "NON_EMPTY", "NON_DEFAULT", "USE_DEFAULTS" ]
@@ -1976,42 +1976,42 @@
         "attributes" : {
           "$ref" : "#/definitions/ContextAttributes"
         },
-        "subtypeResolver" : {
-          "$ref" : "#/definitions/SubtypeResolver"
-        },
-        "defaultVisibilityChecker" : {
-          "$ref" : "#/definitions/VisibilityCheckerObject"
-        },
         "rootName" : {
           "type" : "string"
         },
         "fullRootName" : {
           "$ref" : "#/definitions/PropertyName"
         },
+        "subtypeResolver" : {
+          "$ref" : "#/definitions/SubtypeResolver"
+        },
+        "defaultVisibilityChecker" : {
+          "$ref" : "#/definitions/VisibilityCheckerObject"
+        },
         "locale" : {
           "$ref" : "#/definitions/Locale"
         },
         "timeZone" : {
           "$ref" : "#/definitions/TimeZone"
         },
-        "propertyNamingStrategy" : {
-          "$ref" : "#/definitions/PropertyNamingStrategy"
-        },
-        "dateFormat" : {
-          "$ref" : "#/definitions/DateFormat"
-        },
-        "annotationProcessingEnabled" : {
-          "type" : "boolean"
-        },
         "typeFactory" : {
           "$ref" : "#/definitions/TypeFactory"
         },
         "handlerInstantiator" : {
           "$ref" : "#/definitions/HandlerInstantiator"
         },
+        "propertyNamingStrategy" : {
+          "$ref" : "#/definitions/PropertyNamingStrategy"
+        },
+        "dateFormat" : {
+          "$ref" : "#/definitions/DateFormat"
+        },
         "base64Variant" : {
           "$ref" : "#/definitions/Base64Variant"
         },
+        "annotationProcessingEnabled" : {
+          "type" : "boolean"
+        },
         "classIntrospector" : {
           "$ref" : "#/definitions/ClassIntrospector"
         }
@@ -2029,6 +2029,9 @@
         "timeZone" : {
           "$ref" : "#/definitions/TimeZone"
         },
+        "generator" : {
+          "$ref" : "#/definitions/JsonGenerator"
+        },
         "config" : {
           "$ref" : "#/definitions/SerializationConfig"
         },
@@ -2038,9 +2041,6 @@
         "annotationIntrospector" : {
           "$ref" : "#/definitions/AnnotationIntrospector"
         },
-        "generator" : {
-          "$ref" : "#/definitions/JsonGenerator"
-        },
         "defaultNullValueSerializer" : {
           "$ref" : "#/definitions/JsonSerializerObject"
         },
@@ -2215,9 +2215,6 @@
         "displayName" : {
           "type" : "string"
         },
-        "id" : {
-          "type" : "string"
-        },
         "dstsavings" : {
           "type" : "integer",
           "format" : "int32"
@@ -2225,6 +2222,9 @@
         "rawOffset" : {
           "type" : "integer",
           "format" : "int32"
+        },
+        "id" : {
+          "type" : "string"
         }
       }
     },
diff --git a/content/swagger/2.10.0-SNAPSHOT/v2/swagger.json b/content/swagger/2.10.0-SNAPSHOT/v2/swagger.json
index d84bce3..3c1d46a 100644
--- a/content/swagger/2.10.0-SNAPSHOT/v2/swagger.json
+++ b/content/swagger/2.10.0-SNAPSHOT/v2/swagger.json
@@ -25554,12 +25554,12 @@
         "AuthenticationDataSource": {
             "type": "object",
             "properties": {
-                "subscription": {
-                    "type": "string"
-                },
                 "peerAddress": {
                     "$ref": "#/definitions/SocketAddress"
                 },
+                "subscription": {
+                    "type": "string"
+                },
                 "tlsCertificates": {
                     "type": "array",
                     "items": {
@@ -25625,10 +25625,6 @@
                         "consumer_backlog_eviction"
                     ]
                 },
-                "limit": {
-                    "type": "integer",
-                    "format": "int64"
-                },
                 "limitSize": {
                     "type": "integer",
                     "format": "int64"
@@ -25636,6 +25632,10 @@
                 "limitTime": {
                     "type": "integer",
                     "format": "int32"
+                },
+                "limit": {
+                    "type": "integer",
+                    "format": "int64"
                 }
             }
         },
@@ -25645,16 +25645,16 @@
                 "name": {
                     "type": "string"
                 },
+                "maxLineLength": {
+                    "type": "integer",
+                    "format": "int32"
+                },
                 "paddingChar": {
                     "type": "string"
                 },
                 "paddingByte": {
                     "type": "string",
                     "format": "byte"
-                },
-                "maxLineLength": {
-                    "type": "integer",
-                    "format": "int32"
                 }
             }
         },
@@ -25915,72 +25915,72 @@
         "CompletableFuture": {
             "type": "object",
             "properties": {
-                "done": {
+                "cancelled": {
                     "type": "boolean"
                 },
-                "numberOfDependents": {
-                    "type": "integer",
-                    "format": "int32"
-                },
-                "cancelled": {
+                "done": {
                     "type": "boolean"
                 },
                 "completedExceptionally": {
                     "type": "boolean"
+                },
+                "numberOfDependents": {
+                    "type": "integer",
+                    "format": "int32"
                 }
             }
         },
         "CompletableFutureClusterData": {
             "type": "object",
             "properties": {
-                "done": {
+                "cancelled": {
                     "type": "boolean"
                 },
-                "numberOfDependents": {
-                    "type": "integer",
-                    "format": "int32"
-                },
-                "cancelled": {
+                "done": {
                     "type": "boolean"
                 },
                 "completedExceptionally": {
                     "type": "boolean"
+                },
+                "numberOfDependents": {
+                    "type": "integer",
+                    "format": "int32"
                 }
             }
         },
         "CompletableFuturePartitionedTopicMetadata": {
             "type": "object",
             "properties": {
-                "done": {
+                "cancelled": {
                     "type": "boolean"
                 },
-                "numberOfDependents": {
-                    "type": "integer",
-                    "format": "int32"
-                },
-                "cancelled": {
+                "done": {
                     "type": "boolean"
                 },
                 "completedExceptionally": {
                     "type": "boolean"
+                },
+                "numberOfDependents": {
+                    "type": "integer",
+                    "format": "int32"
                 }
             }
         },
         "CompletableFutureVoid": {
             "type": "object",
             "properties": {
-                "done": {
+                "cancelled": {
                     "type": "boolean"
                 },
-                "numberOfDependents": {
-                    "type": "integer",
-                    "format": "int32"
-                },
-                "cancelled": {
+                "done": {
                     "type": "boolean"
                 },
                 "completedExceptionally": {
                     "type": "boolean"
+                },
+                "numberOfDependents": {
+                    "type": "integer",
+                    "format": "int32"
                 }
             }
         },
@@ -26013,24 +26013,17 @@
                 "address": {
                     "type": "string"
                 },
-                "availablePermits": {
-                    "type": "integer",
-                    "format": "int32"
-                },
                 "metadata": {
                     "type": "object",
                     "additionalProperties": {
                         "type": "string"
                     }
                 },
-                "chunkedMessageRate": {
+                "msgRateRedeliver": {
                     "type": "number",
                     "format": "double"
                 },
-                "clientVersion": {
-                    "type": "string"
-                },
-                "msgRateRedeliver": {
+                "chunkedMessageRate": {
                     "type": "number",
                     "format": "double"
                 },
@@ -26046,11 +26039,8 @@
                     "type": "integer",
                     "format": "int64"
                 },
-                "keyHashRanges": {
-                    "type": "array",
-                    "items": {
-                        "type": "string"
-                    }
+                "clientVersion": {
+                    "type": "string"
                 },
                 "avgMessagesPerEntry": {
                     "type": "integer",
@@ -26062,8 +26052,11 @@
                 "readPositionWhenJoining": {
                     "type": "string"
                 },
-                "consumerName": {
-                    "type": "string"
+                "keyHashRanges": {
+                    "type": "array",
+                    "items": {
+                        "type": "string"
+                    }
                 },
                 "msgThroughputOut": {
                     "type": "number",
@@ -26077,6 +26070,13 @@
                     "type": "integer",
                     "format": "int64"
                 },
+                "consumerName": {
+                    "type": "string"
+                },
+                "availablePermits": {
+                    "type": "integer",
+                    "format": "int32"
+                },
                 "connectedSince": {
                     "type": "string"
                 },
@@ -26103,10 +26103,10 @@
                     "type": "integer",
                     "format": "int32"
                 },
-                "displayName": {
+                "symbol": {
                     "type": "string"
                 },
-                "symbol": {
+                "displayName": {
                     "type": "string"
                 },
                 "numericCodeAsString": {
@@ -26229,15 +26229,15 @@
         "DeserializationConfig": {
             "type": "object",
             "properties": {
-                "nodeFactory": {
-                    "$ref": "#/definitions/JsonNodeFactory"
-                },
                 "annotationIntrospector": {
                     "$ref": "#/definitions/AnnotationIntrospector"
                 },
                 "defaultPropertyInclusion": {
                     "$ref": "#/definitions/Value"
                 },
+                "nodeFactory": {
+                    "$ref": "#/definitions/JsonNodeFactory"
+                },
                 "deserializationFeatures": {
                     "type": "integer",
                     "format": "int32"
@@ -26248,42 +26248,42 @@
                 "attributes": {
                     "$ref": "#/definitions/ContextAttributes"
                 },
-                "subtypeResolver": {
-                    "$ref": "#/definitions/SubtypeResolver"
-                },
-                "defaultVisibilityChecker": {
-                    "$ref": "#/definitions/VisibilityCheckerObject"
-                },
                 "rootName": {
                     "type": "string"
                 },
                 "fullRootName": {
                     "$ref": "#/definitions/PropertyName"
                 },
+                "subtypeResolver": {
+                    "$ref": "#/definitions/SubtypeResolver"
+                },
+                "defaultVisibilityChecker": {
+                    "$ref": "#/definitions/VisibilityCheckerObject"
+                },
                 "locale": {
                     "$ref": "#/definitions/Locale"
                 },
                 "timeZone": {
                     "$ref": "#/definitions/TimeZone"
                 },
-                "propertyNamingStrategy": {
-                    "$ref": "#/definitions/PropertyNamingStrategy"
-                },
-                "dateFormat": {
-                    "$ref": "#/definitions/DateFormat"
-                },
-                "annotationProcessingEnabled": {
-                    "type": "boolean"
-                },
                 "typeFactory": {
                     "$ref": "#/definitions/TypeFactory"
                 },
                 "handlerInstantiator": {
                     "$ref": "#/definitions/HandlerInstantiator"
                 },
+                "propertyNamingStrategy": {
+                    "$ref": "#/definitions/PropertyNamingStrategy"
+                },
+                "dateFormat": {
+                    "$ref": "#/definitions/DateFormat"
+                },
                 "base64Variant": {
                     "$ref": "#/definitions/Base64Variant"
                 },
+                "annotationProcessingEnabled": {
+                    "type": "boolean"
+                },
                 "classIntrospector": {
                     "$ref": "#/definitions/ClassIntrospector"
                 }
@@ -26304,9 +26304,6 @@
                 "config": {
                     "$ref": "#/definitions/DeserializationConfig"
                 },
-                "nodeFactory": {
-                    "$ref": "#/definitions/JsonNodeFactory"
-                },
                 "parser": {
                     "$ref": "#/definitions/JsonParser"
                 },
@@ -26316,6 +26313,9 @@
                 "annotationIntrospector": {
                     "$ref": "#/definitions/AnnotationIntrospector"
                 },
+                "nodeFactory": {
+                    "$ref": "#/definitions/JsonNodeFactory"
+                },
                 "contextualType": {
                     "$ref": "#/definitions/JavaType"
                 },
@@ -26731,6 +26731,9 @@
                 "codec": {
                     "$ref": "#/definitions/ObjectCodec"
                 },
+                "formatName": {
+                    "type": "string"
+                },
                 "inputDecorator": {
                     "$ref": "#/definitions/InputDecorator"
                 },
@@ -26740,9 +26743,6 @@
                 "outputDecorator": {
                     "$ref": "#/definitions/OutputDecorator"
                 },
-                "formatName": {
-                    "type": "string"
-                },
                 "rootValueSeparator": {
                     "type": "string"
                 }
@@ -26751,20 +26751,23 @@
         "JsonGenerator": {
             "type": "object",
             "properties": {
+                "closed": {
+                    "type": "boolean"
+                },
+                "schema": {
+                    "$ref": "#/definitions/FormatSchema"
+                },
                 "codec": {
                     "$ref": "#/definitions/ObjectCodec"
                 },
                 "prettyPrinter": {
                     "$ref": "#/definitions/PrettyPrinter"
                 },
-                "closed": {
-                    "type": "boolean"
-                },
                 "characterEscapes": {
                     "$ref": "#/definitions/CharacterEscapes"
                 },
-                "schema": {
-                    "$ref": "#/definitions/FormatSchema"
+                "currentValue": {
+                    "type": "object"
                 },
                 "featureMask": {
                     "type": "integer",
@@ -26785,9 +26788,6 @@
                     "type": "integer",
                     "format": "int32"
                 },
-                "currentValue": {
-                    "type": "object"
-                },
                 "outputContext": {
                     "$ref": "#/definitions/JsonStreamContext"
                 }
@@ -26827,8 +26827,8 @@
                     "type": "integer",
                     "format": "int32"
                 },
-                "codec": {
-                    "$ref": "#/definitions/ObjectCodec"
+                "closed": {
+                    "type": "boolean"
                 },
                 "text": {
                     "type": "string"
@@ -26839,24 +26839,6 @@
                         "type": "string"
                     }
                 },
-                "currentToken": {
-                    "type": "string",
-                    "enum": [
-                        "NOT_AVAILABLE",
-                        "START_OBJECT",
-                        "END_OBJECT",
-                        "START_ARRAY",
-                        "END_ARRAY",
-                        "FIELD_NAME",
-                        "VALUE_EMBEDDED_OBJECT",
-                        "VALUE_STRING",
-                        "VALUE_NUMBER_INT",
-                        "VALUE_NUMBER_FLOAT",
-                        "VALUE_TRUE",
-                        "VALUE_FALSE",
-                        "VALUE_NULL"
-                    ]
-                },
                 "booleanValue": {
                     "type": "boolean"
                 },
@@ -26880,10 +26862,7 @@
                     "type": "integer",
                     "format": "int32"
                 },
-                "closed": {
-                    "type": "boolean"
-                },
-                "inputSource": {
+                "objectId": {
                     "type": "object"
                 },
                 "intValue": {
@@ -26893,15 +26872,42 @@
                 "typeId": {
                     "type": "object"
                 },
-                "currentName": {
-                    "type": "string"
-                },
                 "schema": {
                     "$ref": "#/definitions/FormatSchema"
                 },
+                "codec": {
+                    "$ref": "#/definitions/ObjectCodec"
+                },
+                "currentToken": {
+                    "type": "string",
+                    "enum": [
+                        "NOT_AVAILABLE",
+                        "START_OBJECT",
+                        "END_OBJECT",
+                        "START_ARRAY",
+                        "END_ARRAY",
+                        "FIELD_NAME",
+                        "VALUE_EMBEDDED_OBJECT",
+                        "VALUE_STRING",
+                        "VALUE_NUMBER_INT",
+                        "VALUE_NUMBER_FLOAT",
+                        "VALUE_TRUE",
+                        "VALUE_FALSE",
+                        "VALUE_NULL"
+                    ]
+                },
+                "currentName": {
+                    "type": "string"
+                },
                 "tokenLocation": {
                     "$ref": "#/definitions/JsonLocation"
                 },
+                "inputSource": {
+                    "type": "object"
+                },
+                "currentValue": {
+                    "type": "object"
+                },
                 "featureMask": {
                     "type": "integer",
                     "format": "int32"
@@ -26910,66 +26916,18 @@
                     "type": "integer",
                     "format": "int32"
                 },
-                "currentValue": {
-                    "type": "object"
-                },
-                "textOffset": {
+                "currentTokenId": {
                     "type": "integer",
                     "format": "int32"
                 },
-                "numberType": {
-                    "type": "string",
-                    "enum": [
-                        "INT",
-                        "LONG",
-                        "BIG_INTEGER",
-                        "FLOAT",
-                        "DOUBLE",
-                        "BIG_DECIMAL"
-                    ]
+                "parsingContext": {
+                    "$ref": "#/definitions/JsonStreamContext"
                 },
-                "bigIntegerValue": {
-                    "type": "integer"
+                "currentLocation": {
+                    "$ref": "#/definitions/JsonLocation"
                 },
-                "decimalValue": {
-                    "type": "number"
-                },
-                "embeddedObject": {
-                    "type": "object"
-                },
-                "binaryValue": {
-                    "type": "array",
-                    "items": {
-                        "type": "string",
-                        "format": "byte"
-                    }
-                },
-                "valueAsInt": {
-                    "type": "integer",
-                    "format": "int32"
-                },
-                "valueAsLong": {
-                    "type": "integer",
-                    "format": "int64"
-                },
-                "valueAsDouble": {
-                    "type": "number",
-                    "format": "double"
-                },
-                "valueAsBoolean": {
-                    "type": "boolean"
-                },
-                "valueAsString": {
-                    "type": "string"
-                },
-                "parsingContext": {
-                    "$ref": "#/definitions/JsonStreamContext"
-                },
-                "currentLocation": {
-                    "$ref": "#/definitions/JsonLocation"
-                },
-                "expectedStartArrayToken": {
-                    "type": "boolean"
+                "expectedStartArrayToken": {
+                    "type": "boolean"
                 },
                 "expectedStartObjectToken": {
                     "type": "boolean"
@@ -26992,15 +26950,57 @@
                         "VALUE_NULL"
                     ]
                 },
+                "textOffset": {
+                    "type": "integer",
+                    "format": "int32"
+                },
                 "numberValue": {
                     "$ref": "#/definitions/Number"
                 },
-                "currentTokenId": {
+                "numberType": {
+                    "type": "string",
+                    "enum": [
+                        "INT",
+                        "LONG",
+                        "BIG_INTEGER",
+                        "FLOAT",
+                        "DOUBLE",
+                        "BIG_DECIMAL"
+                    ]
+                },
+                "bigIntegerValue": {
+                    "type": "integer"
+                },
+                "decimalValue": {
+                    "type": "number"
+                },
+                "embeddedObject": {
+                    "type": "object"
+                },
+                "binaryValue": {
+                    "type": "array",
+                    "items": {
+                        "type": "string",
+                        "format": "byte"
+                    }
+                },
+                "valueAsInt": {
                     "type": "integer",
                     "format": "int32"
                 },
-                "objectId": {
-                    "type": "object"
+                "valueAsLong": {
+                    "type": "integer",
+                    "format": "int64"
+                },
+                "valueAsDouble": {
+                    "type": "number",
+                    "format": "double"
+                },
+                "valueAsBoolean": {
+                    "type": "boolean"
+                },
+                "valueAsString": {
+                    "type": "string"
                 }
             }
         },
@@ -27341,24 +27341,24 @@
                 "loadReportType": {
                     "type": "string"
                 },
-                "msgThroughputOut": {
+                "directMemory": {
+                    "$ref": "#/definitions/ResourceUsage"
+                },
+                "lastUpdate": {
+                    "type": "integer",
+                    "format": "int64"
+                },
+                "msgThroughputIn": {
                     "type": "number",
                     "format": "double"
                 },
-                "msgThroughputIn": {
+                "msgThroughputOut": {
                     "type": "number",
                     "format": "double"
                 },
                 "cpu": {
                     "$ref": "#/definitions/ResourceUsage"
                 },
-                "directMemory": {
-                    "$ref": "#/definitions/ResourceUsage"
-                },
-                "lastUpdate": {
-                    "type": "integer",
-                    "format": "int64"
-                },
                 "bandwidthIn": {
                     "$ref": "#/definitions/ResourceUsage"
                 },
@@ -27376,6 +27376,9 @@
                 "displayName": {
                     "type": "string"
                 },
+                "language": {
+                    "type": "string"
+                },
                 "script": {
                     "type": "string"
                 },
@@ -27423,9 +27426,6 @@
                 },
                 "displayVariant": {
                     "type": "string"
-                },
-                "language": {
-                    "type": "string"
                 }
             }
         },
@@ -27642,23 +27642,14 @@
                 "address": {
                     "type": "string"
                 },
-                "accessMode": {
-                    "type": "string",
-                    "enum": [
-                        "Shared",
-                        "Exclusive",
-                        "WaitForExclusive"
-                    ]
-                },
                 "metadata": {
                     "type": "object",
                     "additionalProperties": {
                         "type": "string"
                     }
                 },
-                "producerId": {
-                    "type": "integer",
-                    "format": "int64"
+                "supportsPartialProducer": {
+                    "type": "boolean"
                 },
                 "chunkedMessageRate": {
                     "type": "number",
@@ -27667,6 +27658,10 @@
                 "clientVersion": {
                     "type": "string"
                 },
+                "producerId": {
+                    "type": "integer",
+                    "format": "int64"
+                },
                 "msgThroughputIn": {
                     "type": "number",
                     "format": "double"
@@ -27678,12 +27673,17 @@
                 "connectedSince": {
                     "type": "string"
                 },
+                "accessMode": {
+                    "type": "string",
+                    "enum": [
+                        "Shared",
+                        "Exclusive",
+                        "WaitForExclusive"
+                    ]
+                },
                 "producerName": {
                     "type": "string"
                 },
-                "supportsPartialProducer": {
-                    "type": "boolean"
-                },
                 "msgRateIn": {
                     "type": "number",
                     "format": "double"
@@ -27697,10 +27697,6 @@
                     "type": "number",
                     "format": "double"
                 },
-                "replicationDelayInSeconds": {
-                    "type": "integer",
-                    "format": "int64"
-                },
                 "connected": {
                     "type": "boolean"
                 },
@@ -27724,14 +27720,18 @@
                 "outboundConnectedSince": {
                     "type": "string"
                 },
-                "msgThroughputOut": {
+                "msgThroughputIn": {
                     "type": "number",
                     "format": "double"
                 },
-                "msgThroughputIn": {
+                "msgThroughputOut": {
                     "type": "number",
                     "format": "double"
                 },
+                "replicationDelayInSeconds": {
+                    "type": "integer",
+                    "format": "int64"
+                },
                 "msgRateIn": {
                     "type": "number",
                     "format": "double"
@@ -27752,13 +27752,21 @@
                 "type": {
                     "type": "string"
                 },
-                "chunkedMessageRate": {
+                "consumers": {
+                    "type": "array",
+                    "items": {
+                        "$ref": "#/definitions/ConsumerStats"
+                    }
+                },
+                "backlogSize": {
                     "type": "integer",
-                    "format": "int32"
+                    "format": "int64"
                 },
-                "msgRateExpired": {
-                    "type": "number",
-                    "format": "double"
+                "consumersAfterMarkDeletePosition": {
+                    "type": "object",
+                    "additionalProperties": {
+                        "type": "string"
+                    }
                 },
                 "msgBacklog": {
                     "type": "integer",
@@ -27768,6 +27776,10 @@
                     "type": "number",
                     "format": "double"
                 },
+                "chunkedMessageRate": {
+                    "type": "integer",
+                    "format": "int32"
+                },
                 "earliestMsgPublishTimeInBacklog": {
                     "type": "integer",
                     "format": "int64"
@@ -27790,6 +27802,10 @@
                 "activeConsumerName": {
                     "type": "string"
                 },
+                "msgRateExpired": {
+                    "type": "number",
+                    "format": "double"
+                },
                 "totalMsgExpired": {
                     "type": "integer",
                     "format": "int64"
@@ -27814,24 +27830,6 @@
                     "type": "integer",
                     "format": "int64"
                 },
-                "consumersAfterMarkDeletePosition": {
-                    "type": "object",
-                    "additionalProperties": {
-                        "type": "string"
-                    }
-                },
-                "subscriptionProperties": {
-                    "type": "object",
-                    "additionalProperties": {
-                        "type": "string"
-                    }
-                },
-                "allowOutOfOrderDelivery": {
-                    "type": "boolean"
-                },
-                "keySharedMode": {
-                    "type": "string"
-                },
                 "msgThroughputOut": {
                     "type": "number",
                     "format": "double"
@@ -27844,17 +27842,17 @@
                     "type": "integer",
                     "format": "int64"
                 },
-                "backlogSize": {
-                    "type": "integer",
-                    "format": "int64"
+                "subscriptionProperties": {
+                    "type": "object",
+                    "additionalProperties": {
+                        "type": "string"
+                    }
                 },
-                "nonContiguousDeletedMessagesRanges": {
-                    "type": "integer",
-                    "format": "int32"
+                "allowOutOfOrderDelivery": {
+                    "type": "boolean"
                 },
-                "nonContiguousDeletedMessagesRangesSerializedSize": {
-                    "type": "integer",
-                    "format": "int32"
+                "keySharedMode": {
+                    "type": "string"
                 },
                 "replicated": {
                     "type": "boolean"
@@ -27866,11 +27864,13 @@
                     "type": "number",
                     "format": "double"
                 },
-                "consumers": {
-                    "type": "array",
-                    "items": {
-                        "$ref": "#/definitions/ConsumerStats"
-                    }
+                "nonContiguousDeletedMessagesRanges": {
+                    "type": "integer",
+                    "format": "int32"
+                },
+                "nonContiguousDeletedMessagesRangesSerializedSize": {
+                    "type": "integer",
+                    "format": "int32"
                 }
             }
         },
@@ -27881,6 +27881,12 @@
                     "type": "number",
                     "format": "double"
                 },
+                "subscriptions": {
+                    "type": "object",
+                    "additionalProperties": {
+                        "$ref": "#/definitions/NonPersistentSubscriptionStats"
+                    }
+                },
                 "publishers": {
                     "type": "array",
                     "items": {
@@ -27893,17 +27899,15 @@
                         "$ref": "#/definitions/NonPersistentReplicatorStats"
                     }
                 },
-                "subscriptions": {
-                    "type": "object",
-                    "additionalProperties": {
-                        "$ref": "#/definitions/NonPersistentSubscriptionStats"
-                    }
+                "backlogSize": {
+                    "type": "integer",
+                    "format": "int64"
                 },
-                "msgThroughputOut": {
+                "msgThroughputIn": {
                     "type": "number",
                     "format": "double"
                 },
-                "msgThroughputIn": {
+                "msgThroughputOut": {
                     "type": "number",
                     "format": "double"
                 },
@@ -27927,15 +27931,26 @@
                     "type": "number",
                     "format": "double"
                 },
+                "msgChunkPublished": {
+                    "type": "boolean"
+                },
+                "msgRateIn": {
+                    "type": "number",
+                    "format": "double"
+                },
+                "msgRateOut": {
+                    "type": "number",
+                    "format": "double"
+                },
                 "storageSize": {
                     "type": "integer",
                     "format": "int64"
                 },
-                "backlogSize": {
+                "earliestMsgPublishTimeInBacklogs": {
                     "type": "integer",
                     "format": "int64"
                 },
-                "earliestMsgPublishTimeInBacklogs": {
+                "offloadedStorageSize": {
                     "type": "integer",
                     "format": "int64"
                 },
@@ -27943,10 +27958,6 @@
                     "type": "integer",
                     "format": "int32"
                 },
-                "nonContiguousDeletedMessagesRanges": {
-                    "type": "integer",
-                    "format": "int32"
-                },
                 "deduplicationStatus": {
                     "type": "string"
                 },
@@ -27954,27 +27965,16 @@
                     "type": "integer",
                     "format": "int64"
                 },
+                "nonContiguousDeletedMessagesRanges": {
+                    "type": "integer",
+                    "format": "int32"
+                },
                 "nonContiguousDeletedMessagesRangesSerializedSize": {
                     "type": "integer",
                     "format": "int32"
                 },
                 "compaction": {
                     "$ref": "#/definitions/CompactionStats"
-                },
-                "offloadedStorageSize": {
-                    "type": "integer",
-                    "format": "int64"
-                },
-                "msgChunkPublished": {
-                    "type": "boolean"
-                },
-                "msgRateIn": {
-                    "type": "number",
-                    "format": "double"
-                },
-                "msgRateOut": {
-                    "type": "number",
-                    "format": "double"
                 }
             }
         },
@@ -28006,9 +28006,6 @@
                     "type": "integer",
                     "format": "int32"
                 },
-                "currency": {
-                    "$ref": "#/definitions/Currency"
-                },
                 "roundingMode": {
                     "type": "string",
                     "enum": [
@@ -28021,6 +28018,9 @@
                         "HALF_EVEN",
                         "UNNECESSARY"
                     ]
+                },
+                "currency": {
+                    "$ref": "#/definitions/Currency"
                 }
             }
         },
@@ -28041,6 +28041,27 @@
                 "factory": {
                     "$ref": "#/definitions/JsonFactory"
                 },
+                "typeFactory": {
+                    "$ref": "#/definitions/TypeFactory"
+                },
+                "serializationConfig": {
+                    "$ref": "#/definitions/SerializationConfig"
+                },
+                "deserializationConfig": {
+                    "$ref": "#/definitions/DeserializationConfig"
+                },
+                "deserializationContext": {
+                    "$ref": "#/definitions/DeserializationContext"
+                },
+                "serializerFactory": {
+                    "$ref": "#/definitions/SerializerFactory"
+                },
+                "serializerProvider": {
+                    "$ref": "#/definitions/SerializerProvider"
+                },
+                "serializerProviderInstance": {
+                    "$ref": "#/definitions/SerializerProvider"
+                },
                 "visibilityChecker": {
                     "$ref": "#/definitions/VisibilityCheckerObject"
                 },
@@ -28050,9 +28071,6 @@
                 "propertyNamingStrategy": {
                     "$ref": "#/definitions/PropertyNamingStrategy"
                 },
-                "typeFactory": {
-                    "$ref": "#/definitions/TypeFactory"
-                },
                 "nodeFactory": {
                     "$ref": "#/definitions/JsonNodeFactory"
                 },
@@ -28064,24 +28082,6 @@
                 },
                 "injectableValues": {
                     "$ref": "#/definitions/InjectableValues"
-                },
-                "serializationConfig": {
-                    "$ref": "#/definitions/SerializationConfig"
-                },
-                "deserializationConfig": {
-                    "$ref": "#/definitions/DeserializationConfig"
-                },
-                "deserializationContext": {
-                    "$ref": "#/definitions/DeserializationContext"
-                },
-                "serializerFactory": {
-                    "$ref": "#/definitions/SerializerFactory"
-                },
-                "serializerProvider": {
-                    "$ref": "#/definitions/SerializerProvider"
-                },
-                "serializerProviderInstance": {
-                    "$ref": "#/definitions/SerializerProvider"
                 }
             }
         },
@@ -28096,12 +28096,15 @@
                     "type": "integer",
                     "format": "int64"
                 },
-                "managedLedgerOffloadDriver": {
+                "fileSystemURI": {
                     "type": "string"
                 },
                 "offloadersDirectory": {
                     "type": "string"
                 },
+                "managedLedgerOffloadDriver": {
+                    "type": "string"
+                },
                 "managedLedgerOffloadMaxThreads": {
                     "type": "integer",
                     "format": "int32"
@@ -28110,9 +28113,6 @@
                     "type": "integer",
                     "format": "int32"
                 },
-                "fileSystemURI": {
-                    "type": "string"
-                },
                 "managedLedgerOffloadedReadPriority": {
                     "type": "string",
                     "enum": [
@@ -28925,10 +28925,10 @@
         "PublicKey": {
             "type": "object",
             "properties": {
-                "algorithm": {
+                "format": {
                     "type": "string"
                 },
-                "format": {
+                "algorithm": {
                     "type": "string"
                 },
                 "encoded": {
@@ -28959,23 +28959,14 @@
                 "address": {
                     "type": "string"
                 },
-                "accessMode": {
-                    "type": "string",
-                    "enum": [
-                        "Shared",
-                        "Exclusive",
-                        "WaitForExclusive"
-                    ]
-                },
                 "metadata": {
                     "type": "object",
                     "additionalProperties": {
                         "type": "string"
                     }
                 },
-                "producerId": {
-                    "type": "integer",
-                    "format": "int64"
+                "supportsPartialProducer": {
+                    "type": "boolean"
                 },
                 "chunkedMessageRate": {
                     "type": "number",
@@ -28984,6 +28975,10 @@
                 "clientVersion": {
                     "type": "string"
                 },
+                "producerId": {
+                    "type": "integer",
+                    "format": "int64"
+                },
                 "msgThroughputIn": {
                     "type": "number",
                     "format": "double"
@@ -28995,12 +28990,17 @@
                 "connectedSince": {
                     "type": "string"
                 },
+                "accessMode": {
+                    "type": "string",
+                    "enum": [
+                        "Shared",
+                        "Exclusive",
+                        "WaitForExclusive"
+                    ]
+                },
                 "producerName": {
                     "type": "string"
                 },
-                "supportsPartialProducer": {
-                    "type": "boolean"
-                },
                 "msgRateIn": {
                     "type": "number",
                     "format": "double"
@@ -29018,10 +29018,6 @@
         "ReplicatorStats": {
             "type": "object",
             "properties": {
-                "replicationDelayInSeconds": {
-                    "type": "integer",
-                    "format": "int64"
-                },
                 "connected": {
                     "type": "boolean"
                 },
@@ -29045,14 +29041,18 @@
                 "outboundConnectedSince": {
                     "type": "string"
                 },
-                "msgThroughputOut": {
+                "msgThroughputIn": {
                     "type": "number",
                     "format": "double"
                 },
-                "msgThroughputIn": {
+                "msgThroughputOut": {
                     "type": "number",
                     "format": "double"
                 },
+                "replicationDelayInSeconds": {
+                    "type": "integer",
+                    "format": "int64"
+                },
                 "msgRateIn": {
                     "type": "number",
                     "format": "double"
@@ -29211,9 +29211,6 @@
         "SerializationConfig": {
             "type": "object",
             "properties": {
-                "defaultPrettyPrinter": {
-                    "$ref": "#/definitions/PrettyPrinter"
-                },
                 "annotationIntrospector": {
                     "$ref": "#/definitions/AnnotationIntrospector"
                 },
@@ -29223,6 +29220,9 @@
                 "filterProvider": {
                     "$ref": "#/definitions/FilterProvider"
                 },
+                "defaultPrettyPrinter": {
+                    "$ref": "#/definitions/PrettyPrinter"
+                },
                 "serializationInclusion": {
                     "type": "string",
                     "enum": [
@@ -29241,42 +29241,42 @@
                 "attributes": {
                     "$ref": "#/definitions/ContextAttributes"
                 },
-                "subtypeResolver": {
-                    "$ref": "#/definitions/SubtypeResolver"
-                },
-                "defaultVisibilityChecker": {
-                    "$ref": "#/definitions/VisibilityCheckerObject"
-                },
                 "rootName": {
                     "type": "string"
                 },
                 "fullRootName": {
                     "$ref": "#/definitions/PropertyName"
                 },
+                "subtypeResolver": {
+                    "$ref": "#/definitions/SubtypeResolver"
+                },
+                "defaultVisibilityChecker": {
+                    "$ref": "#/definitions/VisibilityCheckerObject"
+                },
                 "locale": {
                     "$ref": "#/definitions/Locale"
                 },
                 "timeZone": {
                     "$ref": "#/definitions/TimeZone"
                 },
-                "propertyNamingStrategy": {
-                    "$ref": "#/definitions/PropertyNamingStrategy"
-                },
-                "dateFormat": {
-                    "$ref": "#/definitions/DateFormat"
-                },
-                "annotationProcessingEnabled": {
-                    "type": "boolean"
-                },
                 "typeFactory": {
                     "$ref": "#/definitions/TypeFactory"
                 },
                 "handlerInstantiator": {
                     "$ref": "#/definitions/HandlerInstantiator"
                 },
+                "propertyNamingStrategy": {
+                    "$ref": "#/definitions/PropertyNamingStrategy"
+                },
+                "dateFormat": {
+                    "$ref": "#/definitions/DateFormat"
+                },
                 "base64Variant": {
                     "$ref": "#/definitions/Base64Variant"
                 },
+                "annotationProcessingEnabled": {
+                    "type": "boolean"
+                },
                 "classIntrospector": {
                     "$ref": "#/definitions/ClassIntrospector"
                 }
@@ -29294,6 +29294,9 @@
                 "timeZone": {
                     "$ref": "#/definitions/TimeZone"
                 },
+                "generator": {
+                    "$ref": "#/definitions/JsonGenerator"
+                },
                 "config": {
                     "$ref": "#/definitions/SerializationConfig"
                 },
@@ -29303,9 +29306,6 @@
                 "annotationIntrospector": {
                     "$ref": "#/definitions/AnnotationIntrospector"
                 },
-                "generator": {
-                    "$ref": "#/definitions/JsonGenerator"
-                },
                 "defaultNullValueSerializer": {
                     "$ref": "#/definitions/JsonSerializerObject"
                 },
@@ -29410,13 +29410,21 @@
                 "type": {
                     "type": "string"
                 },
-                "chunkedMessageRate": {
+                "consumers": {
+                    "type": "array",
+                    "items": {
+                        "$ref": "#/definitions/ConsumerStats"
+                    }
+                },
+                "backlogSize": {
                     "type": "integer",
-                    "format": "int32"
+                    "format": "int64"
                 },
-                "msgRateExpired": {
-                    "type": "number",
-                    "format": "double"
+                "consumersAfterMarkDeletePosition": {
+                    "type": "object",
+                    "additionalProperties": {
+                        "type": "string"
+                    }
                 },
                 "msgBacklog": {
                     "type": "integer",
@@ -29426,6 +29434,10 @@
                     "type": "number",
                     "format": "double"
                 },
+                "chunkedMessageRate": {
+                    "type": "integer",
+                    "format": "int32"
+                },
                 "earliestMsgPublishTimeInBacklog": {
                     "type": "integer",
                     "format": "int64"
@@ -29448,6 +29460,10 @@
                 "activeConsumerName": {
                     "type": "string"
                 },
+                "msgRateExpired": {
+                    "type": "number",
+                    "format": "double"
+                },
                 "totalMsgExpired": {
                     "type": "integer",
                     "format": "int64"
@@ -29472,24 +29488,6 @@
                     "type": "integer",
                     "format": "int64"
                 },
-                "consumersAfterMarkDeletePosition": {
-                    "type": "object",
-                    "additionalProperties": {
-                        "type": "string"
-                    }
-                },
-                "subscriptionProperties": {
-                    "type": "object",
-                    "additionalProperties": {
-                        "type": "string"
-                    }
-                },
-                "allowOutOfOrderDelivery": {
-                    "type": "boolean"
-                },
-                "keySharedMode": {
-                    "type": "string"
-                },
                 "msgThroughputOut": {
                     "type": "number",
                     "format": "double"
@@ -29502,17 +29500,17 @@
                     "type": "integer",
                     "format": "int64"
                 },
-                "backlogSize": {
-                    "type": "integer",
-                    "format": "int64"
+                "subscriptionProperties": {
+                    "type": "object",
+                    "additionalProperties": {
+                        "type": "string"
+                    }
                 },
-                "nonContiguousDeletedMessagesRanges": {
-                    "type": "integer",
-                    "format": "int32"
+                "allowOutOfOrderDelivery": {
+                    "type": "boolean"
                 },
-                "nonContiguousDeletedMessagesRangesSerializedSize": {
-                    "type": "integer",
-                    "format": "int32"
+                "keySharedMode": {
+                    "type": "string"
                 },
                 "replicated": {
                     "type": "boolean"
@@ -29524,11 +29522,13 @@
                     "type": "number",
                     "format": "double"
                 },
-                "consumers": {
-                    "type": "array",
-                    "items": {
-                        "$ref": "#/definitions/ConsumerStats"
-                    }
+                "nonContiguousDeletedMessagesRanges": {
+                    "type": "integer",
+                    "format": "int32"
+                },
+                "nonContiguousDeletedMessagesRangesSerializedSize": {
+                    "type": "integer",
+                    "format": "int32"
                 }
             }
         },
@@ -29594,9 +29594,6 @@
                 "displayName": {
                     "type": "string"
                 },
-                "id": {
-                    "type": "string"
-                },
                 "dstsavings": {
                     "type": "integer",
                     "format": "int32"
@@ -29604,17 +29601,24 @@
                 "rawOffset": {
                     "type": "integer",
                     "format": "int32"
+                },
+                "id": {
+                    "type": "string"
                 }
             }
         },
         "TopicStats": {
             "type": "object",
             "properties": {
-                "msgThroughputOut": {
+                "backlogSize": {
+                    "type": "integer",
+                    "format": "int64"
+                },
+                "msgThroughputIn": {
                     "type": "number",
                     "format": "double"
                 },
-                "msgThroughputIn": {
+                "msgThroughputOut": {
                     "type": "number",
                     "format": "double"
                 },
@@ -29638,15 +29642,32 @@
                     "type": "number",
                     "format": "double"
                 },
+                "msgChunkPublished": {
+                    "type": "boolean"
+                },
+                "subscriptions": {
+                    "type": "object",
+                    "additionalProperties": {
+                        "$ref": "#/definitions/SubscriptionStats"
+                    }
+                },
+                "msgRateIn": {
+                    "type": "number",
+                    "format": "double"
+                },
+                "msgRateOut": {
+                    "type": "number",
+                    "format": "double"
+                },
                 "storageSize": {
                     "type": "integer",
                     "format": "int64"
                 },
-                "backlogSize": {
+                "earliestMsgPublishTimeInBacklogs": {
                     "type": "integer",
                     "format": "int64"
                 },
-                "earliestMsgPublishTimeInBacklogs": {
+                "offloadedStorageSize": {
                     "type": "integer",
                     "format": "int64"
                 },
@@ -29666,10 +29687,6 @@
                         "$ref": "#/definitions/ReplicatorStats"
                     }
                 },
-                "nonContiguousDeletedMessagesRanges": {
-                    "type": "integer",
-                    "format": "int32"
-                },
                 "deduplicationStatus": {
                     "type": "string"
                 },
@@ -29677,33 +29694,16 @@
                     "type": "integer",
                     "format": "int64"
                 },
+                "nonContiguousDeletedMessagesRanges": {
+                    "type": "integer",
+                    "format": "int32"
+                },
                 "nonContiguousDeletedMessagesRangesSerializedSize": {
                     "type": "integer",
                     "format": "int32"
                 },
                 "compaction": {
                     "$ref": "#/definitions/CompactionStats"
-                },
-                "subscriptions": {
-                    "type": "object",
-                    "additionalProperties": {
-                        "$ref": "#/definitions/SubscriptionStats"
-                    }
-                },
-                "offloadedStorageSize": {
-                    "type": "integer",
-                    "format": "int64"
-                },
-                "msgChunkPublished": {
-                    "type": "boolean"
-                },
-                "msgRateIn": {
-                    "type": "number",
-                    "format": "double"
-                },
-                "msgRateOut": {
-                    "type": "number",
-                    "format": "double"
                 }
             }
         },
diff --git a/content/swagger/2.10.0-SNAPSHOT/v3/swaggerfunctions.json b/content/swagger/2.10.0-SNAPSHOT/v3/swaggerfunctions.json
index e36edc7..950c8d7 100644
--- a/content/swagger/2.10.0-SNAPSHOT/v3/swaggerfunctions.json
+++ b/content/swagger/2.10.0-SNAPSHOT/v3/swaggerfunctions.json
@@ -1165,12 +1165,12 @@
         "AuthenticationDataSource": {
             "type": "object",
             "properties": {
-                "subscription": {
-                    "type": "string"
-                },
                 "peerAddress": {
                     "$ref": "#/definitions/SocketAddress"
                 },
+                "subscription": {
+                    "type": "string"
+                },
                 "tlsCertificates": {
                     "type": "array",
                     "items": {
@@ -1191,16 +1191,16 @@
                 "name": {
                     "type": "string"
                 },
+                "maxLineLength": {
+                    "type": "integer",
+                    "format": "int32"
+                },
                 "paddingChar": {
                     "type": "string"
                 },
                 "paddingByte": {
                     "type": "string",
                     "format": "byte"
-                },
-                "maxLineLength": {
-                    "type": "integer",
-                    "format": "int32"
                 }
             }
         },
@@ -1269,54 +1269,54 @@
         "CompletableFuture": {
             "type": "object",
             "properties": {
-                "done": {
+                "cancelled": {
                     "type": "boolean"
                 },
-                "numberOfDependents": {
-                    "type": "integer",
-                    "format": "int32"
-                },
-                "cancelled": {
+                "done": {
                     "type": "boolean"
                 },
                 "completedExceptionally": {
                     "type": "boolean"
+                },
+                "numberOfDependents": {
+                    "type": "integer",
+                    "format": "int32"
                 }
             }
         },
         "CompletableFutureClusterData": {
             "type": "object",
             "properties": {
-                "done": {
+                "cancelled": {
                     "type": "boolean"
                 },
-                "numberOfDependents": {
-                    "type": "integer",
-                    "format": "int32"
-                },
-                "cancelled": {
+                "done": {
                     "type": "boolean"
                 },
                 "completedExceptionally": {
                     "type": "boolean"
+                },
+                "numberOfDependents": {
+                    "type": "integer",
+                    "format": "int32"
                 }
             }
         },
         "CompletableFutureVoid": {
             "type": "object",
             "properties": {
-                "done": {
+                "cancelled": {
                     "type": "boolean"
                 },
-                "numberOfDependents": {
-                    "type": "integer",
-                    "format": "int32"
-                },
-                "cancelled": {
+                "done": {
                     "type": "boolean"
                 },
                 "completedExceptionally": {
                     "type": "boolean"
+                },
+                "numberOfDependents": {
+                    "type": "integer",
+                    "format": "int32"
                 }
             }
         },
@@ -1408,10 +1408,10 @@
                     "type": "integer",
                     "format": "int32"
                 },
-                "displayName": {
+                "symbol": {
                     "type": "string"
                 },
-                "symbol": {
+                "displayName": {
                     "type": "string"
                 },
                 "numericCodeAsString": {
@@ -1440,15 +1440,15 @@
         "DeserializationConfig": {
             "type": "object",
             "properties": {
-                "nodeFactory": {
-                    "$ref": "#/definitions/JsonNodeFactory"
-                },
                 "annotationIntrospector": {
                     "$ref": "#/definitions/AnnotationIntrospector"
                 },
                 "defaultPropertyInclusion": {
                     "$ref": "#/definitions/Value"
                 },
+                "nodeFactory": {
+                    "$ref": "#/definitions/JsonNodeFactory"
+                },
                 "deserializationFeatures": {
                     "type": "integer",
                     "format": "int32"
@@ -1459,42 +1459,42 @@
                 "attributes": {
                     "$ref": "#/definitions/ContextAttributes"
                 },
-                "subtypeResolver": {
-                    "$ref": "#/definitions/SubtypeResolver"
-                },
-                "defaultVisibilityChecker": {
-                    "$ref": "#/definitions/VisibilityCheckerObject"
-                },
                 "rootName": {
                     "type": "string"
                 },
                 "fullRootName": {
                     "$ref": "#/definitions/PropertyName"
                 },
+                "subtypeResolver": {
+                    "$ref": "#/definitions/SubtypeResolver"
+                },
+                "defaultVisibilityChecker": {
+                    "$ref": "#/definitions/VisibilityCheckerObject"
+                },
                 "locale": {
                     "$ref": "#/definitions/Locale"
                 },
                 "timeZone": {
                     "$ref": "#/definitions/TimeZone"
                 },
-                "propertyNamingStrategy": {
-                    "$ref": "#/definitions/PropertyNamingStrategy"
-                },
-                "dateFormat": {
-                    "$ref": "#/definitions/DateFormat"
-                },
-                "annotationProcessingEnabled": {
-                    "type": "boolean"
-                },
                 "typeFactory": {
                     "$ref": "#/definitions/TypeFactory"
                 },
                 "handlerInstantiator": {
                     "$ref": "#/definitions/HandlerInstantiator"
                 },
+                "propertyNamingStrategy": {
+                    "$ref": "#/definitions/PropertyNamingStrategy"
+                },
+                "dateFormat": {
+                    "$ref": "#/definitions/DateFormat"
+                },
                 "base64Variant": {
                     "$ref": "#/definitions/Base64Variant"
                 },
+                "annotationProcessingEnabled": {
+                    "type": "boolean"
+                },
                 "classIntrospector": {
                     "$ref": "#/definitions/ClassIntrospector"
                 }
@@ -1515,9 +1515,6 @@
                 "config": {
                     "$ref": "#/definitions/DeserializationConfig"
                 },
-                "nodeFactory": {
-                    "$ref": "#/definitions/JsonNodeFactory"
-                },
                 "parser": {
                     "$ref": "#/definitions/JsonParser"
                 },
@@ -1527,6 +1524,9 @@
                 "annotationIntrospector": {
                     "$ref": "#/definitions/AnnotationIntrospector"
                 },
+                "nodeFactory": {
+                    "$ref": "#/definitions/JsonNodeFactory"
+                },
                 "contextualType": {
                     "$ref": "#/definitions/JavaType"
                 },
@@ -2194,6 +2194,9 @@
                 "codec": {
                     "$ref": "#/definitions/ObjectCodec"
                 },
+                "formatName": {
+                    "type": "string"
+                },
                 "inputDecorator": {
                     "$ref": "#/definitions/InputDecorator"
                 },
@@ -2203,9 +2206,6 @@
                 "outputDecorator": {
                     "$ref": "#/definitions/OutputDecorator"
                 },
-                "formatName": {
-                    "type": "string"
-                },
                 "rootValueSeparator": {
                     "type": "string"
                 }
@@ -2214,20 +2214,23 @@
         "JsonGenerator": {
             "type": "object",
             "properties": {
+                "closed": {
+                    "type": "boolean"
+                },
+                "schema": {
+                    "$ref": "#/definitions/FormatSchema"
+                },
                 "codec": {
                     "$ref": "#/definitions/ObjectCodec"
                 },
                 "prettyPrinter": {
                     "$ref": "#/definitions/PrettyPrinter"
                 },
-                "closed": {
-                    "type": "boolean"
-                },
                 "characterEscapes": {
                     "$ref": "#/definitions/CharacterEscapes"
                 },
-                "schema": {
-                    "$ref": "#/definitions/FormatSchema"
+                "currentValue": {
+                    "type": "object"
                 },
                 "featureMask": {
                     "type": "integer",
@@ -2248,9 +2251,6 @@
                     "type": "integer",
                     "format": "int32"
                 },
-                "currentValue": {
-                    "type": "object"
-                },
                 "outputContext": {
                     "$ref": "#/definitions/JsonStreamContext"
                 }
@@ -2290,8 +2290,8 @@
                     "type": "integer",
                     "format": "int32"
                 },
-                "codec": {
-                    "$ref": "#/definitions/ObjectCodec"
+                "closed": {
+                    "type": "boolean"
                 },
                 "text": {
                     "type": "string"
@@ -2302,24 +2302,6 @@
                         "type": "string"
                     }
                 },
-                "currentToken": {
-                    "type": "string",
-                    "enum": [
-                        "NOT_AVAILABLE",
-                        "START_OBJECT",
-                        "END_OBJECT",
-                        "START_ARRAY",
-                        "END_ARRAY",
-                        "FIELD_NAME",
-                        "VALUE_EMBEDDED_OBJECT",
-                        "VALUE_STRING",
-                        "VALUE_NUMBER_INT",
-                        "VALUE_NUMBER_FLOAT",
-                        "VALUE_TRUE",
-                        "VALUE_FALSE",
-                        "VALUE_NULL"
-                    ]
-                },
                 "booleanValue": {
                     "type": "boolean"
                 },
@@ -2343,10 +2325,7 @@
                     "type": "integer",
                     "format": "int32"
                 },
-                "closed": {
-                    "type": "boolean"
-                },
-                "inputSource": {
+                "objectId": {
                     "type": "object"
                 },
                 "intValue": {
@@ -2356,15 +2335,42 @@
                 "typeId": {
                     "type": "object"
                 },
-                "currentName": {
-                    "type": "string"
-                },
                 "schema": {
                     "$ref": "#/definitions/FormatSchema"
                 },
+                "codec": {
+                    "$ref": "#/definitions/ObjectCodec"
+                },
+                "currentToken": {
+                    "type": "string",
+                    "enum": [
+                        "NOT_AVAILABLE",
+                        "START_OBJECT",
+                        "END_OBJECT",
+                        "START_ARRAY",
+                        "END_ARRAY",
+                        "FIELD_NAME",
+                        "VALUE_EMBEDDED_OBJECT",
+                        "VALUE_STRING",
+                        "VALUE_NUMBER_INT",
+                        "VALUE_NUMBER_FLOAT",
+                        "VALUE_TRUE",
+                        "VALUE_FALSE",
+                        "VALUE_NULL"
+                    ]
+                },
+                "currentName": {
+                    "type": "string"
+                },
                 "tokenLocation": {
                     "$ref": "#/definitions/JsonLocation"
                 },
+                "inputSource": {
+                    "type": "object"
+                },
+                "currentValue": {
+                    "type": "object"
+                },
                 "featureMask": {
                     "type": "integer",
                     "format": "int32"
@@ -2373,13 +2379,47 @@
                     "type": "integer",
                     "format": "int32"
                 },
-                "currentValue": {
-                    "type": "object"
+                "currentTokenId": {
+                    "type": "integer",
+                    "format": "int32"
+                },
+                "parsingContext": {
+                    "$ref": "#/definitions/JsonStreamContext"
+                },
+                "currentLocation": {
+                    "$ref": "#/definitions/JsonLocation"
+                },
+                "expectedStartArrayToken": {
+                    "type": "boolean"
+                },
+                "expectedStartObjectToken": {
+                    "type": "boolean"
+                },
+                "lastClearedToken": {
+                    "type": "string",
+                    "enum": [
+                        "NOT_AVAILABLE",
+                        "START_OBJECT",
+                        "END_OBJECT",
+                        "START_ARRAY",
+                        "END_ARRAY",
+                        "FIELD_NAME",
+                        "VALUE_EMBEDDED_OBJECT",
+                        "VALUE_STRING",
+                        "VALUE_NUMBER_INT",
+                        "VALUE_NUMBER_FLOAT",
+                        "VALUE_TRUE",
+                        "VALUE_FALSE",
+                        "VALUE_NULL"
+                    ]
                 },
                 "textOffset": {
                     "type": "integer",
                     "format": "int32"
                 },
+                "numberValue": {
+                    "$ref": "#/definitions/Number"
+                },
                 "numberType": {
                     "type": "string",
                     "enum": [
@@ -2424,46 +2464,6 @@
                 },
                 "valueAsString": {
                     "type": "string"
-                },
-                "parsingContext": {
-                    "$ref": "#/definitions/JsonStreamContext"
-                },
-                "currentLocation": {
-                    "$ref": "#/definitions/JsonLocation"
-                },
-                "expectedStartArrayToken": {
-                    "type": "boolean"
-                },
-                "expectedStartObjectToken": {
-                    "type": "boolean"
-                },
-                "lastClearedToken": {
-                    "type": "string",
-                    "enum": [
-                        "NOT_AVAILABLE",
-                        "START_OBJECT",
-                        "END_OBJECT",
-                        "START_ARRAY",
-                        "END_ARRAY",
-                        "FIELD_NAME",
-                        "VALUE_EMBEDDED_OBJECT",
-                        "VALUE_STRING",
-                        "VALUE_NUMBER_INT",
-                        "VALUE_NUMBER_FLOAT",
-                        "VALUE_TRUE",
-                        "VALUE_FALSE",
-                        "VALUE_NULL"
-                    ]
-                },
-                "numberValue": {
-                    "$ref": "#/definitions/Number"
-                },
-                "currentTokenId": {
-                    "type": "integer",
-                    "format": "int32"
-                },
-                "objectId": {
-                    "type": "object"
                 }
             }
         },
@@ -2523,6 +2523,9 @@
                 "displayName": {
                     "type": "string"
                 },
+                "language": {
+                    "type": "string"
+                },
                 "script": {
                     "type": "string"
                 },
@@ -2570,9 +2573,6 @@
                 },
                 "displayVariant": {
                     "type": "string"
-                },
-                "language": {
-                    "type": "string"
                 }
             }
         },
@@ -2582,6 +2582,13 @@
         "Message": {
             "type": "object",
             "properties": {
+                "keyBytes": {
+                    "type": "array",
+                    "items": {
+                        "type": "string",
+                        "format": "byte"
+                    }
+                },
                 "value": {
                     "type": "object"
                 },
@@ -2605,30 +2612,6 @@
                         "format": "byte"
                     }
                 },
-                "messageId": {
-                    "$ref": "#/definitions/MessageId"
-                },
-                "keyBytes": {
-                    "type": "array",
-                    "items": {
-                        "type": "string",
-                        "format": "byte"
-                    }
-                },
-                "encryptionCtx": {
-                    "$ref": "#/definitions/EncryptionContext"
-                },
-                "redeliveryCount": {
-                    "type": "integer",
-                    "format": "int32"
-                },
-                "readerSchema": {
-                    "$ref": "#/definitions/SchemaObject"
-                },
-                "brokerPublishTime": {
-                    "type": "integer",
-                    "format": "int64"
-                },
                 "publishTime": {
                     "type": "integer",
                     "format": "int64"
@@ -2666,6 +2649,23 @@
                 },
                 "topicName": {
                     "type": "string"
+                },
+                "messageId": {
+                    "$ref": "#/definitions/MessageId"
+                },
+                "encryptionCtx": {
+                    "$ref": "#/definitions/EncryptionContext"
+                },
+                "redeliveryCount": {
+                    "type": "integer",
+                    "format": "int32"
+                },
+                "readerSchema": {
+                    "$ref": "#/definitions/SchemaObject"
+                },
+                "brokerPublishTime": {
+                    "type": "integer",
+                    "format": "int64"
                 }
             }
         },
@@ -2753,9 +2753,6 @@
                     "type": "integer",
                     "format": "int32"
                 },
-                "currency": {
-                    "$ref": "#/definitions/Currency"
-                },
                 "roundingMode": {
                     "type": "string",
                     "enum": [
@@ -2768,6 +2765,9 @@
                         "HALF_EVEN",
                         "UNNECESSARY"
                     ]
+                },
+                "currency": {
+                    "$ref": "#/definitions/Currency"
                 }
             }
         },
@@ -2788,30 +2788,9 @@
                 "factory": {
                     "$ref": "#/definitions/JsonFactory"
                 },
-                "visibilityChecker": {
-                    "$ref": "#/definitions/VisibilityCheckerObject"
-                },
-                "subtypeResolver": {
-                    "$ref": "#/definitions/SubtypeResolver"
-                },
-                "propertyNamingStrategy": {
-                    "$ref": "#/definitions/PropertyNamingStrategy"
-                },
                 "typeFactory": {
                     "$ref": "#/definitions/TypeFactory"
                 },
-                "nodeFactory": {
-                    "$ref": "#/definitions/JsonNodeFactory"
-                },
-                "jsonFactory": {
-                    "$ref": "#/definitions/JsonFactory"
-                },
-                "dateFormat": {
-                    "$ref": "#/definitions/DateFormat"
-                },
-                "injectableValues": {
-                    "$ref": "#/definitions/InjectableValues"
-                },
                 "serializationConfig": {
                     "$ref": "#/definitions/SerializationConfig"
                 },
@@ -2829,6 +2808,27 @@
                 },
                 "serializerProviderInstance": {
                     "$ref": "#/definitions/SerializerProvider"
+                },
+                "visibilityChecker": {
+                    "$ref": "#/definitions/VisibilityCheckerObject"
+                },
+                "subtypeResolver": {
+                    "$ref": "#/definitions/SubtypeResolver"
+                },
+                "propertyNamingStrategy": {
+                    "$ref": "#/definitions/PropertyNamingStrategy"
+                },
+                "nodeFactory": {
+                    "$ref": "#/definitions/JsonNodeFactory"
+                },
+                "jsonFactory": {
+                    "$ref": "#/definitions/JsonFactory"
+                },
+                "dateFormat": {
+                    "$ref": "#/definitions/DateFormat"
+                },
+                "injectableValues": {
+                    "$ref": "#/definitions/InjectableValues"
                 }
             }
         },
@@ -2921,10 +2921,10 @@
         "PublicKey": {
             "type": "object",
             "properties": {
-                "algorithm": {
+                "format": {
                     "type": "string"
                 },
-                "format": {
+                "algorithm": {
                     "type": "string"
                 },
                 "encoded": {
@@ -3032,9 +3032,6 @@
         "SerializationConfig": {
             "type": "object",
             "properties": {
-                "defaultPrettyPrinter": {
-                    "$ref": "#/definitions/PrettyPrinter"
-                },
                 "annotationIntrospector": {
                     "$ref": "#/definitions/AnnotationIntrospector"
                 },
@@ -3044,6 +3041,9 @@
                 "filterProvider": {
                     "$ref": "#/definitions/FilterProvider"
                 },
+                "defaultPrettyPrinter": {
+                    "$ref": "#/definitions/PrettyPrinter"
+                },
                 "serializationInclusion": {
                     "type": "string",
                     "enum": [
@@ -3062,42 +3062,42 @@
                 "attributes": {
                     "$ref": "#/definitions/ContextAttributes"
                 },
-                "subtypeResolver": {
-                    "$ref": "#/definitions/SubtypeResolver"
-                },
-                "defaultVisibilityChecker": {
-                    "$ref": "#/definitions/VisibilityCheckerObject"
-                },
                 "rootName": {
                     "type": "string"
                 },
                 "fullRootName": {
                     "$ref": "#/definitions/PropertyName"
                 },
+                "subtypeResolver": {
+                    "$ref": "#/definitions/SubtypeResolver"
+                },
+                "defaultVisibilityChecker": {
+                    "$ref": "#/definitions/VisibilityCheckerObject"
+                },
                 "locale": {
                     "$ref": "#/definitions/Locale"
                 },
                 "timeZone": {
                     "$ref": "#/definitions/TimeZone"
                 },
-                "propertyNamingStrategy": {
-                    "$ref": "#/definitions/PropertyNamingStrategy"
-                },
-                "dateFormat": {
-                    "$ref": "#/definitions/DateFormat"
-                },
-                "annotationProcessingEnabled": {
-                    "type": "boolean"
-                },
                 "typeFactory": {
                     "$ref": "#/definitions/TypeFactory"
                 },
                 "handlerInstantiator": {
                     "$ref": "#/definitions/HandlerInstantiator"
                 },
+                "propertyNamingStrategy": {
+                    "$ref": "#/definitions/PropertyNamingStrategy"
+                },
+                "dateFormat": {
+                    "$ref": "#/definitions/DateFormat"
+                },
                 "base64Variant": {
                     "$ref": "#/definitions/Base64Variant"
                 },
+                "annotationProcessingEnabled": {
+                    "type": "boolean"
+                },
                 "classIntrospector": {
                     "$ref": "#/definitions/ClassIntrospector"
                 }
@@ -3115,6 +3115,9 @@
                 "timeZone": {
                     "$ref": "#/definitions/TimeZone"
                 },
+                "generator": {
+                    "$ref": "#/definitions/JsonGenerator"
+                },
                 "config": {
                     "$ref": "#/definitions/SerializationConfig"
                 },
@@ -3124,9 +3127,6 @@
                 "annotationIntrospector": {
                     "$ref": "#/definitions/AnnotationIntrospector"
                 },
-                "generator": {
-                    "$ref": "#/definitions/JsonGenerator"
-                },
                 "defaultNullValueSerializer": {
                     "$ref": "#/definitions/JsonSerializerObject"
                 },
@@ -3153,9 +3153,6 @@
                 "displayName": {
                     "type": "string"
                 },
-                "id": {
-                    "type": "string"
-                },
                 "dstsavings": {
                     "type": "integer",
                     "format": "int32"
@@ -3163,6 +3160,9 @@
                 "rawOffset": {
                     "type": "integer",
                     "format": "int32"
+                },
+                "id": {
+                    "type": "string"
                 }
             }
         },
diff --git a/content/swagger/2.10.0-SNAPSHOT/v3/swaggerpackages.json b/content/swagger/2.10.0-SNAPSHOT/v3/swaggerpackages.json
index ade4024..74cfd4a 100644
--- a/content/swagger/2.10.0-SNAPSHOT/v3/swaggerpackages.json
+++ b/content/swagger/2.10.0-SNAPSHOT/v3/swaggerpackages.json
@@ -497,12 +497,12 @@
         "AuthenticationDataSource": {
             "type": "object",
             "properties": {
-                "subscription": {
-                    "type": "string"
-                },
                 "peerAddress": {
                     "$ref": "#/definitions/SocketAddress"
                 },
+                "subscription": {
+                    "type": "string"
+                },
                 "tlsCertificates": {
                     "type": "array",
                     "items": {
@@ -523,16 +523,16 @@
                 "name": {
                     "type": "string"
                 },
+                "maxLineLength": {
+                    "type": "integer",
+                    "format": "int32"
+                },
                 "paddingChar": {
                     "type": "string"
                 },
                 "paddingByte": {
                     "type": "string",
                     "format": "byte"
-                },
-                "maxLineLength": {
-                    "type": "integer",
-                    "format": "int32"
                 }
             }
         },
@@ -601,54 +601,54 @@
         "CompletableFuture": {
             "type": "object",
             "properties": {
-                "done": {
+                "cancelled": {
                     "type": "boolean"
                 },
-                "numberOfDependents": {
-                    "type": "integer",
-                    "format": "int32"
-                },
-                "cancelled": {
+                "done": {
                     "type": "boolean"
                 },
                 "completedExceptionally": {
                     "type": "boolean"
+                },
+                "numberOfDependents": {
+                    "type": "integer",
+                    "format": "int32"
                 }
             }
         },
         "CompletableFutureClusterData": {
             "type": "object",
             "properties": {
-                "done": {
+                "cancelled": {
                     "type": "boolean"
                 },
-                "numberOfDependents": {
-                    "type": "integer",
-                    "format": "int32"
-                },
-                "cancelled": {
+                "done": {
                     "type": "boolean"
                 },
                 "completedExceptionally": {
                     "type": "boolean"
+                },
+                "numberOfDependents": {
+                    "type": "integer",
+                    "format": "int32"
                 }
             }
         },
         "CompletableFutureVoid": {
             "type": "object",
             "properties": {
-                "done": {
+                "cancelled": {
                     "type": "boolean"
                 },
-                "numberOfDependents": {
-                    "type": "integer",
-                    "format": "int32"
-                },
-                "cancelled": {
+                "done": {
                     "type": "boolean"
                 },
                 "completedExceptionally": {
                     "type": "boolean"
+                },
+                "numberOfDependents": {
+                    "type": "integer",
+                    "format": "int32"
                 }
             }
         },
@@ -669,10 +669,10 @@
                     "type": "integer",
                     "format": "int32"
                 },
-                "displayName": {
+                "symbol": {
                     "type": "string"
                 },
-                "symbol": {
+                "displayName": {
                     "type": "string"
                 },
                 "numericCodeAsString": {
@@ -701,15 +701,15 @@
         "DeserializationConfig": {
             "type": "object",
             "properties": {
-                "nodeFactory": {
-                    "$ref": "#/definitions/JsonNodeFactory"
-                },
                 "annotationIntrospector": {
                     "$ref": "#/definitions/AnnotationIntrospector"
                 },
                 "defaultPropertyInclusion": {
                     "$ref": "#/definitions/Value"
                 },
+                "nodeFactory": {
+                    "$ref": "#/definitions/JsonNodeFactory"
+                },
                 "deserializationFeatures": {
                     "type": "integer",
                     "format": "int32"
@@ -720,42 +720,42 @@
                 "attributes": {
                     "$ref": "#/definitions/ContextAttributes"
                 },
-                "subtypeResolver": {
-                    "$ref": "#/definitions/SubtypeResolver"
-                },
-                "defaultVisibilityChecker": {
-                    "$ref": "#/definitions/VisibilityCheckerObject"
-                },
                 "rootName": {
                     "type": "string"
                 },
                 "fullRootName": {
                     "$ref": "#/definitions/PropertyName"
                 },
+                "subtypeResolver": {
+                    "$ref": "#/definitions/SubtypeResolver"
+                },
+                "defaultVisibilityChecker": {
+                    "$ref": "#/definitions/VisibilityCheckerObject"
+                },
                 "locale": {
                     "$ref": "#/definitions/Locale"
                 },
                 "timeZone": {
                     "$ref": "#/definitions/TimeZone"
                 },
-                "propertyNamingStrategy": {
-                    "$ref": "#/definitions/PropertyNamingStrategy"
-                },
-                "dateFormat": {
-                    "$ref": "#/definitions/DateFormat"
-                },
-                "annotationProcessingEnabled": {
-                    "type": "boolean"
-                },
                 "typeFactory": {
                     "$ref": "#/definitions/TypeFactory"
                 },
                 "handlerInstantiator": {
                     "$ref": "#/definitions/HandlerInstantiator"
                 },
+                "propertyNamingStrategy": {
+                    "$ref": "#/definitions/PropertyNamingStrategy"
+                },
+                "dateFormat": {
+                    "$ref": "#/definitions/DateFormat"
+                },
                 "base64Variant": {
                     "$ref": "#/definitions/Base64Variant"
                 },
+                "annotationProcessingEnabled": {
+                    "type": "boolean"
+                },
                 "classIntrospector": {
                     "$ref": "#/definitions/ClassIntrospector"
                 }
@@ -776,9 +776,6 @@
                 "config": {
                     "$ref": "#/definitions/DeserializationConfig"
                 },
-                "nodeFactory": {
-                    "$ref": "#/definitions/JsonNodeFactory"
-                },
                 "parser": {
                     "$ref": "#/definitions/JsonParser"
                 },
@@ -788,6 +785,9 @@
                 "annotationIntrospector": {
                     "$ref": "#/definitions/AnnotationIntrospector"
                 },
+                "nodeFactory": {
+                    "$ref": "#/definitions/JsonNodeFactory"
+                },
                 "contextualType": {
                     "$ref": "#/definitions/JavaType"
                 },
@@ -927,6 +927,9 @@
                 "codec": {
                     "$ref": "#/definitions/ObjectCodec"
                 },
+                "formatName": {
+                    "type": "string"
+                },
                 "inputDecorator": {
                     "$ref": "#/definitions/InputDecorator"
                 },
@@ -936,9 +939,6 @@
                 "outputDecorator": {
                     "$ref": "#/definitions/OutputDecorator"
                 },
-                "formatName": {
-                    "type": "string"
-                },
                 "rootValueSeparator": {
                     "type": "string"
                 }
@@ -947,20 +947,23 @@
         "JsonGenerator": {
             "type": "object",
             "properties": {
+                "closed": {
+                    "type": "boolean"
+                },
+                "schema": {
+                    "$ref": "#/definitions/FormatSchema"
+                },
                 "codec": {
                     "$ref": "#/definitions/ObjectCodec"
                 },
                 "prettyPrinter": {
                     "$ref": "#/definitions/PrettyPrinter"
                 },
-                "closed": {
-                    "type": "boolean"
-                },
                 "characterEscapes": {
                     "$ref": "#/definitions/CharacterEscapes"
                 },
-                "schema": {
-                    "$ref": "#/definitions/FormatSchema"
+                "currentValue": {
+                    "type": "object"
                 },
                 "featureMask": {
                     "type": "integer",
@@ -981,9 +984,6 @@
                     "type": "integer",
                     "format": "int32"
                 },
-                "currentValue": {
-                    "type": "object"
-                },
                 "outputContext": {
                     "$ref": "#/definitions/JsonStreamContext"
                 }
@@ -1023,8 +1023,8 @@
                     "type": "integer",
                     "format": "int32"
                 },
-                "codec": {
-                    "$ref": "#/definitions/ObjectCodec"
+                "closed": {
+                    "type": "boolean"
                 },
                 "text": {
                     "type": "string"
@@ -1035,24 +1035,6 @@
                         "type": "string"
                     }
                 },
-                "currentToken": {
-                    "type": "string",
-                    "enum": [
-                        "NOT_AVAILABLE",
-                        "START_OBJECT",
-                        "END_OBJECT",
-                        "START_ARRAY",
-                        "END_ARRAY",
-                        "FIELD_NAME",
-                        "VALUE_EMBEDDED_OBJECT",
-                        "VALUE_STRING",
-                        "VALUE_NUMBER_INT",
-                        "VALUE_NUMBER_FLOAT",
-                        "VALUE_TRUE",
-                        "VALUE_FALSE",
-                        "VALUE_NULL"
-                    ]
-                },
                 "booleanValue": {
                     "type": "boolean"
                 },
@@ -1076,10 +1058,7 @@
                     "type": "integer",
                     "format": "int32"
                 },
-                "closed": {
-                    "type": "boolean"
-                },
-                "inputSource": {
+                "objectId": {
                     "type": "object"
                 },
                 "intValue": {
@@ -1089,15 +1068,42 @@
                 "typeId": {
                     "type": "object"
                 },
-                "currentName": {
-                    "type": "string"
-                },
                 "schema": {
                     "$ref": "#/definitions/FormatSchema"
                 },
+                "codec": {
+                    "$ref": "#/definitions/ObjectCodec"
+                },
+                "currentToken": {
+                    "type": "string",
+                    "enum": [
+                        "NOT_AVAILABLE",
+                        "START_OBJECT",
+                        "END_OBJECT",
+                        "START_ARRAY",
+                        "END_ARRAY",
+                        "FIELD_NAME",
+                        "VALUE_EMBEDDED_OBJECT",
+                        "VALUE_STRING",
+                        "VALUE_NUMBER_INT",
+                        "VALUE_NUMBER_FLOAT",
+                        "VALUE_TRUE",
+                        "VALUE_FALSE",
+                        "VALUE_NULL"
+                    ]
+                },
+                "currentName": {
+                    "type": "string"
+                },
                 "tokenLocation": {
                     "$ref": "#/definitions/JsonLocation"
                 },
+                "inputSource": {
+                    "type": "object"
+                },
+                "currentValue": {
+                    "type": "object"
+                },
                 "featureMask": {
                     "type": "integer",
                     "format": "int32"
@@ -1106,13 +1112,47 @@
                     "type": "integer",
                     "format": "int32"
                 },
-                "currentValue": {
-                    "type": "object"
+                "currentTokenId": {
+                    "type": "integer",
+                    "format": "int32"
+                },
+                "parsingContext": {
+                    "$ref": "#/definitions/JsonStreamContext"
+                },
+                "currentLocation": {
+                    "$ref": "#/definitions/JsonLocation"
+                },
+                "expectedStartArrayToken": {
+                    "type": "boolean"
+                },
+                "expectedStartObjectToken": {
+                    "type": "boolean"
+                },
+                "lastClearedToken": {
+                    "type": "string",
+                    "enum": [
+                        "NOT_AVAILABLE",
+                        "START_OBJECT",
+                        "END_OBJECT",
+                        "START_ARRAY",
+                        "END_ARRAY",
+                        "FIELD_NAME",
+                        "VALUE_EMBEDDED_OBJECT",
+                        "VALUE_STRING",
+                        "VALUE_NUMBER_INT",
+                        "VALUE_NUMBER_FLOAT",
+                        "VALUE_TRUE",
+                        "VALUE_FALSE",
+                        "VALUE_NULL"
+                    ]
                 },
                 "textOffset": {
                     "type": "integer",
                     "format": "int32"
                 },
+                "numberValue": {
+                    "$ref": "#/definitions/Number"
+                },
                 "numberType": {
                     "type": "string",
                     "enum": [
@@ -1157,46 +1197,6 @@
                 },
                 "valueAsString": {
                     "type": "string"
-                },
-                "parsingContext": {
-                    "$ref": "#/definitions/JsonStreamContext"
-                },
-                "currentLocation": {
-                    "$ref": "#/definitions/JsonLocation"
-                },
-                "expectedStartArrayToken": {
-                    "type": "boolean"
-                },
-                "expectedStartObjectToken": {
-                    "type": "boolean"
-                },
-                "lastClearedToken": {
-                    "type": "string",
-                    "enum": [
-                        "NOT_AVAILABLE",
-                        "START_OBJECT",
-                        "END_OBJECT",
-                        "START_ARRAY",
-                        "END_ARRAY",
-                        "FIELD_NAME",
-                        "VALUE_EMBEDDED_OBJECT",
-                        "VALUE_STRING",
-                        "VALUE_NUMBER_INT",
-                        "VALUE_NUMBER_FLOAT",
-                        "VALUE_TRUE",
-                        "VALUE_FALSE",
-                        "VALUE_NULL"
-                    ]
-                },
-                "numberValue": {
-                    "$ref": "#/definitions/Number"
-                },
-                "currentTokenId": {
-                    "type": "integer",
-                    "format": "int32"
-                },
-                "objectId": {
-                    "type": "object"
                 }
             }
         },
@@ -1256,6 +1256,9 @@
                 "displayName": {
                     "type": "string"
                 },
+                "language": {
+                    "type": "string"
+                },
                 "script": {
                     "type": "string"
                 },
@@ -1303,9 +1306,6 @@
                 },
                 "displayVariant": {
                     "type": "string"
-                },
-                "language": {
-                    "type": "string"
                 }
             }
         },
@@ -1393,9 +1393,6 @@
                     "type": "integer",
                     "format": "int32"
                 },
-                "currency": {
-                    "$ref": "#/definitions/Currency"
-                },
                 "roundingMode": {
                     "type": "string",
                     "enum": [
@@ -1408,6 +1405,9 @@
                         "HALF_EVEN",
                         "UNNECESSARY"
                     ]
+                },
+                "currency": {
+                    "$ref": "#/definitions/Currency"
                 }
             }
         },
@@ -1428,30 +1428,9 @@
                 "factory": {
                     "$ref": "#/definitions/JsonFactory"
                 },
-                "visibilityChecker": {
-                    "$ref": "#/definitions/VisibilityCheckerObject"
-                },
-                "subtypeResolver": {
-                    "$ref": "#/definitions/SubtypeResolver"
-                },
-                "propertyNamingStrategy": {
-                    "$ref": "#/definitions/PropertyNamingStrategy"
-                },
                 "typeFactory": {
                     "$ref": "#/definitions/TypeFactory"
                 },
-                "nodeFactory": {
-                    "$ref": "#/definitions/JsonNodeFactory"
-                },
-                "jsonFactory": {
-                    "$ref": "#/definitions/JsonFactory"
-                },
-                "dateFormat": {
-                    "$ref": "#/definitions/DateFormat"
-                },
-                "injectableValues": {
-                    "$ref": "#/definitions/InjectableValues"
-                },
                 "serializationConfig": {
                     "$ref": "#/definitions/SerializationConfig"
                 },
@@ -1469,6 +1448,27 @@
                 },
                 "serializerProviderInstance": {
                     "$ref": "#/definitions/SerializerProvider"
+                },
+                "visibilityChecker": {
+                    "$ref": "#/definitions/VisibilityCheckerObject"
+                },
+                "subtypeResolver": {
+                    "$ref": "#/definitions/SubtypeResolver"
+                },
+                "propertyNamingStrategy": {
+                    "$ref": "#/definitions/PropertyNamingStrategy"
+                },
+                "nodeFactory": {
+                    "$ref": "#/definitions/JsonNodeFactory"
+                },
+                "jsonFactory": {
+                    "$ref": "#/definitions/JsonFactory"
+                },
+                "dateFormat": {
+                    "$ref": "#/definitions/DateFormat"
+                },
+                "injectableValues": {
+                    "$ref": "#/definitions/InjectableValues"
                 }
             }
         },
@@ -1564,10 +1564,10 @@
         "PublicKey": {
             "type": "object",
             "properties": {
-                "algorithm": {
+                "format": {
                     "type": "string"
                 },
-                "format": {
+                "algorithm": {
                     "type": "string"
                 },
                 "encoded": {
@@ -1582,9 +1582,6 @@
         "SerializationConfig": {
             "type": "object",
             "properties": {
-                "defaultPrettyPrinter": {
-                    "$ref": "#/definitions/PrettyPrinter"
-                },
                 "annotationIntrospector": {
                     "$ref": "#/definitions/AnnotationIntrospector"
                 },
@@ -1594,6 +1591,9 @@
                 "filterProvider": {
                     "$ref": "#/definitions/FilterProvider"
                 },
+                "defaultPrettyPrinter": {
+                    "$ref": "#/definitions/PrettyPrinter"
+                },
                 "serializationInclusion": {
                     "type": "string",
                     "enum": [
@@ -1612,42 +1612,42 @@
                 "attributes": {
                     "$ref": "#/definitions/ContextAttributes"
                 },
-                "subtypeResolver": {
-                    "$ref": "#/definitions/SubtypeResolver"
-                },
-                "defaultVisibilityChecker": {
-                    "$ref": "#/definitions/VisibilityCheckerObject"
-                },
                 "rootName": {
                     "type": "string"
                 },
                 "fullRootName": {
                     "$ref": "#/definitions/PropertyName"
                 },
+                "subtypeResolver": {
+                    "$ref": "#/definitions/SubtypeResolver"
+                },
+                "defaultVisibilityChecker": {
+                    "$ref": "#/definitions/VisibilityCheckerObject"
+                },
                 "locale": {
                     "$ref": "#/definitions/Locale"
                 },
                 "timeZone": {
                     "$ref": "#/definitions/TimeZone"
                 },
-                "propertyNamingStrategy": {
-                    "$ref": "#/definitions/PropertyNamingStrategy"
-                },
-                "dateFormat": {
-                    "$ref": "#/definitions/DateFormat"
-                },
-                "annotationProcessingEnabled": {
-                    "type": "boolean"
-                },
                 "typeFactory": {
                     "$ref": "#/definitions/TypeFactory"
                 },
                 "handlerInstantiator": {
                     "$ref": "#/definitions/HandlerInstantiator"
                 },
+                "propertyNamingStrategy": {
+                    "$ref": "#/definitions/PropertyNamingStrategy"
+                },
+                "dateFormat": {
+                    "$ref": "#/definitions/DateFormat"
+                },
                 "base64Variant": {
                     "$ref": "#/definitions/Base64Variant"
                 },
+                "annotationProcessingEnabled": {
+                    "type": "boolean"
+                },
                 "classIntrospector": {
                     "$ref": "#/definitions/ClassIntrospector"
                 }
@@ -1665,6 +1665,9 @@
                 "timeZone": {
                     "$ref": "#/definitions/TimeZone"
                 },
+                "generator": {
+                    "$ref": "#/definitions/JsonGenerator"
+                },
                 "config": {
                     "$ref": "#/definitions/SerializationConfig"
                 },
@@ -1674,9 +1677,6 @@
                 "annotationIntrospector": {
                     "$ref": "#/definitions/AnnotationIntrospector"
                 },
-                "generator": {
-                    "$ref": "#/definitions/JsonGenerator"
-                },
                 "defaultNullValueSerializer": {
                     "$ref": "#/definitions/JsonSerializerObject"
                 },
@@ -1706,9 +1706,6 @@
                 "displayName": {
                     "type": "string"
                 },
-                "id": {
-                    "type": "string"
-                },
                 "dstsavings": {
                     "type": "integer",
                     "format": "int32"
@@ -1716,6 +1713,9 @@
                 "rawOffset": {
                     "type": "integer",
                     "format": "int32"
+                },
+                "id": {
+                    "type": "string"
                 }
             }
         },
diff --git a/content/swagger/2.10.0-SNAPSHOT/v3/swaggersink.json b/content/swagger/2.10.0-SNAPSHOT/v3/swaggersink.json
index 438e7a9..4798fb3 100644
--- a/content/swagger/2.10.0-SNAPSHOT/v3/swaggersink.json
+++ b/content/swagger/2.10.0-SNAPSHOT/v3/swaggersink.json
@@ -962,12 +962,12 @@
         "AuthenticationDataSource": {
             "type": "object",
             "properties": {
-                "subscription": {
-                    "type": "string"
-                },
                 "peerAddress": {
                     "$ref": "#/definitions/SocketAddress"
                 },
+                "subscription": {
+                    "type": "string"
+                },
                 "tlsCertificates": {
                     "type": "array",
                     "items": {
@@ -988,16 +988,16 @@
                 "name": {
                     "type": "string"
                 },
+                "maxLineLength": {
+                    "type": "integer",
+                    "format": "int32"
+                },
                 "paddingChar": {
                     "type": "string"
                 },
                 "paddingByte": {
                     "type": "string",
                     "format": "byte"
-                },
-                "maxLineLength": {
-                    "type": "integer",
-                    "format": "int32"
                 }
             }
         },
@@ -1066,54 +1066,54 @@
         "CompletableFuture": {
             "type": "object",
             "properties": {
-                "done": {
+                "cancelled": {
                     "type": "boolean"
                 },
-                "numberOfDependents": {
-                    "type": "integer",
-                    "format": "int32"
-                },
-                "cancelled": {
+                "done": {
                     "type": "boolean"
                 },
                 "completedExceptionally": {
                     "type": "boolean"
+                },
+                "numberOfDependents": {
+                    "type": "integer",
+                    "format": "int32"
                 }
             }
         },
         "CompletableFutureClusterData": {
             "type": "object",
             "properties": {
-                "done": {
+                "cancelled": {
                     "type": "boolean"
                 },
-                "numberOfDependents": {
-                    "type": "integer",
-                    "format": "int32"
-                },
-                "cancelled": {
+                "done": {
                     "type": "boolean"
                 },
                 "completedExceptionally": {
                     "type": "boolean"
+                },
+                "numberOfDependents": {
+                    "type": "integer",
+                    "format": "int32"
                 }
             }
         },
         "CompletableFutureVoid": {
             "type": "object",
             "properties": {
-                "done": {
+                "cancelled": {
                     "type": "boolean"
                 },
-                "numberOfDependents": {
-                    "type": "integer",
-                    "format": "int32"
-                },
-                "cancelled": {
+                "done": {
                     "type": "boolean"
                 },
                 "completedExceptionally": {
                     "type": "boolean"
+                },
+                "numberOfDependents": {
+                    "type": "integer",
+                    "format": "int32"
                 }
             }
         },
@@ -1245,10 +1245,10 @@
                     "type": "integer",
                     "format": "int32"
                 },
-                "displayName": {
+                "symbol": {
                     "type": "string"
                 },
-                "symbol": {
+                "displayName": {
                     "type": "string"
                 },
                 "numericCodeAsString": {
@@ -1277,15 +1277,15 @@
         "DeserializationConfig": {
             "type": "object",
             "properties": {
-                "nodeFactory": {
-                    "$ref": "#/definitions/JsonNodeFactory"
-                },
                 "annotationIntrospector": {
                     "$ref": "#/definitions/AnnotationIntrospector"
                 },
                 "defaultPropertyInclusion": {
                     "$ref": "#/definitions/Value"
                 },
+                "nodeFactory": {
+                    "$ref": "#/definitions/JsonNodeFactory"
+                },
                 "deserializationFeatures": {
                     "type": "integer",
                     "format": "int32"
@@ -1296,42 +1296,42 @@
                 "attributes": {
                     "$ref": "#/definitions/ContextAttributes"
                 },
-                "subtypeResolver": {
-                    "$ref": "#/definitions/SubtypeResolver"
-                },
-                "defaultVisibilityChecker": {
-                    "$ref": "#/definitions/VisibilityCheckerObject"
-                },
                 "rootName": {
                     "type": "string"
                 },
                 "fullRootName": {
                     "$ref": "#/definitions/PropertyName"
                 },
+                "subtypeResolver": {
+                    "$ref": "#/definitions/SubtypeResolver"
+                },
+                "defaultVisibilityChecker": {
+                    "$ref": "#/definitions/VisibilityCheckerObject"
+                },
                 "locale": {
                     "$ref": "#/definitions/Locale"
                 },
                 "timeZone": {
                     "$ref": "#/definitions/TimeZone"
                 },
-                "propertyNamingStrategy": {
-                    "$ref": "#/definitions/PropertyNamingStrategy"
-                },
-                "dateFormat": {
-                    "$ref": "#/definitions/DateFormat"
-                },
-                "annotationProcessingEnabled": {
-                    "type": "boolean"
-                },
                 "typeFactory": {
                     "$ref": "#/definitions/TypeFactory"
                 },
                 "handlerInstantiator": {
                     "$ref": "#/definitions/HandlerInstantiator"
                 },
+                "propertyNamingStrategy": {
+                    "$ref": "#/definitions/PropertyNamingStrategy"
+                },
+                "dateFormat": {
+                    "$ref": "#/definitions/DateFormat"
+                },
                 "base64Variant": {
                     "$ref": "#/definitions/Base64Variant"
                 },
+                "annotationProcessingEnabled": {
+                    "type": "boolean"
+                },
                 "classIntrospector": {
                     "$ref": "#/definitions/ClassIntrospector"
                 }
@@ -1352,9 +1352,6 @@
                 "config": {
                     "$ref": "#/definitions/DeserializationConfig"
                 },
-                "nodeFactory": {
-                    "$ref": "#/definitions/JsonNodeFactory"
-                },
                 "parser": {
                     "$ref": "#/definitions/JsonParser"
                 },
@@ -1364,6 +1361,9 @@
                 "annotationIntrospector": {
                     "$ref": "#/definitions/AnnotationIntrospector"
                 },
+                "nodeFactory": {
+                    "$ref": "#/definitions/JsonNodeFactory"
+                },
                 "contextualType": {
                     "$ref": "#/definitions/JavaType"
                 },
@@ -1515,6 +1515,9 @@
                 "codec": {
                     "$ref": "#/definitions/ObjectCodec"
                 },
+                "formatName": {
+                    "type": "string"
+                },
                 "inputDecorator": {
                     "$ref": "#/definitions/InputDecorator"
... 9691 lines suppressed ...