pulsar-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From mme...@apache.org
Subject [pulsar] branch asf-site updated: Updated site at revision 2abb172
Date Sat, 10 Nov 2018 09:33:00 GMT
This is an automated email from the ASF dual-hosted git repository.

mmerli 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 5e53ea6  Updated site at revision 2abb172
5e53ea6 is described below

commit 5e53ea66c303ea7b318b9d935f5f6daa50ded9a8
Author: jenkins <builds@apache.org>
AuthorDate: Sat Nov 10 09:32:51 2018 +0000

    Updated site at revision 2abb172
---
 content/api/admin/allclasses-frame.html            |   1 +
 content/api/admin/allclasses-noframe.html          |   1 +
 content/api/admin/index-all.html                   |  20 ++++
 .../pulsar/client/admin/PersistentTopics.html      |   2 +-
 .../org/apache/pulsar/client/admin/Topics.html     | 107 +++++++++++++++------
 .../policies/data/NonPersistentTopicStats.html     |   4 +-
 ...ats.html => PartitionedTopicInternalStats.html} |  73 +++++---------
 .../policies/data/PartitionedTopicStats.html       |   4 +-
 .../pulsar/common/policies/data/package-frame.html |   1 +
 .../common/policies/data/package-summary.html      |  32 +++---
 .../pulsar/common/policies/data/package-tree.html  |   1 +
 content/api/admin/overview-tree.html               |   1 +
 .../docs/en/next/client-libraries-websocket.html   |   2 +
 .../en/next/client-libraries-websocket/index.html  |   2 +
 content/docs/en/next/io-quickstart.html            |   2 +-
 content/docs/en/next/io-quickstart/index.html      |   2 +-
 .../docs/fr/next/client-libraries-websocket.html   |   2 +
 .../fr/next/client-libraries-websocket/index.html  |   2 +
 content/docs/fr/next/io-quickstart.html            |   2 +-
 content/docs/fr/next/io-quickstart/index.html      |   2 +-
 .../docs/ja/next/client-libraries-websocket.html   |   2 +
 .../ja/next/client-libraries-websocket/index.html  |   2 +
 content/docs/ja/next/io-quickstart.html            |   2 +-
 content/docs/ja/next/io-quickstart/index.html      |   2 +-
 .../admin-api-non-persistent-topics.html           |   2 +-
 .../admin-api-non-persistent-topics/index.html     |   2 +-
 .../2.1.0-incubating/admin-api-permissions.html    |   2 +-
 .../admin-api-permissions/index.html               |   2 +-
 .../admin-api-persistent-topics.html               |  34 +++----
 .../admin-api-persistent-topics/index.html         |  34 +++----
 .../admin-api-non-persistent-topics.html           |   2 +-
 .../admin-api-non-persistent-topics/index.html     |   2 +-
 .../2.1.1-incubating/admin-api-permissions.html    |   2 +-
 .../admin-api-permissions/index.html               |   2 +-
 .../admin-api-persistent-topics.html               |  34 +++----
 .../admin-api-persistent-topics/index.html         |  34 +++----
 .../zh-CN/admin-api-non-persistent-topics.html     |   2 +-
 .../admin-api-non-persistent-topics/index.html     |   2 +-
 content/docs/zh-CN/admin-api-permissions.html      |   2 +-
 .../docs/zh-CN/admin-api-permissions/index.html    |   2 +-
 .../docs/zh-CN/admin-api-persistent-topics.html    |  34 +++----
 .../zh-CN/admin-api-persistent-topics/index.html   |  34 +++----
 .../next/admin-api-non-persistent-topics.html      |   2 +-
 .../admin-api-non-persistent-topics/index.html     |   2 +-
 content/docs/zh-CN/next/admin-api-permissions.html |   2 +-
 .../zh-CN/next/admin-api-permissions/index.html    |   2 +-
 .../zh-CN/next/admin-api-persistent-topics.html    |  34 +++----
 .../next/admin-api-persistent-topics/index.html    |  34 +++----
 .../zh-CN/next/client-libraries-websocket.html     |   2 +
 .../next/client-libraries-websocket/index.html     |   2 +
 content/docs/zh-CN/next/io-quickstart.html         |   2 +-
 content/docs/zh-CN/next/io-quickstart/index.html   |   2 +-
 content/swagger/swagger.json                       |  10 +-
 53 files changed, 331 insertions(+), 262 deletions(-)

diff --git a/content/api/admin/allclasses-frame.html b/content/api/admin/allclasses-frame.html
index 04c5a73..98dd3f9 100644
--- a/content/api/admin/allclasses-frame.html
+++ b/content/api/admin/allclasses-frame.html
@@ -53,6 +53,7 @@
 <li><a href="org/apache/pulsar/client/admin/NonPersistentTopics.html" title="interface in org.apache.pulsar.client.admin" target="classFrame"><span class="interfaceName">NonPersistentTopics</span></a></li>
 <li><a href="org/apache/pulsar/common/policies/data/NonPersistentTopicStats.html" title="class in org.apache.pulsar.common.policies.data" target="classFrame">NonPersistentTopicStats</a></li>
 <li><a href="org/apache/pulsar/client/admin/OffloadProcessStatus.html" title="class in org.apache.pulsar.client.admin" target="classFrame">OffloadProcessStatus</a></li>
+<li><a href="org/apache/pulsar/common/policies/data/PartitionedTopicInternalStats.html" title="class in org.apache.pulsar.common.policies.data" target="classFrame">PartitionedTopicInternalStats</a></li>
 <li><a href="org/apache/pulsar/common/policies/data/PartitionedTopicStats.html" title="class in org.apache.pulsar.common.policies.data" target="classFrame">PartitionedTopicStats</a></li>
 <li><a href="org/apache/pulsar/common/policies/data/PersistencePolicies.html" title="class in org.apache.pulsar.common.policies.data" target="classFrame">PersistencePolicies</a></li>
 <li><a href="org/apache/pulsar/common/policies/data/PersistentOfflineTopicStats.html" title="class in org.apache.pulsar.common.policies.data" target="classFrame">PersistentOfflineTopicStats</a></li>
diff --git a/content/api/admin/allclasses-noframe.html b/content/api/admin/allclasses-noframe.html
index c8123a0..8222cf0 100644
--- a/content/api/admin/allclasses-noframe.html
+++ b/content/api/admin/allclasses-noframe.html
@@ -53,6 +53,7 @@
 <li><a href="org/apache/pulsar/client/admin/NonPersistentTopics.html" title="interface in org.apache.pulsar.client.admin"><span class="interfaceName">NonPersistentTopics</span></a></li>
 <li><a href="org/apache/pulsar/common/policies/data/NonPersistentTopicStats.html" title="class in org.apache.pulsar.common.policies.data">NonPersistentTopicStats</a></li>
 <li><a href="org/apache/pulsar/client/admin/OffloadProcessStatus.html" title="class in org.apache.pulsar.client.admin">OffloadProcessStatus</a></li>
+<li><a href="org/apache/pulsar/common/policies/data/PartitionedTopicInternalStats.html" title="class in org.apache.pulsar.common.policies.data">PartitionedTopicInternalStats</a></li>
 <li><a href="org/apache/pulsar/common/policies/data/PartitionedTopicStats.html" title="class in org.apache.pulsar.common.policies.data">PartitionedTopicStats</a></li>
 <li><a href="org/apache/pulsar/common/policies/data/PersistencePolicies.html" title="class in org.apache.pulsar.common.policies.data">PersistencePolicies</a></li>
 <li><a href="org/apache/pulsar/common/policies/data/PersistentOfflineTopicStats.html" title="class in org.apache.pulsar.common.policies.data">PersistentOfflineTopicStats</a></li>
diff --git a/content/api/admin/index-all.html b/content/api/admin/index-all.html
index 8ddaa90..13e0aac 100644
--- a/content/api/admin/index-all.html
+++ b/content/api/admin/index-all.html
@@ -1039,6 +1039,14 @@
 <dd>
 <div class="block">Get the map of owned namespaces and their status from a single broker in the cluster</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/pulsar/client/admin/Topics.html#getPartitionedInternalStats-java.lang.String-">getPartitionedInternalStats(String)</a></span> - Method in interface org.apache.pulsar.client.admin.<a href="org/apache/pulsar/client/admin/Topics.html" title="interface in org.apache.pulsar.client.admin">Topics</a></dt>
+<dd>
+<div class="block">Get the stats for the partitioned topic</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/pulsar/client/admin/Topics.html#getPartitionedInternalStatsAsync-java.lang.String-">getPartitionedInternalStatsAsync(String)</a></span> - Method in interface org.apache.pulsar.client.admin.<a href="org/apache/pulsar/client/admin/Topics.html" title="interface in org.apache.pulsar.client.admin">Topics</a></dt>
+<dd>
+<div class="block">Get the stats-internal for the partitioned topic asynchronously</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/admin/Topics.html#getPartitionedStats-java.lang.String-boolean-">getPartitionedStats(String, boolean)</a></span> - Method in interface org.apache.pulsar.client.admin.<a href="org/apache/pulsar/client/admin/Topics.html" title="interface in org.apache.pulsar.client.admin">Topics</a></dt>
 <dd>
 <div class="block">Get the stats for the partitioned topic</div>
@@ -1420,6 +1428,8 @@
 <dd>
 <div class="block">Metadata (key/value strings) associated with this consumer</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/pulsar/common/policies/data/PartitionedTopicInternalStats.html#metadata">metadata</a></span> - Variable in class org.apache.pulsar.common.policies.data.<a href="org/apache/pulsar/common/policies/data/PartitionedTopicInternalStats.html" title="class in org.apache.pulsar.common.policies.data">PartitionedTopicInternalStats</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/common/policies/data/PartitionedTopicStats.html#metadata">metadata</a></span> - Variable in class org.apache.pulsar.common.policies.data.<a href="org/apache/pulsar/common/policies/data/PartitionedTopicStats.html" title="class in org.apache.pulsar.common.policies.data">PartitionedTopicStats</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/common/policies/data/PublisherStats.html#metadata">metadata</a></span> - Variable in class org.apache.pulsar.common.policies.data.<a href="org/apache/pulsar/common/policies/data/PublisherStats.html" title="class in org.apache.pulsar.common.policies.data">PublisherStats</a></dt>
@@ -1653,12 +1663,20 @@
 <dl>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/common/policies/data/AutoFailoverPolicyData.html#parameters">parameters</a></span> - Variable in class org.apache.pulsar.common.policies.data.<a href="org/apache/pulsar/common/policies/data/AutoFailoverPolicyData.html" title="class in org.apache.pulsar.common.policies.data">AutoFailoverPolicyData</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/pulsar/common/policies/data/PartitionedTopicInternalStats.html" title="class in org.apache.pulsar.common.policies.data"><span class="typeNameLink">PartitionedTopicInternalStats</span></a> - Class in <a href="org/apache/pulsar/common/policies/data/package-summary.html">org.apache.pulsar.common.policies.data</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/pulsar/common/policies/data/PartitionedTopicInternalStats.html#PartitionedTopicInternalStats--">PartitionedTopicInternalStats()</a></span> - Constructor for class org.apache.pulsar.common.policies.data.<a href="org/apache/pulsar/common/policies/data/PartitionedTopicInternalStats.html" title="class in org.apache.pulsar.common.policies.data">PartitionedTopicInternalStats</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/pulsar/common/policies/data/PartitionedTopicInternalStats.html#PartitionedTopicInternalStats-PartitionedTopicMetadata-">PartitionedTopicInternalStats(PartitionedTopicMetadata)</a></span> - Constructor for class org.apache.pulsar.common.policies.data.<a href="org/apache/pulsar/common/policies/data/PartitionedTopicInternalStats.html" title="class in org.apache.pulsar.common.policies.data">PartitionedTopicInternalStats</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/pulsar/common/policies/data/PartitionedTopicStats.html" title="class in org.apache.pulsar.common.policies.data"><span class="typeNameLink">PartitionedTopicStats</span></a> - Class in <a href="org/apache/pulsar/common/policies/data/package-summary.html">org.apache.pulsar.common.policies.data</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/common/policies/data/PartitionedTopicStats.html#PartitionedTopicStats--">PartitionedTopicStats()</a></span> - Constructor for class org.apache.pulsar.common.policies.data.<a href="org/apache/pulsar/common/policies/data/PartitionedTopicStats.html" title="class in org.apache.pulsar.common.policies.data">PartitionedTopicStats</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/common/policies/data/PartitionedTopicStats.html#PartitionedTopicStats-PartitionedTopicMetadata-">PartitionedTopicStats(PartitionedTopicMetadata)</a></span> - Constructor for class org.apache.pulsar.common.policies.data.<a href="org/apache/pulsar/common/policies/data/PartitionedTopicStats.html" title="class in org.apache.pulsar.common.policies.data">PartitionedTopicStats</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/pulsar/common/policies/data/PartitionedTopicInternalStats.html#partitions">partitions</a></span> - Variable in class org.apache.pulsar.common.policies.data.<a href="org/apache/pulsar/common/policies/data/PartitionedTopicInternalStats.html" title="class in org.apache.pulsar.common.policies.data">PartitionedTopicInternalStats</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/common/policies/data/PartitionedTopicStats.html#partitions">partitions</a></span> - Variable in class org.apache.pulsar.common.policies.data.<a href="org/apache/pulsar/common/policies/data/PartitionedTopicStats.html" title="class in org.apache.pulsar.common.policies.data">PartitionedTopicStats</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/admin/Topics.html#peekMessages-java.lang.String-java.lang.String-int-">peekMessages(String, String, int)</a></span> - Method in interface org.apache.pulsar.client.admin.<a href="org/apache/pulsar/client/admin/Topics.html" title="interface in org.apache.pulsar.client.admin">Topics</a></dt>
@@ -1865,6 +1883,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/common/policies/data/NonPersistentTopicStats.html#reset--">reset()</a></span> - Method in class org.apache.pulsar.common.policies.data.<a href="org/apache/pulsar/common/policies/data/NonPersistentTopicStats.html" title="class in org.apache.pulsar.common.policies.data">NonPersistentTopicStats</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/pulsar/common/policies/data/PartitionedTopicInternalStats.html#reset--">reset()</a></span> - Method in class org.apache.pulsar.common.policies.data.<a href="org/apache/pulsar/common/policies/data/PartitionedTopicInternalStats.html" title="class in org.apache.pulsar.common.policies.data">PartitionedTopicInternalStats</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/common/policies/data/PartitionedTopicStats.html#reset--">reset()</a></span> - Method in class org.apache.pulsar.common.policies.data.<a href="org/apache/pulsar/common/policies/data/PartitionedTopicStats.html" title="class in org.apache.pulsar.common.policies.data">PartitionedTopicStats</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/common/policies/data/PersistentOfflineTopicStats.html#reset--">reset()</a></span> - Method in class org.apache.pulsar.common.policies.data.<a href="org/apache/pulsar/common/policies/data/PersistentOfflineTopicStats.html" title="class in org.apache.pulsar.common.policies.data">PersistentOfflineTopicStats</a></dt>
diff --git a/content/api/admin/org/apache/pulsar/client/admin/PersistentTopics.html b/content/api/admin/org/apache/pulsar/client/admin/PersistentTopics.html
index 81b41fa..5245f2c 100644
--- a/content/api/admin/org/apache/pulsar/client/admin/PersistentTopics.html
+++ b/content/api/admin/org/apache/pulsar/client/admin/PersistentTopics.html
@@ -118,7 +118,7 @@ extends <a href="../../../../../org/apache/pulsar/client/admin/Topics.html" titl
 <!--   -->
 </a>
 <h3>Methods inherited from interface&nbsp;org.apache.pulsar.client.admin.<a href="../../../../../org/apache/pulsar/client/admin/Topics.html" title="interface in org.apache.pulsar.client.admin">Topics</a></h3>
-<code><a href="../../../../../org/apache/pulsar/client/admin/Topics.html#compactionStatus-java.lang.String-">compactionStatus</a>, <a href="../../../../../org/apache/pulsar/client/admin/Topics.html#createPartitionedTopic-java.lang.String-int-">createPartitionedTopic</a>, <a href="../../../../../org/apache/pulsar/client/admin/Topics.html#createPartitionedTopicAsync-java.lang.String-int-">createPartitionedTopicAsync</a>, <a href="../../../../../org/apache/pulsar/client/admin/Topics.html#cr [...]
+<code><a href="../../../../../org/apache/pulsar/client/admin/Topics.html#compactionStatus-java.lang.String-">compactionStatus</a>, <a href="../../../../../org/apache/pulsar/client/admin/Topics.html#createPartitionedTopic-java.lang.String-int-">createPartitionedTopic</a>, <a href="../../../../../org/apache/pulsar/client/admin/Topics.html#createPartitionedTopicAsync-java.lang.String-int-">createPartitionedTopicAsync</a>, <a href="../../../../../org/apache/pulsar/client/admin/Topics.html#cr [...]
 </ul>
 </li>
 </ul>
diff --git a/content/api/admin/org/apache/pulsar/client/admin/Topics.html b/content/api/admin/org/apache/pulsar/client/admin/Topics.html
index 80721b6..d6ffa53 100644
--- a/content/api/admin/org/apache/pulsar/client/admin/Topics.html
+++ b/content/api/admin/org/apache/pulsar/client/admin/Topics.html
@@ -17,7 +17,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6,"i7":6,"i8":6,"i9":6,"i10":6,"i11":6,"i12":6,"i13":6,"i14":6,"i15":6,"i16":6,"i17":6,"i18":6,"i19":6,"i20":6,"i21":6,"i22":6,"i23":6,"i24":6,"i25":6,"i26":6,"i27":6,"i28":6,"i29":6,"i30":6,"i31":6,"i32":6,"i33":6,"i34":6,"i35":6,"i36":6,"i37":6,"i38":6,"i39":6,"i40":6,"i41":6,"i42":6,"i43":6,"i44":6,"i45":6,"i46":6,"i47":6,"i48":6,"i49":6,"i50":6,"i51":6,"i52":6,"i53":6};
+var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6,"i7":6,"i8":6,"i9":6,"i10":6,"i11":6,"i12":6,"i13":6,"i14":6,"i15":6,"i16":6,"i17":6,"i18":6,"i19":6,"i20":6,"i21":6,"i22":6,"i23":6,"i24":6,"i25":6,"i26":6,"i27":6,"i28":6,"i29":6,"i30":6,"i31":6,"i32":6,"i33":6,"i34":6,"i35":6,"i36":6,"i37":6,"i38":6,"i39":6,"i40":6,"i41":6,"i42":6,"i43":6,"i44":6,"i45":6,"i46":6,"i47":6,"i48":6,"i49":6,"i50":6,"i51":6,"i52":6,"i53":6,"i54":6,"i55":6};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -289,68 +289,80 @@ var activeTableTab = "activeTableTab";
 </td>
 </tr>
 <tr id="i24" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/pulsar/common/policies/data/PartitionedTopicInternalStats.html" title="class in org.apache.pulsar.common.policies.data">PartitionedTopicInternalStats</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/admin/Topics.html#getPartitionedInternalStats-java.lang.String-">getPartitionedInternalStats</a></span>(String&nbsp;topic)</code>
+<div class="block">Get the stats for the partitioned topic</div>
+</td>
+</tr>
+<tr id="i25" class="rowColor">
+<td class="colFirst"><code>CompletableFuture&lt;<a href="../../../../../org/apache/pulsar/common/policies/data/PartitionedTopicInternalStats.html" title="class in org.apache.pulsar.common.policies.data">PartitionedTopicInternalStats</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/admin/Topics.html#getPartitionedInternalStatsAsync-java.lang.String-">getPartitionedInternalStatsAsync</a></span>(String&nbsp;topic)</code>
+<div class="block">Get the stats-internal for the partitioned topic asynchronously</div>
+</td>
+</tr>
+<tr id="i26" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/pulsar/common/policies/data/PartitionedTopicStats.html" title="class in org.apache.pulsar.common.policies.data">PartitionedTopicStats</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/admin/Topics.html#getPartitionedStats-java.lang.String-boolean-">getPartitionedStats</a></span>(String&nbsp;topic,
                    boolean&nbsp;perPartition)</code>
 <div class="block">Get the stats for the partitioned topic</div>
 </td>
 </tr>
-<tr id="i25" class="rowColor">
+<tr id="i27" class="rowColor">
 <td class="colFirst"><code>CompletableFuture&lt;<a href="../../../../../org/apache/pulsar/common/policies/data/PartitionedTopicStats.html" title="class in org.apache.pulsar.common.policies.data">PartitionedTopicStats</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/admin/Topics.html#getPartitionedStatsAsync-java.lang.String-boolean-">getPartitionedStatsAsync</a></span>(String&nbsp;topic,
                         boolean&nbsp;perPartition)</code>
 <div class="block">Get the stats for the partitioned topic asynchronously</div>
 </td>
 </tr>
-<tr id="i26" class="altColor">
+<tr id="i28" class="altColor">
 <td class="colFirst"><code>List&lt;String&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/admin/Topics.html#getPartitionedTopicList-java.lang.String-">getPartitionedTopicList</a></span>(String&nbsp;namespace)</code>
 <div class="block">Get the list of partitioned topics under a namespace.</div>
 </td>
 </tr>
-<tr id="i27" class="rowColor">
+<tr id="i29" class="rowColor">
 <td class="colFirst"><code>PartitionedTopicMetadata</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/admin/Topics.html#getPartitionedTopicMetadata-java.lang.String-">getPartitionedTopicMetadata</a></span>(String&nbsp;topic)</code>
 <div class="block">Get metadata of a partitioned topic.</div>
 </td>
 </tr>
-<tr id="i28" class="altColor">
+<tr id="i30" class="altColor">
 <td class="colFirst"><code>CompletableFuture&lt;PartitionedTopicMetadata&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/admin/Topics.html#getPartitionedTopicMetadataAsync-java.lang.String-">getPartitionedTopicMetadataAsync</a></span>(String&nbsp;topic)</code>
 <div class="block">Get metadata of a partitioned topic asynchronously.</div>
 </td>
 </tr>
-<tr id="i29" class="rowColor">
+<tr id="i31" class="rowColor">
 <td class="colFirst"><code>Map&lt;String,Set&lt;<a href="../../../../../org/apache/pulsar/common/policies/data/AuthAction.html" title="enum in org.apache.pulsar.common.policies.data">AuthAction</a>&gt;&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/admin/Topics.html#getPermissions-java.lang.String-">getPermissions</a></span>(String&nbsp;topic)</code>
 <div class="block">Get permissions on a topic.</div>
 </td>
 </tr>
-<tr id="i30" class="altColor">
+<tr id="i32" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/pulsar/common/policies/data/TopicStats.html" title="class in org.apache.pulsar.common.policies.data">TopicStats</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/admin/Topics.html#getStats-java.lang.String-">getStats</a></span>(String&nbsp;topic)</code>
 <div class="block">Get the stats for the topic.</div>
 </td>
 </tr>
-<tr id="i31" class="rowColor">
+<tr id="i33" class="rowColor">
 <td class="colFirst"><code>CompletableFuture&lt;<a href="../../../../../org/apache/pulsar/common/policies/data/TopicStats.html" title="class in org.apache.pulsar.common.policies.data">TopicStats</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/admin/Topics.html#getStatsAsync-java.lang.String-">getStatsAsync</a></span>(String&nbsp;topic)</code>
 <div class="block">Get the stats for the topic asynchronously.</div>
 </td>
 </tr>
-<tr id="i32" class="altColor">
+<tr id="i34" class="altColor">
 <td class="colFirst"><code>List&lt;String&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/admin/Topics.html#getSubscriptions-java.lang.String-">getSubscriptions</a></span>(String&nbsp;topic)</code>
 <div class="block">Get the list of subscriptions.</div>
 </td>
 </tr>
-<tr id="i33" class="rowColor">
+<tr id="i35" class="rowColor">
 <td class="colFirst"><code>CompletableFuture&lt;List&lt;String&gt;&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/admin/Topics.html#getSubscriptionsAsync-java.lang.String-">getSubscriptionsAsync</a></span>(String&nbsp;topic)</code>
 <div class="block">Get the list of subscriptions asynchronously.</div>
 </td>
 </tr>
-<tr id="i34" class="altColor">
+<tr id="i36" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/admin/Topics.html#grantPermission-java.lang.String-java.lang.String-java.util.Set-">grantPermission</a></span>(String&nbsp;topic,
                String&nbsp;role,
@@ -358,13 +370,13 @@ var activeTableTab = "activeTableTab";
 <div class="block">Grant permission on a topic.</div>
 </td>
 </tr>
-<tr id="i35" class="rowColor">
+<tr id="i37" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/admin/OffloadProcessStatus.html" title="class in org.apache.pulsar.client.admin">OffloadProcessStatus</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/admin/Topics.html#offloadStatus-java.lang.String-">offloadStatus</a></span>(String&nbsp;topic)</code>
 <div class="block">Check the status of an ongoing offloading operation for a topic.</div>
 </td>
 </tr>
-<tr id="i36" class="altColor">
+<tr id="i38" class="altColor">
 <td class="colFirst"><code>List&lt;&lt;any&gt;&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/admin/Topics.html#peekMessages-java.lang.String-java.lang.String-int-">peekMessages</a></span>(String&nbsp;topic,
             String&nbsp;subName,
@@ -372,7 +384,7 @@ var activeTableTab = "activeTableTab";
 <div class="block">Peek messages from a topic subscription</div>
 </td>
 </tr>
-<tr id="i37" class="rowColor">
+<tr id="i39" class="rowColor">
 <td class="colFirst"><code>CompletableFuture&lt;List&lt;&lt;any&gt;&gt;&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/admin/Topics.html#peekMessagesAsync-java.lang.String-java.lang.String-int-">peekMessagesAsync</a></span>(String&nbsp;topic,
                  String&nbsp;subName,
@@ -380,7 +392,7 @@ var activeTableTab = "activeTableTab";
 <div class="block">Peek messages from a topic subscription asynchronously</div>
 </td>
 </tr>
-<tr id="i38" class="altColor">
+<tr id="i40" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/admin/Topics.html#resetCursor-java.lang.String-java.lang.String-long-">resetCursor</a></span>(String&nbsp;topic,
            String&nbsp;subName,
@@ -388,7 +400,7 @@ var activeTableTab = "activeTableTab";
 <div class="block">Reset cursor position on a topic subscription</div>
 </td>
 </tr>
-<tr id="i39" class="rowColor">
+<tr id="i41" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/admin/Topics.html#resetCursor-java.lang.String-java.lang.String-MessageId-">resetCursor</a></span>(String&nbsp;topic,
            String&nbsp;subName,
@@ -396,7 +408,7 @@ var activeTableTab = "activeTableTab";
 <div class="block">Reset cursor position on a topic subscription</div>
 </td>
 </tr>
-<tr id="i40" class="altColor">
+<tr id="i42" class="altColor">
 <td class="colFirst"><code>CompletableFuture&lt;Void&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/admin/Topics.html#resetCursorAsync-java.lang.String-java.lang.String-long-">resetCursorAsync</a></span>(String&nbsp;topic,
                 String&nbsp;subName,
@@ -404,7 +416,7 @@ var activeTableTab = "activeTableTab";
 <div class="block">Reset cursor position on a topic subscription</div>
 </td>
 </tr>
-<tr id="i41" class="rowColor">
+<tr id="i43" class="rowColor">
 <td class="colFirst"><code>CompletableFuture&lt;Void&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/admin/Topics.html#resetCursorAsync-java.lang.String-java.lang.String-MessageId-">resetCursorAsync</a></span>(String&nbsp;topic,
                 String&nbsp;subName,
@@ -412,28 +424,28 @@ var activeTableTab = "activeTableTab";
 <div class="block">Reset cursor position on a topic subscription</div>
 </td>
 </tr>
-<tr id="i42" class="altColor">
+<tr id="i44" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/admin/Topics.html#revokePermissions-java.lang.String-java.lang.String-">revokePermissions</a></span>(String&nbsp;topic,
                  String&nbsp;role)</code>
 <div class="block">Revoke permissions on a topic.</div>
 </td>
 </tr>
-<tr id="i43" class="rowColor">
+<tr id="i45" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/admin/Topics.html#skipAllMessages-java.lang.String-java.lang.String-">skipAllMessages</a></span>(String&nbsp;topic,
                String&nbsp;subName)</code>
 <div class="block">Skip all messages on a topic subscription.</div>
 </td>
 </tr>
-<tr id="i44" class="altColor">
+<tr id="i46" class="altColor">
 <td class="colFirst"><code>CompletableFuture&lt;Void&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/admin/Topics.html#skipAllMessagesAsync-java.lang.String-java.lang.String-">skipAllMessagesAsync</a></span>(String&nbsp;topic,
                     String&nbsp;subName)</code>
 <div class="block">Skip all messages on a topic subscription asynchronously.</div>
 </td>
 </tr>
-<tr id="i45" class="rowColor">
+<tr id="i47" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/admin/Topics.html#skipMessages-java.lang.String-java.lang.String-long-">skipMessages</a></span>(String&nbsp;topic,
             String&nbsp;subName,
@@ -441,7 +453,7 @@ var activeTableTab = "activeTableTab";
 <div class="block">Skip messages on a topic subscription.</div>
 </td>
 </tr>
-<tr id="i46" class="altColor">
+<tr id="i48" class="altColor">
 <td class="colFirst"><code>CompletableFuture&lt;Void&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/admin/Topics.html#skipMessagesAsync-java.lang.String-java.lang.String-long-">skipMessagesAsync</a></span>(String&nbsp;topic,
                  String&nbsp;subName,
@@ -449,45 +461,45 @@ var activeTableTab = "activeTableTab";
 <div class="block">Skip messages on a topic subscription asynchronously.</div>
 </td>
 </tr>
-<tr id="i47" class="rowColor">
+<tr id="i49" class="rowColor">
 <td class="colFirst"><code>CompletableFuture&lt;MessageId&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/admin/Topics.html#terminateTopicAsync-java.lang.String-">terminateTopicAsync</a></span>(String&nbsp;topic)</code>
 <div class="block">Terminate the topic and prevent any more messages being published on it.</div>
 </td>
 </tr>
-<tr id="i48" class="altColor">
+<tr id="i50" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/admin/Topics.html#triggerCompaction-java.lang.String-">triggerCompaction</a></span>(String&nbsp;topic)</code>
 <div class="block">Trigger compaction to run for a topic.</div>
 </td>
 </tr>
-<tr id="i49" class="rowColor">
+<tr id="i51" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/admin/Topics.html#triggerOffload-java.lang.String-MessageId-">triggerOffload</a></span>(String&nbsp;topic,
               MessageId&nbsp;messageId)</code>
 <div class="block">Trigger offloading messages in topic to longterm storage.</div>
 </td>
 </tr>
-<tr id="i50" class="altColor">
+<tr id="i52" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/admin/Topics.html#unload-java.lang.String-">unload</a></span>(String&nbsp;topic)</code>
 <div class="block">Unload a topic.</div>
 </td>
 </tr>
-<tr id="i51" class="rowColor">
+<tr id="i53" class="rowColor">
 <td class="colFirst"><code>CompletableFuture&lt;Void&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/admin/Topics.html#unloadAsync-java.lang.String-">unloadAsync</a></span>(String&nbsp;topic)</code>
 <div class="block">Unload a topic asynchronously.</div>
 </td>
 </tr>
-<tr id="i52" class="altColor">
+<tr id="i54" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/admin/Topics.html#updatePartitionedTopic-java.lang.String-int-">updatePartitionedTopic</a></span>(String&nbsp;topic,
                       int&nbsp;numPartitions)</code>
 <div class="block">Update number of partitions of a non-global partitioned topic.</div>
 </td>
 </tr>
-<tr id="i53" class="rowColor">
+<tr id="i55" class="rowColor">
 <td class="colFirst"><code>CompletableFuture&lt;Void&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/admin/Topics.html#updatePartitionedTopicAsync-java.lang.String-int-">updatePartitionedTopicAsync</a></span>(String&nbsp;topic,
                            int&nbsp;numPartitions)</code>
@@ -1328,6 +1340,41 @@ var activeTableTab = "activeTableTab";
 </dl>
 </li>
 </ul>
+<a name="getPartitionedInternalStats-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getPartitionedInternalStats</h4>
+<pre><a href="../../../../../org/apache/pulsar/common/policies/data/PartitionedTopicInternalStats.html" title="class in org.apache.pulsar.common.policies.data">PartitionedTopicInternalStats</a>&nbsp;getPartitionedInternalStats(String&nbsp;topic)
+                                                   throws <a href="../../../../../org/apache/pulsar/client/admin/PulsarAdminException.html" title="class in org.apache.pulsar.client.admin">PulsarAdminException</a></pre>
+<div class="block">Get the stats for the partitioned topic</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>topic</code> - </dd>
+<dd><code>perPartition</code> - </dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="../../../../../org/apache/pulsar/client/admin/PulsarAdminException.html" title="class in org.apache.pulsar.client.admin">PulsarAdminException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getPartitionedInternalStatsAsync-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getPartitionedInternalStatsAsync</h4>
+<pre>CompletableFuture&lt;<a href="../../../../../org/apache/pulsar/common/policies/data/PartitionedTopicInternalStats.html" title="class in org.apache.pulsar.common.policies.data">PartitionedTopicInternalStats</a>&gt;&nbsp;getPartitionedInternalStatsAsync(String&nbsp;topic)</pre>
+<div class="block">Get the stats-internal for the partitioned topic asynchronously</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>topic</code> - topic Name</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a future that can be used to track when the partitioned topic statistics are returned</dd>
+</dl>
+</li>
+</ul>
 <a name="deleteSubscription-java.lang.String-java.lang.String-">
 <!--   -->
 </a>
diff --git a/content/api/admin/org/apache/pulsar/common/policies/data/NonPersistentTopicStats.html b/content/api/admin/org/apache/pulsar/common/policies/data/NonPersistentTopicStats.html
index 21883ff..3b32e48 100644
--- a/content/api/admin/org/apache/pulsar/common/policies/data/NonPersistentTopicStats.html
+++ b/content/api/admin/org/apache/pulsar/common/policies/data/NonPersistentTopicStats.html
@@ -48,7 +48,7 @@ var activeTableTab = "activeTableTab";
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../../org/apache/pulsar/common/policies/data/NonPersistentSubscriptionStats.html" title="class in org.apache.pulsar.common.policies.data"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/pulsar/common/policies/data/PartitionedTopicStats.html" title="class in org.apache.pulsar.common.policies.data"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/pulsar/common/policies/data/PartitionedTopicInternalStats.html" title="class in org.apache.pulsar.common.policies.data"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../index.html?org/apache/pulsar/common/policies/data/NonPersistentTopicStats.html" target="_top">Frames</a></li>
@@ -388,7 +388,7 @@ extends <a href="../../../../../../org/apache/pulsar/common/policies/data/TopicS
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../../org/apache/pulsar/common/policies/data/NonPersistentSubscriptionStats.html" title="class in org.apache.pulsar.common.policies.data"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/pulsar/common/policies/data/PartitionedTopicStats.html" title="class in org.apache.pulsar.common.policies.data"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/pulsar/common/policies/data/PartitionedTopicInternalStats.html" title="class in org.apache.pulsar.common.policies.data"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../../index.html?org/apache/pulsar/common/policies/data/NonPersistentTopicStats.html" target="_top">Frames</a></li>
diff --git a/content/api/admin/org/apache/pulsar/common/policies/data/PartitionedTopicStats.html b/content/api/admin/org/apache/pulsar/common/policies/data/PartitionedTopicInternalStats.html
similarity index 66%
copy from content/api/admin/org/apache/pulsar/common/policies/data/PartitionedTopicStats.html
copy to content/api/admin/org/apache/pulsar/common/policies/data/PartitionedTopicInternalStats.html
index a89ae2a..072987b 100644
--- a/content/api/admin/org/apache/pulsar/common/policies/data/PartitionedTopicStats.html
+++ b/content/api/admin/org/apache/pulsar/common/policies/data/PartitionedTopicInternalStats.html
@@ -3,7 +3,7 @@
 <html lang="en">
 <head>
 <!-- Generated by javadoc -->
-<title>PartitionedTopicStats (Pulsar Admin Java API)</title>
+<title>PartitionedTopicInternalStats (Pulsar Admin Java API)</title>
 <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
 <script type="text/javascript" src="../../../../../../script.js"></script>
 </head>
@@ -11,7 +11,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="PartitionedTopicStats (Pulsar Admin Java API)";
+            parent.document.title="PartitionedTopicInternalStats (Pulsar Admin Java API)";
         }
     }
     catch(err) {
@@ -48,11 +48,11 @@ var activeTableTab = "activeTableTab";
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../../org/apache/pulsar/common/policies/data/NonPersistentTopicStats.html" title="class in org.apache.pulsar.common.policies.data"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/pulsar/common/policies/data/PersistencePolicies.html" title="class in org.apache.pulsar.common.policies.data"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/pulsar/common/policies/data/PartitionedTopicStats.html" title="class in org.apache.pulsar.common.policies.data"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/pulsar/common/policies/data/PartitionedTopicStats.html" target="_top">Frames</a></li>
-<li><a href="PartitionedTopicStats.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../index.html?org/apache/pulsar/common/policies/data/PartitionedTopicInternalStats.html" target="_top">Frames</a></li>
+<li><a href="PartitionedTopicInternalStats.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_top">
 <li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
@@ -91,19 +91,14 @@ var activeTableTab = "activeTableTab";
 <!-- ======== START OF CLASS DATA ======== -->
 <div class="header">
 <div class="subTitle">org.apache.pulsar.common.policies.data</div>
-<h2 title="Class PartitionedTopicStats" class="title">Class PartitionedTopicStats</h2>
+<h2 title="Class PartitionedTopicInternalStats" class="title">Class PartitionedTopicInternalStats</h2>
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
 <li>Object</li>
 <li>
 <ul class="inheritance">
-<li><a href="../../../../../../org/apache/pulsar/common/policies/data/TopicStats.html" title="class in org.apache.pulsar.common.policies.data">org.apache.pulsar.common.policies.data.TopicStats</a></li>
-<li>
-<ul class="inheritance">
-<li>org.apache.pulsar.common.policies.data.PartitionedTopicStats</li>
-</ul>
-</li>
+<li>org.apache.pulsar.common.policies.data.PartitionedTopicInternalStats</li>
 </ul>
 </li>
 </ul>
@@ -112,8 +107,8 @@ var activeTableTab = "activeTableTab";
 <li class="blockList">
 <hr>
 <br>
-<pre>public class <span class="typeNameLabel">PartitionedTopicStats</span>
-extends <a href="../../../../../../org/apache/pulsar/common/policies/data/TopicStats.html" title="class in org.apache.pulsar.common.policies.data">TopicStats</a></pre>
+<pre>public class <span class="typeNameLabel">PartitionedTopicInternalStats</span>
+extends Object</pre>
 </li>
 </ul>
 </div>
@@ -134,20 +129,13 @@ extends <a href="../../../../../../org/apache/pulsar/common/policies/data/TopicS
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>PartitionedTopicMetadata</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/pulsar/common/policies/data/PartitionedTopicStats.html#metadata">metadata</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/pulsar/common/policies/data/PartitionedTopicInternalStats.html#metadata">metadata</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>Map&lt;String,<a href="../../../../../../org/apache/pulsar/common/policies/data/TopicStats.html" title="class in org.apache.pulsar.common.policies.data">TopicStats</a>&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/pulsar/common/policies/data/PartitionedTopicStats.html#partitions">partitions</a></span></code>&nbsp;</td>
+<td class="colFirst"><code>Map&lt;String,<a href="../../../../../../org/apache/pulsar/common/policies/data/PersistentTopicInternalStats.html" title="class in org.apache.pulsar.common.policies.data">PersistentTopicInternalStats</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/pulsar/common/policies/data/PartitionedTopicInternalStats.html#partitions">partitions</a></span></code>&nbsp;</td>
 </tr>
 </table>
-<ul class="blockList">
-<li class="blockList"><a name="fields.inherited.from.class.org.apache.pulsar.common.policies.data.TopicStats">
-<!--   -->
-</a>
-<h3>Fields inherited from class&nbsp;org.apache.pulsar.common.policies.data.<a href="../../../../../../org/apache/pulsar/common/policies/data/TopicStats.html" title="class in org.apache.pulsar.common.policies.data">TopicStats</a></h3>
-<code><a href="../../../../../../org/apache/pulsar/common/policies/data/TopicStats.html#averageMsgSize">averageMsgSize</a>, <a href="../../../../../../org/apache/pulsar/common/policies/data/TopicStats.html#deduplicationStatus">deduplicationStatus</a>, <a href="../../../../../../org/apache/pulsar/common/policies/data/TopicStats.html#msgRateIn">msgRateIn</a>, <a href="../../../../../../org/apache/pulsar/common/policies/data/TopicStats.html#msgRateOut">msgRateOut</a>, <a href="../../../../. [...]
-</ul>
 </li>
 </ul>
 <!-- ======== CONSTRUCTOR SUMMARY ======== -->
@@ -162,10 +150,10 @@ extends <a href="../../../../../../org/apache/pulsar/common/policies/data/TopicS
 <th class="colOne" scope="col">Constructor and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/pulsar/common/policies/data/PartitionedTopicStats.html#PartitionedTopicStats--">PartitionedTopicStats</a></span>()</code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/pulsar/common/policies/data/PartitionedTopicInternalStats.html#PartitionedTopicInternalStats--">PartitionedTopicInternalStats</a></span>()</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/pulsar/common/policies/data/PartitionedTopicStats.html#PartitionedTopicStats-PartitionedTopicMetadata-">PartitionedTopicStats</a></span>(PartitionedTopicMetadata&nbsp;metadata)</code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/pulsar/common/policies/data/PartitionedTopicInternalStats.html#PartitionedTopicInternalStats-PartitionedTopicMetadata-">PartitionedTopicInternalStats</a></span>(PartitionedTopicMetadata&nbsp;metadata)</code>&nbsp;</td>
 </tr>
 </table>
 </li>
@@ -184,17 +172,10 @@ extends <a href="../../../../../../org/apache/pulsar/common/policies/data/TopicS
 </tr>
 <tr id="i0" class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/pulsar/common/policies/data/PartitionedTopicStats.html#reset--">reset</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/pulsar/common/policies/data/PartitionedTopicInternalStats.html#reset--">reset</a></span>()</code>&nbsp;</td>
 </tr>
 </table>
 <ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.org.apache.pulsar.common.policies.data.TopicStats">
-<!--   -->
-</a>
-<h3>Methods inherited from class&nbsp;org.apache.pulsar.common.policies.data.<a href="../../../../../../org/apache/pulsar/common/policies/data/TopicStats.html" title="class in org.apache.pulsar.common.policies.data">TopicStats</a></h3>
-<code><a href="../../../../../../org/apache/pulsar/common/policies/data/TopicStats.html#add-org.apache.pulsar.common.policies.data.TopicStats-">add</a></code></li>
-</ul>
-<ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.Object">
 <!--   -->
 </a>
@@ -230,7 +211,7 @@ extends <a href="../../../../../../org/apache/pulsar/common/policies/data/TopicS
 <ul class="blockListLast">
 <li class="blockList">
 <h4>partitions</h4>
-<pre>public&nbsp;Map&lt;String,<a href="../../../../../../org/apache/pulsar/common/policies/data/TopicStats.html" title="class in org.apache.pulsar.common.policies.data">TopicStats</a>&gt; partitions</pre>
+<pre>public&nbsp;Map&lt;String,<a href="../../../../../../org/apache/pulsar/common/policies/data/PersistentTopicInternalStats.html" title="class in org.apache.pulsar.common.policies.data">PersistentTopicInternalStats</a>&gt; partitions</pre>
 </li>
 </ul>
 </li>
@@ -241,22 +222,22 @@ extends <a href="../../../../../../org/apache/pulsar/common/policies/data/TopicS
 <!--   -->
 </a>
 <h3>Constructor Detail</h3>
-<a name="PartitionedTopicStats--">
+<a name="PartitionedTopicInternalStats--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>PartitionedTopicStats</h4>
-<pre>public&nbsp;PartitionedTopicStats()</pre>
+<h4>PartitionedTopicInternalStats</h4>
+<pre>public&nbsp;PartitionedTopicInternalStats()</pre>
 </li>
 </ul>
-<a name="PartitionedTopicStats-PartitionedTopicMetadata-">
+<a name="PartitionedTopicInternalStats-PartitionedTopicMetadata-">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>PartitionedTopicStats</h4>
-<pre>public&nbsp;PartitionedTopicStats(PartitionedTopicMetadata&nbsp;metadata)</pre>
+<h4>PartitionedTopicInternalStats</h4>
+<pre>public&nbsp;PartitionedTopicInternalStats(PartitionedTopicMetadata&nbsp;metadata)</pre>
 </li>
 </ul>
 </li>
@@ -274,10 +255,6 @@ extends <a href="../../../../../../org/apache/pulsar/common/policies/data/TopicS
 <li class="blockList">
 <h4>reset</h4>
 <pre>public&nbsp;void&nbsp;reset()</pre>
-<dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code><a href="../../../../../../org/apache/pulsar/common/policies/data/TopicStats.html#reset--">reset</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/pulsar/common/policies/data/TopicStats.html" title="class in org.apache.pulsar.common.policies.data">TopicStats</a></code></dd>
-</dl>
 </li>
 </ul>
 </li>
@@ -308,11 +285,11 @@ extends <a href="../../../../../../org/apache/pulsar/common/policies/data/TopicS
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../../org/apache/pulsar/common/policies/data/NonPersistentTopicStats.html" title="class in org.apache.pulsar.common.policies.data"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../../org/apache/pulsar/common/policies/data/PersistencePolicies.html" title="class in org.apache.pulsar.common.policies.data"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/pulsar/common/policies/data/PartitionedTopicStats.html" title="class in org.apache.pulsar.common.policies.data"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
-<li><a href="../../../../../../index.html?org/apache/pulsar/common/policies/data/PartitionedTopicStats.html" target="_top">Frames</a></li>
-<li><a href="PartitionedTopicStats.html" target="_top">No&nbsp;Frames</a></li>
+<li><a href="../../../../../../index.html?org/apache/pulsar/common/policies/data/PartitionedTopicInternalStats.html" target="_top">Frames</a></li>
+<li><a href="PartitionedTopicInternalStats.html" target="_top">No&nbsp;Frames</a></li>
 </ul>
 <ul class="navList" id="allclasses_navbar_bottom">
 <li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
diff --git a/content/api/admin/org/apache/pulsar/common/policies/data/PartitionedTopicStats.html b/content/api/admin/org/apache/pulsar/common/policies/data/PartitionedTopicStats.html
index a89ae2a..d1eca70 100644
--- a/content/api/admin/org/apache/pulsar/common/policies/data/PartitionedTopicStats.html
+++ b/content/api/admin/org/apache/pulsar/common/policies/data/PartitionedTopicStats.html
@@ -47,7 +47,7 @@ var activeTableTab = "activeTableTab";
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/pulsar/common/policies/data/NonPersistentTopicStats.html" title="class in org.apache.pulsar.common.policies.data"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/pulsar/common/policies/data/PartitionedTopicInternalStats.html" title="class in org.apache.pulsar.common.policies.data"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../../org/apache/pulsar/common/policies/data/PersistencePolicies.html" title="class in org.apache.pulsar.common.policies.data"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -307,7 +307,7 @@ extends <a href="../../../../../../org/apache/pulsar/common/policies/data/TopicS
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../../org/apache/pulsar/common/policies/data/NonPersistentTopicStats.html" title="class in org.apache.pulsar.common.policies.data"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../../org/apache/pulsar/common/policies/data/PartitionedTopicInternalStats.html" title="class in org.apache.pulsar.common.policies.data"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../../org/apache/pulsar/common/policies/data/PersistencePolicies.html" title="class in org.apache.pulsar.common.policies.data"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
diff --git a/content/api/admin/org/apache/pulsar/common/policies/data/package-frame.html b/content/api/admin/org/apache/pulsar/common/policies/data/package-frame.html
index cefcc76..2ede0ee 100644
--- a/content/api/admin/org/apache/pulsar/common/policies/data/package-frame.html
+++ b/content/api/admin/org/apache/pulsar/common/policies/data/package-frame.html
@@ -32,6 +32,7 @@
 <li><a href="NonPersistentReplicatorStats.html" title="class in org.apache.pulsar.common.policies.data" target="classFrame">NonPersistentReplicatorStats</a></li>
 <li><a href="NonPersistentSubscriptionStats.html" title="class in org.apache.pulsar.common.policies.data" target="classFrame">NonPersistentSubscriptionStats</a></li>
 <li><a href="NonPersistentTopicStats.html" title="class in org.apache.pulsar.common.policies.data" target="classFrame">NonPersistentTopicStats</a></li>
+<li><a href="PartitionedTopicInternalStats.html" title="class in org.apache.pulsar.common.policies.data" target="classFrame">PartitionedTopicInternalStats</a></li>
 <li><a href="PartitionedTopicStats.html" title="class in org.apache.pulsar.common.policies.data" target="classFrame">PartitionedTopicStats</a></li>
 <li><a href="PersistencePolicies.html" title="class in org.apache.pulsar.common.policies.data" target="classFrame">PersistencePolicies</a></li>
 <li><a href="PersistentOfflineTopicStats.html" title="class in org.apache.pulsar.common.policies.data" target="classFrame">PersistentOfflineTopicStats</a></li>
diff --git a/content/api/admin/org/apache/pulsar/common/policies/data/package-summary.html b/content/api/admin/org/apache/pulsar/common/policies/data/package-summary.html
index 777e440..59eb82b 100644
--- a/content/api/admin/org/apache/pulsar/common/policies/data/package-summary.html
+++ b/content/api/admin/org/apache/pulsar/common/policies/data/package-summary.html
@@ -163,68 +163,72 @@
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><a href="../../../../../../org/apache/pulsar/common/policies/data/PartitionedTopicStats.html" title="class in org.apache.pulsar.common.policies.data">PartitionedTopicStats</a></td>
+<td class="colFirst"><a href="../../../../../../org/apache/pulsar/common/policies/data/PartitionedTopicInternalStats.html" title="class in org.apache.pulsar.common.policies.data">PartitionedTopicInternalStats</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><a href="../../../../../../org/apache/pulsar/common/policies/data/PersistencePolicies.html" title="class in org.apache.pulsar.common.policies.data">PersistencePolicies</a></td>
+<td class="colFirst"><a href="../../../../../../org/apache/pulsar/common/policies/data/PartitionedTopicStats.html" title="class in org.apache.pulsar.common.policies.data">PartitionedTopicStats</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><a href="../../../../../../org/apache/pulsar/common/policies/data/PersistencePolicies.html" title="class in org.apache.pulsar.common.policies.data">PersistencePolicies</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../../org/apache/pulsar/common/policies/data/PersistentOfflineTopicStats.html" title="class in org.apache.pulsar.common.policies.data">PersistentOfflineTopicStats</a></td>
 <td class="colLast">
 <div class="block">This object is populated using meta data in zookeeper without actually bringing the topic online</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../../org/apache/pulsar/common/policies/data/PersistentTopicInternalStats.html" title="class in org.apache.pulsar.common.policies.data">PersistentTopicInternalStats</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../../org/apache/pulsar/common/policies/data/PersistentTopicInternalStats.CursorStats.html" title="class in org.apache.pulsar.common.policies.data">PersistentTopicInternalStats.CursorStats</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../../org/apache/pulsar/common/policies/data/PersistentTopicInternalStats.LedgerInfo.html" title="class in org.apache.pulsar.common.policies.data">PersistentTopicInternalStats.LedgerInfo</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../../org/apache/pulsar/common/policies/data/PersistentTopicStats.html" title="class in org.apache.pulsar.common.policies.data">PersistentTopicStats</a></td>
 <td class="colLast">
 <div class="block">Maintain compatibility with previous class name</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../../org/apache/pulsar/common/policies/data/Policies.html" title="class in org.apache.pulsar.common.policies.data">Policies</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../../org/apache/pulsar/common/policies/data/PublisherStats.html" title="class in org.apache.pulsar.common.policies.data">PublisherStats</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../../org/apache/pulsar/common/policies/data/ReplicatorStats.html" title="class in org.apache.pulsar.common.policies.data">ReplicatorStats</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../../org/apache/pulsar/common/policies/data/ResourceQuota.html" title="class in org.apache.pulsar.common.policies.data">ResourceQuota</a></td>
 <td class="colLast">
 <div class="block">Resource quota for a namespace or namespace bundle.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../../org/apache/pulsar/common/policies/data/RetentionPolicies.html" title="class in org.apache.pulsar.common.policies.data">RetentionPolicies</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../../org/apache/pulsar/common/policies/data/SubscriptionStats.html" title="class in org.apache.pulsar.common.policies.data">SubscriptionStats</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../../org/apache/pulsar/common/policies/data/TenantInfo.html" title="class in org.apache.pulsar.common.policies.data">TenantInfo</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../../org/apache/pulsar/common/policies/data/TopicStats.html" title="class in org.apache.pulsar.common.policies.data">TopicStats</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
diff --git a/content/api/admin/org/apache/pulsar/common/policies/data/package-tree.html b/content/api/admin/org/apache/pulsar/common/policies/data/package-tree.html
index cb8aad5..abdec28 100644
--- a/content/api/admin/org/apache/pulsar/common/policies/data/package-tree.html
+++ b/content/api/admin/org/apache/pulsar/common/policies/data/package-tree.html
@@ -103,6 +103,7 @@
 <li type="circle">org.apache.pulsar.common.policies.data.<a href="../../../../../../org/apache/pulsar/common/policies/data/LocalPolicies.html" title="class in org.apache.pulsar.common.policies.data"><span class="typeNameLink">LocalPolicies</span></a></li>
 <li type="circle">org.apache.pulsar.common.policies.data.<a href="../../../../../../org/apache/pulsar/common/policies/data/NamespaceIsolationData.html" title="class in org.apache.pulsar.common.policies.data"><span class="typeNameLink">NamespaceIsolationData</span></a></li>
 <li type="circle">org.apache.pulsar.common.policies.data.<a href="../../../../../../org/apache/pulsar/common/policies/data/NamespaceOwnershipStatus.html" title="class in org.apache.pulsar.common.policies.data"><span class="typeNameLink">NamespaceOwnershipStatus</span></a></li>
+<li type="circle">org.apache.pulsar.common.policies.data.<a href="../../../../../../org/apache/pulsar/common/policies/data/PartitionedTopicInternalStats.html" title="class in org.apache.pulsar.common.policies.data"><span class="typeNameLink">PartitionedTopicInternalStats</span></a></li>
 <li type="circle">org.apache.pulsar.common.policies.data.<a href="../../../../../../org/apache/pulsar/common/policies/data/PersistencePolicies.html" title="class in org.apache.pulsar.common.policies.data"><span class="typeNameLink">PersistencePolicies</span></a></li>
 <li type="circle">org.apache.pulsar.common.policies.data.<a href="../../../../../../org/apache/pulsar/common/policies/data/PersistentOfflineTopicStats.html" title="class in org.apache.pulsar.common.policies.data"><span class="typeNameLink">PersistentOfflineTopicStats</span></a></li>
 <li type="circle">org.apache.pulsar.common.policies.data.<a href="../../../../../../org/apache/pulsar/common/policies/data/PersistentOfflineTopicStats.CursorDetails.html" title="class in org.apache.pulsar.common.policies.data"><span class="typeNameLink">PersistentOfflineTopicStats.CursorDetails</span></a></li>
diff --git a/content/api/admin/overview-tree.html b/content/api/admin/overview-tree.html
index 081d592..fdcedc1 100644
--- a/content/api/admin/overview-tree.html
+++ b/content/api/admin/overview-tree.html
@@ -119,6 +119,7 @@
 <li type="circle">org.apache.pulsar.common.policies.impl.<a href="org/apache/pulsar/common/policies/impl/NamespaceIsolationPolicies.html" title="class in org.apache.pulsar.common.policies.impl"><span class="typeNameLink">NamespaceIsolationPolicies</span></a></li>
 <li type="circle">org.apache.pulsar.common.policies.impl.<a href="org/apache/pulsar/common/policies/impl/NamespaceIsolationPolicyImpl.html" title="class in org.apache.pulsar.common.policies.impl"><span class="typeNameLink">NamespaceIsolationPolicyImpl</span></a> (implements org.apache.pulsar.common.policies.<a href="org/apache/pulsar/common/policies/NamespaceIsolationPolicy.html" title="interface in org.apache.pulsar.common.policies">NamespaceIsolationPolicy</a>)</li>
 <li type="circle">org.apache.pulsar.common.policies.data.<a href="org/apache/pulsar/common/policies/data/NamespaceOwnershipStatus.html" title="class in org.apache.pulsar.common.policies.data"><span class="typeNameLink">NamespaceOwnershipStatus</span></a></li>
+<li type="circle">org.apache.pulsar.common.policies.data.<a href="org/apache/pulsar/common/policies/data/PartitionedTopicInternalStats.html" title="class in org.apache.pulsar.common.policies.data"><span class="typeNameLink">PartitionedTopicInternalStats</span></a></li>
 <li type="circle">org.apache.pulsar.common.policies.data.<a href="org/apache/pulsar/common/policies/data/PersistencePolicies.html" title="class in org.apache.pulsar.common.policies.data"><span class="typeNameLink">PersistencePolicies</span></a></li>
 <li type="circle">org.apache.pulsar.common.policies.data.<a href="org/apache/pulsar/common/policies/data/PersistentOfflineTopicStats.html" title="class in org.apache.pulsar.common.policies.data"><span class="typeNameLink">PersistentOfflineTopicStats</span></a></li>
 <li type="circle">org.apache.pulsar.common.policies.data.<a href="org/apache/pulsar/common/policies/data/PersistentOfflineTopicStats.CursorDetails.html" title="class in org.apache.pulsar.common.policies.data"><span class="typeNameLink">PersistentOfflineTopicStats.CursorDetails</span></a></li>
diff --git a/content/docs/en/next/client-libraries-websocket.html b/content/docs/en/next/client-libraries-websocket.html
index 86faab3..dc5dc8b 100644
--- a/content/docs/en/next/client-libraries-websocket.html
+++ b/content/docs/en/next/client-libraries-websocket.html
@@ -161,6 +161,8 @@
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Size of the consumer receive queue (default: 1000)</td></tr>
 <tr><td style="text-align:left"><code>consumerName</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left">Consumer name</td></tr>
 <tr><td style="text-align:left"><code>priorityLevel</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Define a <a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ConsumerConfiguration.html#setPriorityLevel-int-">priority</a> for the consumer</td></tr>
+<tr><td style="text-align:left"><code>maxRedeliverCount</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Define a <a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ConsumerBuilder.html#deadLetterPolicy-org.apache.pulsar.client.api.DeadLetterPolicy-">maxRedeliverCount</a> for the consumer (default: 0). Activates <a href="https://github.com/apache/pulsar/wiki/PIP-22%3A-Pulsar-Dead-Letter-Topic">Dead Letter [...]
+<tr><td style="text-align:left"><code>deadLetterTopic</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left">Define a <a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ConsumerBuilder.html#deadLetterPolicy-org.apache.pulsar.client.api.DeadLetterPolicy-">deadLetterTopic</a> for the consumer (default: {topic}-{subscription}-DLQ). Activates <a href="https://github.com/apache/pulsar/wiki/PIP-22%3A-Pulsar-Dead-L [...]
 </tbody>
 </table>
 <h5><a class="anchor" aria-hidden="true" id="receiving-messages"></a><a href="#receiving-messages" 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- [...]
diff --git a/content/docs/en/next/client-libraries-websocket/index.html b/content/docs/en/next/client-libraries-websocket/index.html
index 86faab3..dc5dc8b 100644
--- a/content/docs/en/next/client-libraries-websocket/index.html
+++ b/content/docs/en/next/client-libraries-websocket/index.html
@@ -161,6 +161,8 @@
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Size of the consumer receive queue (default: 1000)</td></tr>
 <tr><td style="text-align:left"><code>consumerName</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left">Consumer name</td></tr>
 <tr><td style="text-align:left"><code>priorityLevel</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Define a <a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ConsumerConfiguration.html#setPriorityLevel-int-">priority</a> for the consumer</td></tr>
+<tr><td style="text-align:left"><code>maxRedeliverCount</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Define a <a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ConsumerBuilder.html#deadLetterPolicy-org.apache.pulsar.client.api.DeadLetterPolicy-">maxRedeliverCount</a> for the consumer (default: 0). Activates <a href="https://github.com/apache/pulsar/wiki/PIP-22%3A-Pulsar-Dead-Letter-Topic">Dead Letter [...]
+<tr><td style="text-align:left"><code>deadLetterTopic</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left">Define a <a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ConsumerBuilder.html#deadLetterPolicy-org.apache.pulsar.client.api.DeadLetterPolicy-">deadLetterTopic</a> for the consumer (default: {topic}-{subscription}-DLQ). Activates <a href="https://github.com/apache/pulsar/wiki/PIP-22%3A-Pulsar-Dead-L [...]
 </tbody>
 </table>
 <h5><a class="anchor" aria-hidden="true" id="receiving-messages"></a><a href="#receiving-messages" 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- [...]
diff --git a/content/docs/en/next/io-quickstart.html b/content/docs/en/next/io-quickstart.html
index 000d250..1e6b56a 100644
--- a/content/docs/en/next/io-quickstart.html
+++ b/content/docs/en/next/io-quickstart.html
@@ -122,7 +122,7 @@ pulsar-io-twitter-2.2.0.nar
 <ol start="2">
 <li>Check pulsar function cluster</li>
 </ol>
-<pre><code class="hljs css language-bash">curl -s http://localhost:8080/admin/v2/<span class="hljs-built_in">functions</span>/cluster
+<pre><code class="hljs css language-bash">curl -s http://localhost:8080/admin/v2/worker/cluster
 </code></pre>
 <p>Example output:</p>
 <pre><code class="hljs css language-shell">[{"workerId":"c-standalone-fw-localhost-6750","workerHostname":"localhost","port":6750}]
diff --git a/content/docs/en/next/io-quickstart/index.html b/content/docs/en/next/io-quickstart/index.html
index 000d250..1e6b56a 100644
--- a/content/docs/en/next/io-quickstart/index.html
+++ b/content/docs/en/next/io-quickstart/index.html
@@ -122,7 +122,7 @@ pulsar-io-twitter-2.2.0.nar
 <ol start="2">
 <li>Check pulsar function cluster</li>
 </ol>
-<pre><code class="hljs css language-bash">curl -s http://localhost:8080/admin/v2/<span class="hljs-built_in">functions</span>/cluster
+<pre><code class="hljs css language-bash">curl -s http://localhost:8080/admin/v2/worker/cluster
 </code></pre>
 <p>Example output:</p>
 <pre><code class="hljs css language-shell">[{"workerId":"c-standalone-fw-localhost-6750","workerHostname":"localhost","port":6750}]
diff --git a/content/docs/fr/next/client-libraries-websocket.html b/content/docs/fr/next/client-libraries-websocket.html
index 66f38b4..12e9d36 100644
--- a/content/docs/fr/next/client-libraries-websocket.html
+++ b/content/docs/fr/next/client-libraries-websocket.html
@@ -161,6 +161,8 @@
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Size of the consumer receive queue (default: 1000)</td></tr>
 <tr><td style="text-align:left"><code>consumerName</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left">Consumer name</td></tr>
 <tr><td style="text-align:left"><code>priorityLevel</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Define a <a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ConsumerConfiguration.html#setPriorityLevel-int-">priority</a> for the consumer</td></tr>
+<tr><td style="text-align:left"><code>maxRedeliverCount</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Define a <a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ConsumerBuilder.html#deadLetterPolicy-org.apache.pulsar.client.api.DeadLetterPolicy-">maxRedeliverCount</a> for the consumer (default: 0). Activates <a href="https://github.com/apache/pulsar/wiki/PIP-22%3A-Pulsar-Dead-Letter-Topic">Dead Letter [...]
+<tr><td style="text-align:left"><code>deadLetterTopic</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left">Define a <a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ConsumerBuilder.html#deadLetterPolicy-org.apache.pulsar.client.api.DeadLetterPolicy-">deadLetterTopic</a> for the consumer (default: {topic}-{subscription}-DLQ). Activates <a href="https://github.com/apache/pulsar/wiki/PIP-22%3A-Pulsar-Dead-L [...]
 </tbody>
 </table>
 <h5><a class="anchor" aria-hidden="true" id="receiving-messages"></a><a href="#receiving-messages" 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- [...]
diff --git a/content/docs/fr/next/client-libraries-websocket/index.html b/content/docs/fr/next/client-libraries-websocket/index.html
index 66f38b4..12e9d36 100644
--- a/content/docs/fr/next/client-libraries-websocket/index.html
+++ b/content/docs/fr/next/client-libraries-websocket/index.html
@@ -161,6 +161,8 @@
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Size of the consumer receive queue (default: 1000)</td></tr>
 <tr><td style="text-align:left"><code>consumerName</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left">Consumer name</td></tr>
 <tr><td style="text-align:left"><code>priorityLevel</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Define a <a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ConsumerConfiguration.html#setPriorityLevel-int-">priority</a> for the consumer</td></tr>
+<tr><td style="text-align:left"><code>maxRedeliverCount</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Define a <a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ConsumerBuilder.html#deadLetterPolicy-org.apache.pulsar.client.api.DeadLetterPolicy-">maxRedeliverCount</a> for the consumer (default: 0). Activates <a href="https://github.com/apache/pulsar/wiki/PIP-22%3A-Pulsar-Dead-Letter-Topic">Dead Letter [...]
+<tr><td style="text-align:left"><code>deadLetterTopic</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left">Define a <a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ConsumerBuilder.html#deadLetterPolicy-org.apache.pulsar.client.api.DeadLetterPolicy-">deadLetterTopic</a> for the consumer (default: {topic}-{subscription}-DLQ). Activates <a href="https://github.com/apache/pulsar/wiki/PIP-22%3A-Pulsar-Dead-L [...]
 </tbody>
 </table>
 <h5><a class="anchor" aria-hidden="true" id="receiving-messages"></a><a href="#receiving-messages" 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- [...]
diff --git a/content/docs/fr/next/io-quickstart.html b/content/docs/fr/next/io-quickstart.html
index cceae73..c11d6d2 100644
--- a/content/docs/fr/next/io-quickstart.html
+++ b/content/docs/fr/next/io-quickstart.html
@@ -117,7 +117,7 @@ pulsar-io-twitter-2.2.0.nar
 <ol>
 <li>Check pulsar function cluster</li>
 </ol>
-<pre><code class="hljs css language-bash">curl -s http://localhost:8080/admin/v2/<span class="hljs-built_in">functions</span>/cluster
+<pre><code class="hljs css language-bash">curl -s http://localhost:8080/admin/v2/worker/cluster
 </code></pre>
 <p>Example output:</p>
 <pre><code class="hljs css language-shell">[{"workerId":"c-standalone-fw-localhost-6750","workerHostname":"localhost","port":6750}]
diff --git a/content/docs/fr/next/io-quickstart/index.html b/content/docs/fr/next/io-quickstart/index.html
index cceae73..c11d6d2 100644
--- a/content/docs/fr/next/io-quickstart/index.html
+++ b/content/docs/fr/next/io-quickstart/index.html
@@ -117,7 +117,7 @@ pulsar-io-twitter-2.2.0.nar
 <ol>
 <li>Check pulsar function cluster</li>
 </ol>
-<pre><code class="hljs css language-bash">curl -s http://localhost:8080/admin/v2/<span class="hljs-built_in">functions</span>/cluster
+<pre><code class="hljs css language-bash">curl -s http://localhost:8080/admin/v2/worker/cluster
 </code></pre>
 <p>Example output:</p>
 <pre><code class="hljs css language-shell">[{"workerId":"c-standalone-fw-localhost-6750","workerHostname":"localhost","port":6750}]
diff --git a/content/docs/ja/next/client-libraries-websocket.html b/content/docs/ja/next/client-libraries-websocket.html
index 85c70dd..b9fe4e9 100644
--- a/content/docs/ja/next/client-libraries-websocket.html
+++ b/content/docs/ja/next/client-libraries-websocket.html
@@ -161,6 +161,8 @@
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Size of the consumer receive queue (default: 1000)</td></tr>
 <tr><td style="text-align:left"><code>consumerName</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left">Consumer name</td></tr>
 <tr><td style="text-align:left"><code>priorityLevel</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Define a <a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ConsumerConfiguration.html#setPriorityLevel-int-">priority</a> for the consumer</td></tr>
+<tr><td style="text-align:left"><code>maxRedeliverCount</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Define a <a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ConsumerBuilder.html#deadLetterPolicy-org.apache.pulsar.client.api.DeadLetterPolicy-">maxRedeliverCount</a> for the consumer (default: 0). Activates <a href="https://github.com/apache/pulsar/wiki/PIP-22%3A-Pulsar-Dead-Letter-Topic">Dead Letter [...]
+<tr><td style="text-align:left"><code>deadLetterTopic</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left">Define a <a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ConsumerBuilder.html#deadLetterPolicy-org.apache.pulsar.client.api.DeadLetterPolicy-">deadLetterTopic</a> for the consumer (default: {topic}-{subscription}-DLQ). Activates <a href="https://github.com/apache/pulsar/wiki/PIP-22%3A-Pulsar-Dead-L [...]
 </tbody>
 </table>
 <h5><a class="anchor" aria-hidden="true" id="receiving-messages"></a><a href="#receiving-messages" 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- [...]
diff --git a/content/docs/ja/next/client-libraries-websocket/index.html b/content/docs/ja/next/client-libraries-websocket/index.html
index 85c70dd..b9fe4e9 100644
--- a/content/docs/ja/next/client-libraries-websocket/index.html
+++ b/content/docs/ja/next/client-libraries-websocket/index.html
@@ -161,6 +161,8 @@
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Size of the consumer receive queue (default: 1000)</td></tr>
 <tr><td style="text-align:left"><code>consumerName</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left">Consumer name</td></tr>
 <tr><td style="text-align:left"><code>priorityLevel</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Define a <a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ConsumerConfiguration.html#setPriorityLevel-int-">priority</a> for the consumer</td></tr>
+<tr><td style="text-align:left"><code>maxRedeliverCount</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Define a <a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ConsumerBuilder.html#deadLetterPolicy-org.apache.pulsar.client.api.DeadLetterPolicy-">maxRedeliverCount</a> for the consumer (default: 0). Activates <a href="https://github.com/apache/pulsar/wiki/PIP-22%3A-Pulsar-Dead-Letter-Topic">Dead Letter [...]
+<tr><td style="text-align:left"><code>deadLetterTopic</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left">Define a <a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ConsumerBuilder.html#deadLetterPolicy-org.apache.pulsar.client.api.DeadLetterPolicy-">deadLetterTopic</a> for the consumer (default: {topic}-{subscription}-DLQ). Activates <a href="https://github.com/apache/pulsar/wiki/PIP-22%3A-Pulsar-Dead-L [...]
 </tbody>
 </table>
 <h5><a class="anchor" aria-hidden="true" id="receiving-messages"></a><a href="#receiving-messages" 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- [...]
diff --git a/content/docs/ja/next/io-quickstart.html b/content/docs/ja/next/io-quickstart.html
index eea7b5d..c257e35 100644
--- a/content/docs/ja/next/io-quickstart.html
+++ b/content/docs/ja/next/io-quickstart.html
@@ -117,7 +117,7 @@ pulsar-io-twitter-2.2.0.nar
 <ol>
 <li>Check pulsar function cluster</li>
 </ol>
-<pre><code class="hljs css language-bash">curl -s http://localhost:8080/admin/v2/<span class="hljs-built_in">functions</span>/cluster
+<pre><code class="hljs css language-bash">curl -s http://localhost:8080/admin/v2/worker/cluster
 </code></pre>
 <p>Example output:</p>
 <pre><code class="hljs css language-shell">[{"workerId":"c-standalone-fw-localhost-6750","workerHostname":"localhost","port":6750}]
diff --git a/content/docs/ja/next/io-quickstart/index.html b/content/docs/ja/next/io-quickstart/index.html
index eea7b5d..c257e35 100644
--- a/content/docs/ja/next/io-quickstart/index.html
+++ b/content/docs/ja/next/io-quickstart/index.html
@@ -117,7 +117,7 @@ pulsar-io-twitter-2.2.0.nar
 <ol>
 <li>Check pulsar function cluster</li>
 </ol>
-<pre><code class="hljs css language-bash">curl -s http://localhost:8080/admin/v2/<span class="hljs-built_in">functions</span>/cluster
+<pre><code class="hljs css language-bash">curl -s http://localhost:8080/admin/v2/worker/cluster
 </code></pre>
 <p>Example output:</p>
 <pre><code class="hljs css language-shell">[{"workerId":"c-standalone-fw-localhost-6750","workerHostname":"localhost","port":6750}]
diff --git a/content/docs/zh-CN/2.1.0-incubating/admin-api-non-persistent-topics.html b/content/docs/zh-CN/2.1.0-incubating/admin-api-non-persistent-topics.html
index 6db6454..279d9d6 100644
--- a/content/docs/zh-CN/2.1.0-incubating/admin-api-non-persistent-topics.html
+++ b/content/docs/zh-CN/2.1.0-incubating/admin-api-non-persistent-topics.html
@@ -219,7 +219,7 @@ admin.nonPersistentTopics().getPartitionedTopicMetadata(topicName);
 <pre><code class="hljs css language-java">String topic = <span class="hljs-string">"non-persistent://my-tenantmy-namespace/my-topic"</span>;
 admin.nonPersistentTopics().unload(topic);
 </code></pre>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/2.1.0-incubating/admin-api-persistent-topics"><span class="arrow-prev">← </span><span>Managing persistent topics</span></a><a class="docs-next button" href="/docs/zh-CN/2.1.0-incubating/admin-api-partitioned-topics"><span>Managing partitioned topics</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#non-persistent-t [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/2.1.0-incubating/admin-api-persistent-topics"><span class="arrow-prev">← </span><span>持久主题管理</span></a><a class="docs-next button" href="/docs/zh-CN/2.1.0-incubating/admin-api-partitioned-topics"><span>Managing partitioned topics</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#non-persistent-topics-resources">Non [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/zh-CN/2.1.0-incubating/admin-api-non-persistent-topics/index.html b/content/docs/zh-CN/2.1.0-incubating/admin-api-non-persistent-topics/index.html
index 6db6454..279d9d6 100644
--- a/content/docs/zh-CN/2.1.0-incubating/admin-api-non-persistent-topics/index.html
+++ b/content/docs/zh-CN/2.1.0-incubating/admin-api-non-persistent-topics/index.html
@@ -219,7 +219,7 @@ admin.nonPersistentTopics().getPartitionedTopicMetadata(topicName);
 <pre><code class="hljs css language-java">String topic = <span class="hljs-string">"non-persistent://my-tenantmy-namespace/my-topic"</span>;
 admin.nonPersistentTopics().unload(topic);
 </code></pre>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/2.1.0-incubating/admin-api-persistent-topics"><span class="arrow-prev">← </span><span>Managing persistent topics</span></a><a class="docs-next button" href="/docs/zh-CN/2.1.0-incubating/admin-api-partitioned-topics"><span>Managing partitioned topics</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#non-persistent-t [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/2.1.0-incubating/admin-api-persistent-topics"><span class="arrow-prev">← </span><span>持久主题管理</span></a><a class="docs-next button" href="/docs/zh-CN/2.1.0-incubating/admin-api-partitioned-topics"><span>Managing partitioned topics</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#non-persistent-topics-resources">Non [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/zh-CN/2.1.0-incubating/admin-api-permissions.html b/content/docs/zh-CN/2.1.0-incubating/admin-api-permissions.html
index 9fa1b55..9d2d0d7 100644
--- a/content/docs/zh-CN/2.1.0-incubating/admin-api-permissions.html
+++ b/content/docs/zh-CN/2.1.0-incubating/admin-api-permissions.html
@@ -113,7 +113,7 @@ Roles <code>my.1.role</code>, <code>my.2.role</code>, <code>my.foo.role</code>,
 <h3><a class="anchor" aria-hidden="true" id="java-2"></a><a href="#java-2" 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. [...]
 <pre><code class="hljs css language-java">admin.namespaces().revokePermissionsOnNamespace(namespace, role);
 </code></pre>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/2.1.0-incubating/admin-api-namespaces"><span class="arrow-prev">← </span><span>管理命名空间</span></a><a class="docs-next button" href="/docs/zh-CN/2.1.0-incubating/admin-api-persistent-topics"><span>Managing persistent topics</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#grant-permissions">Grant permissions</a><ul c [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/2.1.0-incubating/admin-api-namespaces"><span class="arrow-prev">← </span><span>管理命名空间</span></a><a class="docs-next button" href="/docs/zh-CN/2.1.0-incubating/admin-api-persistent-topics"><span>持久主题管理</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#grant-permissions">Grant permissions</a><ul class="toc-headings"> [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/zh-CN/2.1.0-incubating/admin-api-permissions/index.html b/content/docs/zh-CN/2.1.0-incubating/admin-api-permissions/index.html
index 9fa1b55..9d2d0d7 100644
--- a/content/docs/zh-CN/2.1.0-incubating/admin-api-permissions/index.html
+++ b/content/docs/zh-CN/2.1.0-incubating/admin-api-permissions/index.html
@@ -113,7 +113,7 @@ Roles <code>my.1.role</code>, <code>my.2.role</code>, <code>my.foo.role</code>,
 <h3><a class="anchor" aria-hidden="true" id="java-2"></a><a href="#java-2" 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. [...]
 <pre><code class="hljs css language-java">admin.namespaces().revokePermissionsOnNamespace(namespace, role);
 </code></pre>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/2.1.0-incubating/admin-api-namespaces"><span class="arrow-prev">← </span><span>管理命名空间</span></a><a class="docs-next button" href="/docs/zh-CN/2.1.0-incubating/admin-api-persistent-topics"><span>Managing persistent topics</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#grant-permissions">Grant permissions</a><ul c [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/2.1.0-incubating/admin-api-namespaces"><span class="arrow-prev">← </span><span>管理命名空间</span></a><a class="docs-next button" href="/docs/zh-CN/2.1.0-incubating/admin-api-persistent-topics"><span>持久主题管理</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#grant-permissions">Grant permissions</a><ul class="toc-headings"> [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/zh-CN/2.1.0-incubating/admin-api-persistent-topics.html b/content/docs/zh-CN/2.1.0-incubating/admin-api-persistent-topics.html
index 832baaf..31e4e56 100644
--- a/content/docs/zh-CN/2.1.0-incubating/admin-api-persistent-topics.html
+++ b/content/docs/zh-CN/2.1.0-incubating/admin-api-persistent-topics.html
@@ -1,5 +1,5 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Managing persistent topics · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;p&gt;Persistent helps to access topic which is a logical endpoint for publishing and consuming messages. Producers publish messages to the topic and consumers subscribe to the topic,  [...]
-"/><meta name="docsearch:version" content="2.1.0-incubating"/><meta name="docsearch:language" content="zh-CN"/><meta property="og:title" content="Managing persistent topics · Apache Pulsar"/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content="&lt;p&gt;Persistent helps to access topic which is a logical endpoint for publishing and consuming messages. Producers publish message [...]
+<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>持久主题管理 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;p&gt;持久化可以帮助实现跨越主题,而主题是发布和消费消息的逻辑端点。 生产者往topic上发布消息,消费者订阅topic,从而消费发布到该topic上的消息。&lt;/p&gt;
+"/><meta name="docsearch:version" content="2.1.0-incubating"/><meta name="docsearch:language" content="zh-CN"/><meta property="og:title" content="持久主题管理 · Apache Pulsar"/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content="&lt;p&gt;持久化可以帮助实现跨越主题,而主题是发布和消费消息的逻辑端点。 生产者往topic上发布消息,消费者订阅topic,从而消费发布到该topic上的消息。&lt;/p&gt;
 "/><meta name="twitter:card" content="summary"/><meta name="twitter:image" content="https://pulsar.incubator.apache.org/img/pulsar.svg"/><link rel="shortcut icon" href="/img/pulsar.ico"/><link rel="stylesheet" href="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.css"/><link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/atom-one-dark.min.css"/><link rel="alternate" type="application/atom+xml" href="https://pulsar.incubator.apache.org/blog/atom.x [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
@@ -47,15 +47,15 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">Managing persistent topics</h1></header><article><div><span><p>Persistent helps to access topic which is a logical endpoint for publishing and consuming messages. Producers publish messages [...]
+        </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">持久主题管理</h1></header><article><div><span><p>持久化可以帮助实现跨越主题,而主题是发布和消费消息的逻辑端点。 生产者往topic上发布消息,消费者订阅topic,从而消费发布到该topic上的消息。</p>
 <p>In all of the instructions and commands below, the topic name structure is:</p>
 <pre><code class="hljs css language-shell">persistent://tenant/namespace/topic
 </code></pre>
 <h2><a class="anchor" aria-hidden="true" id="persistent-topics-resources"></a><a href="#persistent-topics-resources" 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 1 [...]
-<h3><a class="anchor" aria-hidden="true" id="list-of-topics"></a><a href="#list-of-topics" 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- [...]
-<p>It provides a list of persistent topics exist under a given namespace.</p>
+<h3><a class="anchor" aria-hidden="true" id="列出topic"></a><a href="#列出topic" 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- [...]
+<p>列出给定namespace下的所有持久topic列表。</p>
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin"></a><a href="#pulsar-admin" 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. [...]
-<p>List of topics can be fetched using <a href="../../reference/CliTools#list"><code>list</code></a> command.</p>
+<p>可以通过使用<a href="../../reference/CliTools#list"><code>list</code></a>命令获取topic列表</p>
 <pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin persistent list \</span>
   my-tenant/my-namespace
 </code></pre>
@@ -66,10 +66,10 @@
 <pre><code class="hljs css language-java">String namespace = <span class="hljs-string">"my-tenant/my-namespace"</span>;
 admin.persistentTopics().getList(namespace);
 </code></pre>
-<h3><a class="anchor" aria-hidden="true" id="grant-permission"></a><a href="#grant-permission" 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. [...]
-<p>It grants permissions on a client role to perform specific actions on a given topic.</p>
+<h3><a class="anchor" aria-hidden="true" id="授予权限"></a><a href="#授予权限" 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.09V6 [...]
+<p>授权给客户端角色,允许它在给定的topic上执行指定的动作。</p>
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin-1"></a><a href="#pulsar-admin-1" 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- [...]
-<p>Permission can be granted using <a href="../../reference/CliTools#grant-permission"><code>grant-permission</code></a> command.</p>
+<p>可以使用<a href="../../reference/CliTools#grant-permission"><code>grant-permission</code></a>命令来授权。</p>
 <pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin persistent grant-permission \</span>
   --actions produce,consume --role application1 \
   persistent://test-tenant/ns1/tp1 \
@@ -84,8 +84,8 @@ String role = <span class="hljs-string">"test-role"</span>;
 Set&lt;AuthAction&gt; actions  = Sets.newHashSet(AuthAction.produce, AuthAction.consume);
 admin.persistentTopics().grantPermission(topic, role, actions);
 </code></pre>
-<h3><a class="anchor" aria-hidden="true" id="get-permission"></a><a href="#get-permission" 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- [...]
-<p>Permission can be fetched using <a href="../../reference/CliTools#permissions"><code>permissions</code></a> command.</p>
+<h3><a class="anchor" aria-hidden="true" id="得到许可"></a><a href="#得到许可" 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.09V6 [...]
+<p>可以使用<a href="../../reference/CliTools#permissions"><code>permissions</code></a>命令来查询权限</p>
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin-2"></a><a href="#pulsar-admin-2" 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- [...]
 <pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin persistent permissions \</span>
   persistent://test-tenant/ns1/tp1 \
@@ -104,10 +104,10 @@ admin.persistentTopics().grantPermission(topic, role, actions);
 <pre><code class="hljs css language-java">String topic = <span class="hljs-string">"persistent://my-tenant/my-namespace/my-topic"</span>;
 admin.persistentTopics().getPermissions(topic);
 </code></pre>
-<h3><a class="anchor" aria-hidden="true" id="revoke-permission"></a><a href="#revoke-permission" 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- [...]
-<p>It revokes a permission which was granted on a client role.</p>
+<h3><a class="anchor" aria-hidden="true" id="撤回权限"></a><a href="#撤回权限" 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.09V6 [...]
+<p>撤回已经授予给客户端角色的权限。</p>
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin-3"></a><a href="#pulsar-admin-3" 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- [...]
-<p>Permission can be revoked using <a href="../../reference/CliTools#revoke-permission"><code>revoke-permission</code></a> command.</p>
+<p>可以使用<a href="../../reference/CliTools#revoke-permission"><code>revoke-permission</code></a>命令来撤回权限。</p>
 <pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin persistent revoke-permission \</span>
   --role application1 \
   persistent://test-tenant/ns1/tp1 \
@@ -127,8 +127,8 @@ admin.persistentTopics().getPermissions(topic);
 String role = <span class="hljs-string">"test-role"</span>;
 admin.persistentTopics().revokePermissions(topic, role);
 </code></pre>
-<h3><a class="anchor" aria-hidden="true" id="delete-topic"></a><a href="#delete-topic" 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. [...]
-<p>It deletes a topic. The topic cannot be deleted if there's any active subscription or producers connected to it.</p>
+<h3><a class="anchor" aria-hidden="true" id="删除主题"></a><a href="#删除主题" 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.09V6 [...]
+<p>删除主题。如果主题上连接有活跃的订阅或者生产者,则无法删除。</p>
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin-4"></a><a href="#pulsar-admin-4" 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- [...]
 <p>Topic can be deleted using <a href="../../reference/CliTools#delete"><code>delete</code></a> command.</p>
 <pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin persistent delete \</span>
@@ -430,7 +430,7 @@ admin.persistentTopics().getSubscriptions(topic);
 String subscriptionName = <span class="hljs-string">"my-subscription"</span>;
 admin.persistentTopics().deleteSubscription(topic, subscriptionName);
 </code></pre>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/2.1.0-incubating/admin-api-permissions"><span class="arrow-prev">← </span><span>Managing permissions</span></a><a class="docs-next button" href="/docs/zh-CN/2.1.0-incubating/admin-api-non-persistent-topics"><span>Managing non-persistent topics</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#persistent-topics-reso [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/2.1.0-incubating/admin-api-permissions"><span class="arrow-prev">← </span><span>Managing permissions</span></a><a class="docs-next button" href="/docs/zh-CN/2.1.0-incubating/admin-api-non-persistent-topics"><span>Managing non-persistent topics</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#persistent-topics-reso [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/zh-CN/2.1.0-incubating/admin-api-persistent-topics/index.html b/content/docs/zh-CN/2.1.0-incubating/admin-api-persistent-topics/index.html
index 832baaf..31e4e56 100644
--- a/content/docs/zh-CN/2.1.0-incubating/admin-api-persistent-topics/index.html
+++ b/content/docs/zh-CN/2.1.0-incubating/admin-api-persistent-topics/index.html
@@ -1,5 +1,5 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Managing persistent topics · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;p&gt;Persistent helps to access topic which is a logical endpoint for publishing and consuming messages. Producers publish messages to the topic and consumers subscribe to the topic,  [...]
-"/><meta name="docsearch:version" content="2.1.0-incubating"/><meta name="docsearch:language" content="zh-CN"/><meta property="og:title" content="Managing persistent topics · Apache Pulsar"/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content="&lt;p&gt;Persistent helps to access topic which is a logical endpoint for publishing and consuming messages. Producers publish message [...]
+<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>持久主题管理 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;p&gt;持久化可以帮助实现跨越主题,而主题是发布和消费消息的逻辑端点。 生产者往topic上发布消息,消费者订阅topic,从而消费发布到该topic上的消息。&lt;/p&gt;
+"/><meta name="docsearch:version" content="2.1.0-incubating"/><meta name="docsearch:language" content="zh-CN"/><meta property="og:title" content="持久主题管理 · Apache Pulsar"/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content="&lt;p&gt;持久化可以帮助实现跨越主题,而主题是发布和消费消息的逻辑端点。 生产者往topic上发布消息,消费者订阅topic,从而消费发布到该topic上的消息。&lt;/p&gt;
 "/><meta name="twitter:card" content="summary"/><meta name="twitter:image" content="https://pulsar.incubator.apache.org/img/pulsar.svg"/><link rel="shortcut icon" href="/img/pulsar.ico"/><link rel="stylesheet" href="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.css"/><link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/atom-one-dark.min.css"/><link rel="alternate" type="application/atom+xml" href="https://pulsar.incubator.apache.org/blog/atom.x [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
@@ -47,15 +47,15 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">Managing persistent topics</h1></header><article><div><span><p>Persistent helps to access topic which is a logical endpoint for publishing and consuming messages. Producers publish messages [...]
+        </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">持久主题管理</h1></header><article><div><span><p>持久化可以帮助实现跨越主题,而主题是发布和消费消息的逻辑端点。 生产者往topic上发布消息,消费者订阅topic,从而消费发布到该topic上的消息。</p>
 <p>In all of the instructions and commands below, the topic name structure is:</p>
 <pre><code class="hljs css language-shell">persistent://tenant/namespace/topic
 </code></pre>
 <h2><a class="anchor" aria-hidden="true" id="persistent-topics-resources"></a><a href="#persistent-topics-resources" 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 1 [...]
-<h3><a class="anchor" aria-hidden="true" id="list-of-topics"></a><a href="#list-of-topics" 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- [...]
-<p>It provides a list of persistent topics exist under a given namespace.</p>
+<h3><a class="anchor" aria-hidden="true" id="列出topic"></a><a href="#列出topic" 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- [...]
+<p>列出给定namespace下的所有持久topic列表。</p>
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin"></a><a href="#pulsar-admin" 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. [...]
-<p>List of topics can be fetched using <a href="../../reference/CliTools#list"><code>list</code></a> command.</p>
+<p>可以通过使用<a href="../../reference/CliTools#list"><code>list</code></a>命令获取topic列表</p>
 <pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin persistent list \</span>
   my-tenant/my-namespace
 </code></pre>
@@ -66,10 +66,10 @@
 <pre><code class="hljs css language-java">String namespace = <span class="hljs-string">"my-tenant/my-namespace"</span>;
 admin.persistentTopics().getList(namespace);
 </code></pre>
-<h3><a class="anchor" aria-hidden="true" id="grant-permission"></a><a href="#grant-permission" 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. [...]
-<p>It grants permissions on a client role to perform specific actions on a given topic.</p>
+<h3><a class="anchor" aria-hidden="true" id="授予权限"></a><a href="#授予权限" 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.09V6 [...]
+<p>授权给客户端角色,允许它在给定的topic上执行指定的动作。</p>
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin-1"></a><a href="#pulsar-admin-1" 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- [...]
-<p>Permission can be granted using <a href="../../reference/CliTools#grant-permission"><code>grant-permission</code></a> command.</p>
+<p>可以使用<a href="../../reference/CliTools#grant-permission"><code>grant-permission</code></a>命令来授权。</p>
 <pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin persistent grant-permission \</span>
   --actions produce,consume --role application1 \
   persistent://test-tenant/ns1/tp1 \
@@ -84,8 +84,8 @@ String role = <span class="hljs-string">"test-role"</span>;
 Set&lt;AuthAction&gt; actions  = Sets.newHashSet(AuthAction.produce, AuthAction.consume);
 admin.persistentTopics().grantPermission(topic, role, actions);
 </code></pre>
-<h3><a class="anchor" aria-hidden="true" id="get-permission"></a><a href="#get-permission" 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- [...]
-<p>Permission can be fetched using <a href="../../reference/CliTools#permissions"><code>permissions</code></a> command.</p>
+<h3><a class="anchor" aria-hidden="true" id="得到许可"></a><a href="#得到许可" 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.09V6 [...]
+<p>可以使用<a href="../../reference/CliTools#permissions"><code>permissions</code></a>命令来查询权限</p>
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin-2"></a><a href="#pulsar-admin-2" 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- [...]
 <pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin persistent permissions \</span>
   persistent://test-tenant/ns1/tp1 \
@@ -104,10 +104,10 @@ admin.persistentTopics().grantPermission(topic, role, actions);
 <pre><code class="hljs css language-java">String topic = <span class="hljs-string">"persistent://my-tenant/my-namespace/my-topic"</span>;
 admin.persistentTopics().getPermissions(topic);
 </code></pre>
-<h3><a class="anchor" aria-hidden="true" id="revoke-permission"></a><a href="#revoke-permission" 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- [...]
-<p>It revokes a permission which was granted on a client role.</p>
+<h3><a class="anchor" aria-hidden="true" id="撤回权限"></a><a href="#撤回权限" 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.09V6 [...]
+<p>撤回已经授予给客户端角色的权限。</p>
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin-3"></a><a href="#pulsar-admin-3" 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- [...]
-<p>Permission can be revoked using <a href="../../reference/CliTools#revoke-permission"><code>revoke-permission</code></a> command.</p>
+<p>可以使用<a href="../../reference/CliTools#revoke-permission"><code>revoke-permission</code></a>命令来撤回权限。</p>
 <pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin persistent revoke-permission \</span>
   --role application1 \
   persistent://test-tenant/ns1/tp1 \
@@ -127,8 +127,8 @@ admin.persistentTopics().getPermissions(topic);
 String role = <span class="hljs-string">"test-role"</span>;
 admin.persistentTopics().revokePermissions(topic, role);
 </code></pre>
-<h3><a class="anchor" aria-hidden="true" id="delete-topic"></a><a href="#delete-topic" 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. [...]
-<p>It deletes a topic. The topic cannot be deleted if there's any active subscription or producers connected to it.</p>
+<h3><a class="anchor" aria-hidden="true" id="删除主题"></a><a href="#删除主题" 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.09V6 [...]
+<p>删除主题。如果主题上连接有活跃的订阅或者生产者,则无法删除。</p>
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin-4"></a><a href="#pulsar-admin-4" 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- [...]
 <p>Topic can be deleted using <a href="../../reference/CliTools#delete"><code>delete</code></a> command.</p>
 <pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin persistent delete \</span>
@@ -430,7 +430,7 @@ admin.persistentTopics().getSubscriptions(topic);
 String subscriptionName = <span class="hljs-string">"my-subscription"</span>;
 admin.persistentTopics().deleteSubscription(topic, subscriptionName);
 </code></pre>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/2.1.0-incubating/admin-api-permissions"><span class="arrow-prev">← </span><span>Managing permissions</span></a><a class="docs-next button" href="/docs/zh-CN/2.1.0-incubating/admin-api-non-persistent-topics"><span>Managing non-persistent topics</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#persistent-topics-reso [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/2.1.0-incubating/admin-api-permissions"><span class="arrow-prev">← </span><span>Managing permissions</span></a><a class="docs-next button" href="/docs/zh-CN/2.1.0-incubating/admin-api-non-persistent-topics"><span>Managing non-persistent topics</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#persistent-topics-reso [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/zh-CN/2.1.1-incubating/admin-api-non-persistent-topics.html b/content/docs/zh-CN/2.1.1-incubating/admin-api-non-persistent-topics.html
index 9b1e51f..4a13c7e 100644
--- a/content/docs/zh-CN/2.1.1-incubating/admin-api-non-persistent-topics.html
+++ b/content/docs/zh-CN/2.1.1-incubating/admin-api-non-persistent-topics.html
@@ -219,7 +219,7 @@ admin.nonPersistentTopics().getPartitionedTopicMetadata(topicName);
 <pre><code class="hljs css language-java">String topic = <span class="hljs-string">"non-persistent://my-tenantmy-namespace/my-topic"</span>;
 admin.nonPersistentTopics().unload(topic);
 </code></pre>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/2.1.1-incubating/admin-api-persistent-topics"><span class="arrow-prev">← </span><span>Managing persistent topics</span></a><a class="docs-next button" href="/docs/zh-CN/2.1.1-incubating/admin-api-partitioned-topics"><span>Managing partitioned topics</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#non-persistent-t [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/2.1.1-incubating/admin-api-persistent-topics"><span class="arrow-prev">← </span><span>持久主题管理</span></a><a class="docs-next button" href="/docs/zh-CN/2.1.1-incubating/admin-api-partitioned-topics"><span>Managing partitioned topics</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#non-persistent-topics-resources">Non [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/zh-CN/2.1.1-incubating/admin-api-non-persistent-topics/index.html b/content/docs/zh-CN/2.1.1-incubating/admin-api-non-persistent-topics/index.html
index 9b1e51f..4a13c7e 100644
--- a/content/docs/zh-CN/2.1.1-incubating/admin-api-non-persistent-topics/index.html
+++ b/content/docs/zh-CN/2.1.1-incubating/admin-api-non-persistent-topics/index.html
@@ -219,7 +219,7 @@ admin.nonPersistentTopics().getPartitionedTopicMetadata(topicName);
 <pre><code class="hljs css language-java">String topic = <span class="hljs-string">"non-persistent://my-tenantmy-namespace/my-topic"</span>;
 admin.nonPersistentTopics().unload(topic);
 </code></pre>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/2.1.1-incubating/admin-api-persistent-topics"><span class="arrow-prev">← </span><span>Managing persistent topics</span></a><a class="docs-next button" href="/docs/zh-CN/2.1.1-incubating/admin-api-partitioned-topics"><span>Managing partitioned topics</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#non-persistent-t [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/2.1.1-incubating/admin-api-persistent-topics"><span class="arrow-prev">← </span><span>持久主题管理</span></a><a class="docs-next button" href="/docs/zh-CN/2.1.1-incubating/admin-api-partitioned-topics"><span>Managing partitioned topics</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#non-persistent-topics-resources">Non [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/zh-CN/2.1.1-incubating/admin-api-permissions.html b/content/docs/zh-CN/2.1.1-incubating/admin-api-permissions.html
index 6e35ea1..3c6451b 100644
--- a/content/docs/zh-CN/2.1.1-incubating/admin-api-permissions.html
+++ b/content/docs/zh-CN/2.1.1-incubating/admin-api-permissions.html
@@ -113,7 +113,7 @@ Roles <code>my.1.role</code>, <code>my.2.role</code>, <code>my.foo.role</code>,
 <h3><a class="anchor" aria-hidden="true" id="java-2"></a><a href="#java-2" 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. [...]
 <pre><code class="hljs css language-java">admin.namespaces().revokePermissionsOnNamespace(namespace, role);
 </code></pre>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/2.1.1-incubating/admin-api-namespaces"><span class="arrow-prev">← </span><span>管理命名空间</span></a><a class="docs-next button" href="/docs/zh-CN/2.1.1-incubating/admin-api-persistent-topics"><span>Managing persistent topics</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#grant-permissions">Grant permissions</a><ul c [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/2.1.1-incubating/admin-api-namespaces"><span class="arrow-prev">← </span><span>管理命名空间</span></a><a class="docs-next button" href="/docs/zh-CN/2.1.1-incubating/admin-api-persistent-topics"><span>持久主题管理</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#grant-permissions">Grant permissions</a><ul class="toc-headings"> [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/zh-CN/2.1.1-incubating/admin-api-permissions/index.html b/content/docs/zh-CN/2.1.1-incubating/admin-api-permissions/index.html
index 6e35ea1..3c6451b 100644
--- a/content/docs/zh-CN/2.1.1-incubating/admin-api-permissions/index.html
+++ b/content/docs/zh-CN/2.1.1-incubating/admin-api-permissions/index.html
@@ -113,7 +113,7 @@ Roles <code>my.1.role</code>, <code>my.2.role</code>, <code>my.foo.role</code>,
 <h3><a class="anchor" aria-hidden="true" id="java-2"></a><a href="#java-2" 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. [...]
 <pre><code class="hljs css language-java">admin.namespaces().revokePermissionsOnNamespace(namespace, role);
 </code></pre>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/2.1.1-incubating/admin-api-namespaces"><span class="arrow-prev">← </span><span>管理命名空间</span></a><a class="docs-next button" href="/docs/zh-CN/2.1.1-incubating/admin-api-persistent-topics"><span>Managing persistent topics</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#grant-permissions">Grant permissions</a><ul c [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/2.1.1-incubating/admin-api-namespaces"><span class="arrow-prev">← </span><span>管理命名空间</span></a><a class="docs-next button" href="/docs/zh-CN/2.1.1-incubating/admin-api-persistent-topics"><span>持久主题管理</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#grant-permissions">Grant permissions</a><ul class="toc-headings"> [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/zh-CN/2.1.1-incubating/admin-api-persistent-topics.html b/content/docs/zh-CN/2.1.1-incubating/admin-api-persistent-topics.html
index fa7424d..566c635 100644
--- a/content/docs/zh-CN/2.1.1-incubating/admin-api-persistent-topics.html
+++ b/content/docs/zh-CN/2.1.1-incubating/admin-api-persistent-topics.html
@@ -1,5 +1,5 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Managing persistent topics · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;p&gt;Persistent helps to access topic which is a logical endpoint for publishing and consuming messages. Producers publish messages to the topic and consumers subscribe to the topic,  [...]
-"/><meta name="docsearch:version" content="2.1.1-incubating"/><meta name="docsearch:language" content="zh-CN"/><meta property="og:title" content="Managing persistent topics · Apache Pulsar"/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content="&lt;p&gt;Persistent helps to access topic which is a logical endpoint for publishing and consuming messages. Producers publish message [...]
+<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Managing persistent topics · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;p&gt;持久化可以帮助实现跨越主题,而主题是发布和消费消息的逻辑端点。 生产者往topic上发布消息,消费者订阅topic,从而消费发布到该topic上的消息。&lt;/p&gt;
+"/><meta name="docsearch:version" content="2.1.1-incubating"/><meta name="docsearch:language" content="zh-CN"/><meta property="og:title" content="Managing persistent topics · Apache Pulsar"/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content="&lt;p&gt;持久化可以帮助实现跨越主题,而主题是发布和消费消息的逻辑端点。 生产者往topic上发布消息,消费者订阅topic,从而消费发布到该topic上的消息。&lt;/p&gt;
 "/><meta name="twitter:card" content="summary"/><meta name="twitter:image" content="https://pulsar.incubator.apache.org/img/pulsar.svg"/><link rel="shortcut icon" href="/img/pulsar.ico"/><link rel="stylesheet" href="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.css"/><link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/atom-one-dark.min.css"/><link rel="alternate" type="application/atom+xml" href="https://pulsar.incubator.apache.org/blog/atom.x [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
@@ -47,15 +47,15 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">Managing persistent topics</h1></header><article><div><span><p>Persistent helps to access topic which is a logical endpoint for publishing and consuming messages. Producers publish messages [...]
+        </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">Managing persistent topics</h1></header><article><div><span><p>持久化可以帮助实现跨越主题,而主题是发布和消费消息的逻辑端点。 生产者往topic上发布消息,消费者订阅topic,从而消费发布到该topic上的消息。</p>
 <p>In all of the instructions and commands below, the topic name structure is:</p>
 <pre><code class="hljs css language-shell">persistent://tenant/namespace/topic
 </code></pre>
 <h2><a class="anchor" aria-hidden="true" id="persistent-topics-resources"></a><a href="#persistent-topics-resources" 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 1 [...]
-<h3><a class="anchor" aria-hidden="true" id="list-of-topics"></a><a href="#list-of-topics" 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- [...]
-<p>It provides a list of persistent topics exist under a given namespace.</p>
+<h3><a class="anchor" aria-hidden="true" id="列出topic"></a><a href="#列出topic" 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- [...]
+<p>列出给定namespace下的所有持久topic列表。</p>
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin"></a><a href="#pulsar-admin" 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. [...]
-<p>List of topics can be fetched using <a href="../../reference/CliTools#list"><code>list</code></a> command.</p>
+<p>可以通过使用<a href="../../reference/CliTools#list"><code>list</code></a>命令获取topic列表</p>
 <pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin persistent list \</span>
   my-tenant/my-namespace
 </code></pre>
@@ -66,10 +66,10 @@
 <pre><code class="hljs css language-java">String namespace = <span class="hljs-string">"my-tenant/my-namespace"</span>;
 admin.persistentTopics().getList(namespace);
 </code></pre>
-<h3><a class="anchor" aria-hidden="true" id="grant-permission"></a><a href="#grant-permission" 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. [...]
-<p>It grants permissions on a client role to perform specific actions on a given topic.</p>
+<h3><a class="anchor" aria-hidden="true" id="授予权限"></a><a href="#授予权限" 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.09V6 [...]
+<p>授权给客户端角色,允许它在给定的topic上执行指定的动作。</p>
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin-1"></a><a href="#pulsar-admin-1" 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- [...]
-<p>Permission can be granted using <a href="../../reference/CliTools#grant-permission"><code>grant-permission</code></a> command.</p>
+<p>可以使用<a href="../../reference/CliTools#grant-permission"><code>grant-permission</code></a>命令来授权。</p>
 <pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin persistent grant-permission \</span>
   --actions produce,consume --role application1 \
   persistent://test-tenant/ns1/tp1 \
@@ -84,8 +84,8 @@ String role = <span class="hljs-string">"test-role"</span>;
 Set&lt;AuthAction&gt; actions  = Sets.newHashSet(AuthAction.produce, AuthAction.consume);
 admin.persistentTopics().grantPermission(topic, role, actions);
 </code></pre>
-<h3><a class="anchor" aria-hidden="true" id="get-permission"></a><a href="#get-permission" 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- [...]
-<p>Permission can be fetched using <a href="../../reference/CliTools#permissions"><code>permissions</code></a> command.</p>
+<h3><a class="anchor" aria-hidden="true" id="得到许可"></a><a href="#得到许可" 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.09V6 [...]
+<p>可以使用<a href="../../reference/CliTools#permissions"><code>permissions</code></a>命令来查询权限</p>
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin-2"></a><a href="#pulsar-admin-2" 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- [...]
 <pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin persistent permissions \</span>
   persistent://test-tenant/ns1/tp1 \
@@ -104,10 +104,10 @@ admin.persistentTopics().grantPermission(topic, role, actions);
 <pre><code class="hljs css language-java">String topic = <span class="hljs-string">"persistent://my-tenant/my-namespace/my-topic"</span>;
 admin.persistentTopics().getPermissions(topic);
 </code></pre>
-<h3><a class="anchor" aria-hidden="true" id="revoke-permission"></a><a href="#revoke-permission" 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- [...]
-<p>It revokes a permission which was granted on a client role.</p>
+<h3><a class="anchor" aria-hidden="true" id="撤回权限"></a><a href="#撤回权限" 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.09V6 [...]
+<p>撤回已经授予给客户端角色的权限。</p>
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin-3"></a><a href="#pulsar-admin-3" 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- [...]
-<p>Permission can be revoked using <a href="../../reference/CliTools#revoke-permission"><code>revoke-permission</code></a> command.</p>
+<p>可以使用<a href="../../reference/CliTools#revoke-permission"><code>revoke-permission</code></a>命令来撤回权限。</p>
 <pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin persistent revoke-permission \</span>
   --role application1 \
   persistent://test-tenant/ns1/tp1 \
@@ -127,8 +127,8 @@ admin.persistentTopics().getPermissions(topic);
 String role = <span class="hljs-string">"test-role"</span>;
 admin.persistentTopics().revokePermissions(topic, role);
 </code></pre>
-<h3><a class="anchor" aria-hidden="true" id="delete-topic"></a><a href="#delete-topic" 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. [...]
-<p>It deletes a topic. The topic cannot be deleted if there's any active subscription or producers connected to it.</p>
+<h3><a class="anchor" aria-hidden="true" id="删除主题"></a><a href="#删除主题" 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.09V6 [...]
+<p>删除主题。如果主题上连接有活跃的订阅或者生产者,则无法删除。</p>
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin-4"></a><a href="#pulsar-admin-4" 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- [...]
 <p>Topic can be deleted using <a href="../../reference/CliTools#delete"><code>delete</code></a> command.</p>
 <pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin persistent delete \</span>
@@ -430,7 +430,7 @@ admin.persistentTopics().getSubscriptions(topic);
 String subscriptionName = <span class="hljs-string">"my-subscription"</span>;
 admin.persistentTopics().deleteSubscription(topic, subscriptionName);
 </code></pre>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/2.1.1-incubating/admin-api-permissions"><span class="arrow-prev">← </span><span>Managing permissions</span></a><a class="docs-next button" href="/docs/zh-CN/2.1.1-incubating/admin-api-non-persistent-topics"><span>Managing non-persistent topics</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#persistent-topics-reso [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/2.1.1-incubating/admin-api-permissions"><span class="arrow-prev">← </span><span>Managing permissions</span></a><a class="docs-next button" href="/docs/zh-CN/2.1.1-incubating/admin-api-non-persistent-topics"><span>Managing non-persistent topics</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#persistent-topics-reso [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/zh-CN/2.1.1-incubating/admin-api-persistent-topics/index.html b/content/docs/zh-CN/2.1.1-incubating/admin-api-persistent-topics/index.html
index fa7424d..566c635 100644
--- a/content/docs/zh-CN/2.1.1-incubating/admin-api-persistent-topics/index.html
+++ b/content/docs/zh-CN/2.1.1-incubating/admin-api-persistent-topics/index.html
@@ -1,5 +1,5 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Managing persistent topics · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;p&gt;Persistent helps to access topic which is a logical endpoint for publishing and consuming messages. Producers publish messages to the topic and consumers subscribe to the topic,  [...]
-"/><meta name="docsearch:version" content="2.1.1-incubating"/><meta name="docsearch:language" content="zh-CN"/><meta property="og:title" content="Managing persistent topics · Apache Pulsar"/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content="&lt;p&gt;Persistent helps to access topic which is a logical endpoint for publishing and consuming messages. Producers publish message [...]
+<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Managing persistent topics · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;p&gt;持久化可以帮助实现跨越主题,而主题是发布和消费消息的逻辑端点。 生产者往topic上发布消息,消费者订阅topic,从而消费发布到该topic上的消息。&lt;/p&gt;
+"/><meta name="docsearch:version" content="2.1.1-incubating"/><meta name="docsearch:language" content="zh-CN"/><meta property="og:title" content="Managing persistent topics · Apache Pulsar"/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content="&lt;p&gt;持久化可以帮助实现跨越主题,而主题是发布和消费消息的逻辑端点。 生产者往topic上发布消息,消费者订阅topic,从而消费发布到该topic上的消息。&lt;/p&gt;
 "/><meta name="twitter:card" content="summary"/><meta name="twitter:image" content="https://pulsar.incubator.apache.org/img/pulsar.svg"/><link rel="shortcut icon" href="/img/pulsar.ico"/><link rel="stylesheet" href="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.css"/><link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/atom-one-dark.min.css"/><link rel="alternate" type="application/atom+xml" href="https://pulsar.incubator.apache.org/blog/atom.x [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
@@ -47,15 +47,15 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">Managing persistent topics</h1></header><article><div><span><p>Persistent helps to access topic which is a logical endpoint for publishing and consuming messages. Producers publish messages [...]
+        </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">Managing persistent topics</h1></header><article><div><span><p>持久化可以帮助实现跨越主题,而主题是发布和消费消息的逻辑端点。 生产者往topic上发布消息,消费者订阅topic,从而消费发布到该topic上的消息。</p>
 <p>In all of the instructions and commands below, the topic name structure is:</p>
 <pre><code class="hljs css language-shell">persistent://tenant/namespace/topic
 </code></pre>
 <h2><a class="anchor" aria-hidden="true" id="persistent-topics-resources"></a><a href="#persistent-topics-resources" 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 1 [...]
-<h3><a class="anchor" aria-hidden="true" id="list-of-topics"></a><a href="#list-of-topics" 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- [...]
-<p>It provides a list of persistent topics exist under a given namespace.</p>
+<h3><a class="anchor" aria-hidden="true" id="列出topic"></a><a href="#列出topic" 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- [...]
+<p>列出给定namespace下的所有持久topic列表。</p>
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin"></a><a href="#pulsar-admin" 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. [...]
-<p>List of topics can be fetched using <a href="../../reference/CliTools#list"><code>list</code></a> command.</p>
+<p>可以通过使用<a href="../../reference/CliTools#list"><code>list</code></a>命令获取topic列表</p>
 <pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin persistent list \</span>
   my-tenant/my-namespace
 </code></pre>
@@ -66,10 +66,10 @@
 <pre><code class="hljs css language-java">String namespace = <span class="hljs-string">"my-tenant/my-namespace"</span>;
 admin.persistentTopics().getList(namespace);
 </code></pre>
-<h3><a class="anchor" aria-hidden="true" id="grant-permission"></a><a href="#grant-permission" 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. [...]
-<p>It grants permissions on a client role to perform specific actions on a given topic.</p>
+<h3><a class="anchor" aria-hidden="true" id="授予权限"></a><a href="#授予权限" 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.09V6 [...]
+<p>授权给客户端角色,允许它在给定的topic上执行指定的动作。</p>
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin-1"></a><a href="#pulsar-admin-1" 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- [...]
-<p>Permission can be granted using <a href="../../reference/CliTools#grant-permission"><code>grant-permission</code></a> command.</p>
+<p>可以使用<a href="../../reference/CliTools#grant-permission"><code>grant-permission</code></a>命令来授权。</p>
 <pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin persistent grant-permission \</span>
   --actions produce,consume --role application1 \
   persistent://test-tenant/ns1/tp1 \
@@ -84,8 +84,8 @@ String role = <span class="hljs-string">"test-role"</span>;
 Set&lt;AuthAction&gt; actions  = Sets.newHashSet(AuthAction.produce, AuthAction.consume);
 admin.persistentTopics().grantPermission(topic, role, actions);
 </code></pre>
-<h3><a class="anchor" aria-hidden="true" id="get-permission"></a><a href="#get-permission" 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- [...]
-<p>Permission can be fetched using <a href="../../reference/CliTools#permissions"><code>permissions</code></a> command.</p>
+<h3><a class="anchor" aria-hidden="true" id="得到许可"></a><a href="#得到许可" 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.09V6 [...]
+<p>可以使用<a href="../../reference/CliTools#permissions"><code>permissions</code></a>命令来查询权限</p>
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin-2"></a><a href="#pulsar-admin-2" 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- [...]
 <pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin persistent permissions \</span>
   persistent://test-tenant/ns1/tp1 \
@@ -104,10 +104,10 @@ admin.persistentTopics().grantPermission(topic, role, actions);
 <pre><code class="hljs css language-java">String topic = <span class="hljs-string">"persistent://my-tenant/my-namespace/my-topic"</span>;
 admin.persistentTopics().getPermissions(topic);
 </code></pre>
-<h3><a class="anchor" aria-hidden="true" id="revoke-permission"></a><a href="#revoke-permission" 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- [...]
-<p>It revokes a permission which was granted on a client role.</p>
+<h3><a class="anchor" aria-hidden="true" id="撤回权限"></a><a href="#撤回权限" 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.09V6 [...]
+<p>撤回已经授予给客户端角色的权限。</p>
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin-3"></a><a href="#pulsar-admin-3" 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- [...]
-<p>Permission can be revoked using <a href="../../reference/CliTools#revoke-permission"><code>revoke-permission</code></a> command.</p>
+<p>可以使用<a href="../../reference/CliTools#revoke-permission"><code>revoke-permission</code></a>命令来撤回权限。</p>
 <pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin persistent revoke-permission \</span>
   --role application1 \
   persistent://test-tenant/ns1/tp1 \
@@ -127,8 +127,8 @@ admin.persistentTopics().getPermissions(topic);
 String role = <span class="hljs-string">"test-role"</span>;
 admin.persistentTopics().revokePermissions(topic, role);
 </code></pre>
-<h3><a class="anchor" aria-hidden="true" id="delete-topic"></a><a href="#delete-topic" 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. [...]
-<p>It deletes a topic. The topic cannot be deleted if there's any active subscription or producers connected to it.</p>
+<h3><a class="anchor" aria-hidden="true" id="删除主题"></a><a href="#删除主题" 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.09V6 [...]
+<p>删除主题。如果主题上连接有活跃的订阅或者生产者,则无法删除。</p>
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin-4"></a><a href="#pulsar-admin-4" 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- [...]
 <p>Topic can be deleted using <a href="../../reference/CliTools#delete"><code>delete</code></a> command.</p>
 <pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin persistent delete \</span>
@@ -430,7 +430,7 @@ admin.persistentTopics().getSubscriptions(topic);
 String subscriptionName = <span class="hljs-string">"my-subscription"</span>;
 admin.persistentTopics().deleteSubscription(topic, subscriptionName);
 </code></pre>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/2.1.1-incubating/admin-api-permissions"><span class="arrow-prev">← </span><span>Managing permissions</span></a><a class="docs-next button" href="/docs/zh-CN/2.1.1-incubating/admin-api-non-persistent-topics"><span>Managing non-persistent topics</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#persistent-topics-reso [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/2.1.1-incubating/admin-api-permissions"><span class="arrow-prev">← </span><span>Managing permissions</span></a><a class="docs-next button" href="/docs/zh-CN/2.1.1-incubating/admin-api-non-persistent-topics"><span>Managing non-persistent topics</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#persistent-topics-reso [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/zh-CN/admin-api-non-persistent-topics.html b/content/docs/zh-CN/admin-api-non-persistent-topics.html
index 030a2b5..5b85119 100644
--- a/content/docs/zh-CN/admin-api-non-persistent-topics.html
+++ b/content/docs/zh-CN/admin-api-non-persistent-topics.html
@@ -219,7 +219,7 @@ admin.nonPersistentTopics().getPartitionedTopicMetadata(topicName);
 <pre><code class="hljs css language-java">String topic = <span class="hljs-string">"non-persistent://my-tenantmy-namespace/my-topic"</span>;
 admin.nonPersistentTopics().unload(topic);
 </code></pre>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/admin-api-persistent-topics"><span class="arrow-prev">← </span><span>Managing persistent topics</span></a><a class="docs-next button" href="/docs/zh-CN/admin-api-partitioned-topics"><span>Managing partitioned topics</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#non-persistent-topics-resources">Non-persistent to [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/admin-api-persistent-topics"><span class="arrow-prev">← </span><span>持久主题管理</span></a><a class="docs-next button" href="/docs/zh-CN/admin-api-partitioned-topics"><span>Managing partitioned topics</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#non-persistent-topics-resources">Non-persistent topics resources</a><u [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/zh-CN/admin-api-non-persistent-topics/index.html b/content/docs/zh-CN/admin-api-non-persistent-topics/index.html
index 030a2b5..5b85119 100644
--- a/content/docs/zh-CN/admin-api-non-persistent-topics/index.html
+++ b/content/docs/zh-CN/admin-api-non-persistent-topics/index.html
@@ -219,7 +219,7 @@ admin.nonPersistentTopics().getPartitionedTopicMetadata(topicName);
 <pre><code class="hljs css language-java">String topic = <span class="hljs-string">"non-persistent://my-tenantmy-namespace/my-topic"</span>;
 admin.nonPersistentTopics().unload(topic);
 </code></pre>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/admin-api-persistent-topics"><span class="arrow-prev">← </span><span>Managing persistent topics</span></a><a class="docs-next button" href="/docs/zh-CN/admin-api-partitioned-topics"><span>Managing partitioned topics</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#non-persistent-topics-resources">Non-persistent to [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/admin-api-persistent-topics"><span class="arrow-prev">← </span><span>持久主题管理</span></a><a class="docs-next button" href="/docs/zh-CN/admin-api-partitioned-topics"><span>Managing partitioned topics</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#non-persistent-topics-resources">Non-persistent topics resources</a><u [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/zh-CN/admin-api-permissions.html b/content/docs/zh-CN/admin-api-permissions.html
index 8fa3829..7f9b193 100644
--- a/content/docs/zh-CN/admin-api-permissions.html
+++ b/content/docs/zh-CN/admin-api-permissions.html
@@ -113,7 +113,7 @@ Roles <code>my.1.role</code>, <code>my.2.role</code>, <code>my.foo.role</code>,
 <h3><a class="anchor" aria-hidden="true" id="java-2"></a><a href="#java-2" 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. [...]
 <pre><code class="hljs css language-java">admin.namespaces().revokePermissionsOnNamespace(namespace, role);
 </code></pre>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/admin-api-namespaces"><span class="arrow-prev">← </span><span>管理命名空间</span></a><a class="docs-next button" href="/docs/zh-CN/admin-api-persistent-topics"><span>Managing persistent topics</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#grant-permissions">Grant permissions</a><ul class="toc-headings"><li><a href="# [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/admin-api-namespaces"><span class="arrow-prev">← </span><span>管理命名空间</span></a><a class="docs-next button" href="/docs/zh-CN/admin-api-persistent-topics"><span>持久主题管理</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#grant-permissions">Grant permissions</a><ul class="toc-headings"><li><a href="#pulsar-admin">pulsar [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/zh-CN/admin-api-permissions/index.html b/content/docs/zh-CN/admin-api-permissions/index.html
index 8fa3829..7f9b193 100644
--- a/content/docs/zh-CN/admin-api-permissions/index.html
+++ b/content/docs/zh-CN/admin-api-permissions/index.html
@@ -113,7 +113,7 @@ Roles <code>my.1.role</code>, <code>my.2.role</code>, <code>my.foo.role</code>,
 <h3><a class="anchor" aria-hidden="true" id="java-2"></a><a href="#java-2" 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. [...]
 <pre><code class="hljs css language-java">admin.namespaces().revokePermissionsOnNamespace(namespace, role);
 </code></pre>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/admin-api-namespaces"><span class="arrow-prev">← </span><span>管理命名空间</span></a><a class="docs-next button" href="/docs/zh-CN/admin-api-persistent-topics"><span>Managing persistent topics</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#grant-permissions">Grant permissions</a><ul class="toc-headings"><li><a href="# [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/admin-api-namespaces"><span class="arrow-prev">← </span><span>管理命名空间</span></a><a class="docs-next button" href="/docs/zh-CN/admin-api-persistent-topics"><span>持久主题管理</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#grant-permissions">Grant permissions</a><ul class="toc-headings"><li><a href="#pulsar-admin">pulsar [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/zh-CN/admin-api-persistent-topics.html b/content/docs/zh-CN/admin-api-persistent-topics.html
index ab05c12..876f6a6 100644
--- a/content/docs/zh-CN/admin-api-persistent-topics.html
+++ b/content/docs/zh-CN/admin-api-persistent-topics.html
@@ -1,5 +1,5 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Managing persistent topics · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;p&gt;Persistent helps to access topic which is a logical endpoint for publishing and consuming messages. Producers publish messages to the topic and consumers subscribe to the topic,  [...]
-"/><meta name="docsearch:version" content="2.2.0"/><meta name="docsearch:language" content="zh-CN"/><meta property="og:title" content="Managing persistent topics · Apache Pulsar"/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content="&lt;p&gt;Persistent helps to access topic which is a logical endpoint for publishing and consuming messages. Producers publish messages to the to [...]
+<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Managing persistent topics · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;p&gt;持久化可以帮助实现跨越主题,而主题是发布和消费消息的逻辑端点。 生产者往topic上发布消息,消费者订阅topic,从而消费发布到该topic上的消息。&lt;/p&gt;
+"/><meta name="docsearch:version" content="2.2.0"/><meta name="docsearch:language" content="zh-CN"/><meta property="og:title" content="Managing persistent topics · Apache Pulsar"/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content="&lt;p&gt;持久化可以帮助实现跨越主题,而主题是发布和消费消息的逻辑端点。 生产者往topic上发布消息,消费者订阅topic,从而消费发布到该topic上的消息。&lt;/p&gt;
 "/><meta name="twitter:card" content="summary"/><meta name="twitter:image" content="https://pulsar.incubator.apache.org/img/pulsar.svg"/><link rel="shortcut icon" href="/img/pulsar.ico"/><link rel="stylesheet" href="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.css"/><link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/atom-one-dark.min.css"/><link rel="alternate" type="application/atom+xml" href="https://pulsar.incubator.apache.org/blog/atom.x [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
@@ -47,15 +47,15 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">Managing persistent topics</h1></header><article><div><span><p>Persistent helps to access topic which is a logical endpoint for publishing and consuming messages. Producers publish messages [...]
+        </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">Managing persistent topics</h1></header><article><div><span><p>持久化可以帮助实现跨越主题,而主题是发布和消费消息的逻辑端点。 生产者往topic上发布消息,消费者订阅topic,从而消费发布到该topic上的消息。</p>
 <p>In all of the instructions and commands below, the topic name structure is:</p>
 <pre><code class="hljs css language-shell">persistent://tenant/namespace/topic
 </code></pre>
 <h2><a class="anchor" aria-hidden="true" id="persistent-topics-resources"></a><a href="#persistent-topics-resources" 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 1 [...]
-<h3><a class="anchor" aria-hidden="true" id="list-of-topics"></a><a href="#list-of-topics" 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- [...]
-<p>It provides a list of persistent topics exist under a given namespace.</p>
+<h3><a class="anchor" aria-hidden="true" id="列出topic"></a><a href="#列出topic" 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- [...]
+<p>列出给定namespace下的所有持久topic列表。</p>
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin"></a><a href="#pulsar-admin" 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. [...]
-<p>List of topics can be fetched using <a href="../../reference/CliTools#list"><code>list</code></a> command.</p>
+<p>可以通过使用<a href="../../reference/CliTools#list"><code>list</code></a>命令获取topic列表</p>
 <pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin persistent list \</span>
   my-tenant/my-namespace
 </code></pre>
@@ -66,10 +66,10 @@
 <pre><code class="hljs css language-java">String namespace = <span class="hljs-string">"my-tenant/my-namespace"</span>;
 admin.persistentTopics().getList(namespace);
 </code></pre>
-<h3><a class="anchor" aria-hidden="true" id="grant-permission"></a><a href="#grant-permission" 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. [...]
-<p>It grants permissions on a client role to perform specific actions on a given topic.</p>
+<h3><a class="anchor" aria-hidden="true" id="授予权限"></a><a href="#授予权限" 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.09V6 [...]
+<p>授权给客户端角色,允许它在给定的topic上执行指定的动作。</p>
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin-1"></a><a href="#pulsar-admin-1" 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- [...]
-<p>Permission can be granted using <a href="../../reference/CliTools#grant-permission"><code>grant-permission</code></a> command.</p>
+<p>可以使用<a href="../../reference/CliTools#grant-permission"><code>grant-permission</code></a>命令来授权。</p>
 <pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin persistent grant-permission \</span>
   --actions produce,consume --role application1 \
   persistent://test-tenant/ns1/tp1 \
@@ -84,8 +84,8 @@ String role = <span class="hljs-string">"test-role"</span>;
 Set&lt;AuthAction&gt; actions  = Sets.newHashSet(AuthAction.produce, AuthAction.consume);
 admin.persistentTopics().grantPermission(topic, role, actions);
 </code></pre>
-<h3><a class="anchor" aria-hidden="true" id="get-permission"></a><a href="#get-permission" 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- [...]
-<p>Permission can be fetched using <a href="../../reference/CliTools#permissions"><code>permissions</code></a> command.</p>
+<h3><a class="anchor" aria-hidden="true" id="得到许可"></a><a href="#得到许可" 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.09V6 [...]
+<p>可以使用<a href="../../reference/CliTools#permissions"><code>permissions</code></a>命令来查询权限</p>
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin-2"></a><a href="#pulsar-admin-2" 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- [...]
 <pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin persistent permissions \</span>
   persistent://test-tenant/ns1/tp1 \
@@ -104,10 +104,10 @@ admin.persistentTopics().grantPermission(topic, role, actions);
 <pre><code class="hljs css language-java">String topic = <span class="hljs-string">"persistent://my-tenant/my-namespace/my-topic"</span>;
 admin.persistentTopics().getPermissions(topic);
 </code></pre>
-<h3><a class="anchor" aria-hidden="true" id="revoke-permission"></a><a href="#revoke-permission" 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- [...]
-<p>It revokes a permission which was granted on a client role.</p>
+<h3><a class="anchor" aria-hidden="true" id="撤回权限"></a><a href="#撤回权限" 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.09V6 [...]
+<p>撤回已经授予给客户端角色的权限。</p>
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin-3"></a><a href="#pulsar-admin-3" 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- [...]
-<p>Permission can be revoked using <a href="../../reference/CliTools#revoke-permission"><code>revoke-permission</code></a> command.</p>
+<p>可以使用<a href="../../reference/CliTools#revoke-permission"><code>revoke-permission</code></a>命令来撤回权限。</p>
 <pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin persistent revoke-permission \</span>
   --role application1 \
   persistent://test-tenant/ns1/tp1 \
@@ -127,8 +127,8 @@ admin.persistentTopics().getPermissions(topic);
 String role = <span class="hljs-string">"test-role"</span>;
 admin.persistentTopics().revokePermissions(topic, role);
 </code></pre>
-<h3><a class="anchor" aria-hidden="true" id="delete-topic"></a><a href="#delete-topic" 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. [...]
-<p>It deletes a topic. The topic cannot be deleted if there's any active subscription or producers connected to it.</p>
+<h3><a class="anchor" aria-hidden="true" id="删除主题"></a><a href="#删除主题" 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.09V6 [...]
+<p>删除主题。如果主题上连接有活跃的订阅或者生产者,则无法删除。</p>
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin-4"></a><a href="#pulsar-admin-4" 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- [...]
 <p>Topic can be deleted using <a href="../../reference/CliTools#delete"><code>delete</code></a> command.</p>
 <pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin persistent delete \</span>
@@ -430,7 +430,7 @@ admin.persistentTopics().getSubscriptions(topic);
 String subscriptionName = <span class="hljs-string">"my-subscription"</span>;
 admin.persistentTopics().deleteSubscription(topic, subscriptionName);
 </code></pre>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/admin-api-permissions"><span class="arrow-prev">← </span><span>Managing permissions</span></a><a class="docs-next button" href="/docs/zh-CN/admin-api-non-persistent-topics"><span>Managing non-persistent topics</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#persistent-topics-resources">Persistent topics resources [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/admin-api-permissions"><span class="arrow-prev">← </span><span>Managing permissions</span></a><a class="docs-next button" href="/docs/zh-CN/admin-api-non-persistent-topics"><span>Managing non-persistent topics</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#persistent-topics-resources">Persistent topics resources [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/zh-CN/admin-api-persistent-topics/index.html b/content/docs/zh-CN/admin-api-persistent-topics/index.html
index ab05c12..876f6a6 100644
--- a/content/docs/zh-CN/admin-api-persistent-topics/index.html
+++ b/content/docs/zh-CN/admin-api-persistent-topics/index.html
@@ -1,5 +1,5 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Managing persistent topics · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;p&gt;Persistent helps to access topic which is a logical endpoint for publishing and consuming messages. Producers publish messages to the topic and consumers subscribe to the topic,  [...]
-"/><meta name="docsearch:version" content="2.2.0"/><meta name="docsearch:language" content="zh-CN"/><meta property="og:title" content="Managing persistent topics · Apache Pulsar"/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content="&lt;p&gt;Persistent helps to access topic which is a logical endpoint for publishing and consuming messages. Producers publish messages to the to [...]
+<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Managing persistent topics · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;p&gt;持久化可以帮助实现跨越主题,而主题是发布和消费消息的逻辑端点。 生产者往topic上发布消息,消费者订阅topic,从而消费发布到该topic上的消息。&lt;/p&gt;
+"/><meta name="docsearch:version" content="2.2.0"/><meta name="docsearch:language" content="zh-CN"/><meta property="og:title" content="Managing persistent topics · Apache Pulsar"/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content="&lt;p&gt;持久化可以帮助实现跨越主题,而主题是发布和消费消息的逻辑端点。 生产者往topic上发布消息,消费者订阅topic,从而消费发布到该topic上的消息。&lt;/p&gt;
 "/><meta name="twitter:card" content="summary"/><meta name="twitter:image" content="https://pulsar.incubator.apache.org/img/pulsar.svg"/><link rel="shortcut icon" href="/img/pulsar.ico"/><link rel="stylesheet" href="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.css"/><link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/atom-one-dark.min.css"/><link rel="alternate" type="application/atom+xml" href="https://pulsar.incubator.apache.org/blog/atom.x [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
@@ -47,15 +47,15 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">Managing persistent topics</h1></header><article><div><span><p>Persistent helps to access topic which is a logical endpoint for publishing and consuming messages. Producers publish messages [...]
+        </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">Managing persistent topics</h1></header><article><div><span><p>持久化可以帮助实现跨越主题,而主题是发布和消费消息的逻辑端点。 生产者往topic上发布消息,消费者订阅topic,从而消费发布到该topic上的消息。</p>
 <p>In all of the instructions and commands below, the topic name structure is:</p>
 <pre><code class="hljs css language-shell">persistent://tenant/namespace/topic
 </code></pre>
 <h2><a class="anchor" aria-hidden="true" id="persistent-topics-resources"></a><a href="#persistent-topics-resources" 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 1 [...]
-<h3><a class="anchor" aria-hidden="true" id="list-of-topics"></a><a href="#list-of-topics" 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- [...]
-<p>It provides a list of persistent topics exist under a given namespace.</p>
+<h3><a class="anchor" aria-hidden="true" id="列出topic"></a><a href="#列出topic" 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- [...]
+<p>列出给定namespace下的所有持久topic列表。</p>
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin"></a><a href="#pulsar-admin" 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. [...]
-<p>List of topics can be fetched using <a href="../../reference/CliTools#list"><code>list</code></a> command.</p>
+<p>可以通过使用<a href="../../reference/CliTools#list"><code>list</code></a>命令获取topic列表</p>
 <pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin persistent list \</span>
   my-tenant/my-namespace
 </code></pre>
@@ -66,10 +66,10 @@
 <pre><code class="hljs css language-java">String namespace = <span class="hljs-string">"my-tenant/my-namespace"</span>;
 admin.persistentTopics().getList(namespace);
 </code></pre>
-<h3><a class="anchor" aria-hidden="true" id="grant-permission"></a><a href="#grant-permission" 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. [...]
-<p>It grants permissions on a client role to perform specific actions on a given topic.</p>
+<h3><a class="anchor" aria-hidden="true" id="授予权限"></a><a href="#授予权限" 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.09V6 [...]
+<p>授权给客户端角色,允许它在给定的topic上执行指定的动作。</p>
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin-1"></a><a href="#pulsar-admin-1" 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- [...]
-<p>Permission can be granted using <a href="../../reference/CliTools#grant-permission"><code>grant-permission</code></a> command.</p>
+<p>可以使用<a href="../../reference/CliTools#grant-permission"><code>grant-permission</code></a>命令来授权。</p>
 <pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin persistent grant-permission \</span>
   --actions produce,consume --role application1 \
   persistent://test-tenant/ns1/tp1 \
@@ -84,8 +84,8 @@ String role = <span class="hljs-string">"test-role"</span>;
 Set&lt;AuthAction&gt; actions  = Sets.newHashSet(AuthAction.produce, AuthAction.consume);
 admin.persistentTopics().grantPermission(topic, role, actions);
 </code></pre>
-<h3><a class="anchor" aria-hidden="true" id="get-permission"></a><a href="#get-permission" 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- [...]
-<p>Permission can be fetched using <a href="../../reference/CliTools#permissions"><code>permissions</code></a> command.</p>
+<h3><a class="anchor" aria-hidden="true" id="得到许可"></a><a href="#得到许可" 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.09V6 [...]
+<p>可以使用<a href="../../reference/CliTools#permissions"><code>permissions</code></a>命令来查询权限</p>
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin-2"></a><a href="#pulsar-admin-2" 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- [...]
 <pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin persistent permissions \</span>
   persistent://test-tenant/ns1/tp1 \
@@ -104,10 +104,10 @@ admin.persistentTopics().grantPermission(topic, role, actions);
 <pre><code class="hljs css language-java">String topic = <span class="hljs-string">"persistent://my-tenant/my-namespace/my-topic"</span>;
 admin.persistentTopics().getPermissions(topic);
 </code></pre>
-<h3><a class="anchor" aria-hidden="true" id="revoke-permission"></a><a href="#revoke-permission" 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- [...]
-<p>It revokes a permission which was granted on a client role.</p>
+<h3><a class="anchor" aria-hidden="true" id="撤回权限"></a><a href="#撤回权限" 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.09V6 [...]
+<p>撤回已经授予给客户端角色的权限。</p>
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin-3"></a><a href="#pulsar-admin-3" 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- [...]
-<p>Permission can be revoked using <a href="../../reference/CliTools#revoke-permission"><code>revoke-permission</code></a> command.</p>
+<p>可以使用<a href="../../reference/CliTools#revoke-permission"><code>revoke-permission</code></a>命令来撤回权限。</p>
 <pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin persistent revoke-permission \</span>
   --role application1 \
   persistent://test-tenant/ns1/tp1 \
@@ -127,8 +127,8 @@ admin.persistentTopics().getPermissions(topic);
 String role = <span class="hljs-string">"test-role"</span>;
 admin.persistentTopics().revokePermissions(topic, role);
 </code></pre>
-<h3><a class="anchor" aria-hidden="true" id="delete-topic"></a><a href="#delete-topic" 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. [...]
-<p>It deletes a topic. The topic cannot be deleted if there's any active subscription or producers connected to it.</p>
+<h3><a class="anchor" aria-hidden="true" id="删除主题"></a><a href="#删除主题" 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.09V6 [...]
+<p>删除主题。如果主题上连接有活跃的订阅或者生产者,则无法删除。</p>
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin-4"></a><a href="#pulsar-admin-4" 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- [...]
 <p>Topic can be deleted using <a href="../../reference/CliTools#delete"><code>delete</code></a> command.</p>
 <pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin persistent delete \</span>
@@ -430,7 +430,7 @@ admin.persistentTopics().getSubscriptions(topic);
 String subscriptionName = <span class="hljs-string">"my-subscription"</span>;
 admin.persistentTopics().deleteSubscription(topic, subscriptionName);
 </code></pre>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/admin-api-permissions"><span class="arrow-prev">← </span><span>Managing permissions</span></a><a class="docs-next button" href="/docs/zh-CN/admin-api-non-persistent-topics"><span>Managing non-persistent topics</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#persistent-topics-resources">Persistent topics resources [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/admin-api-permissions"><span class="arrow-prev">← </span><span>Managing permissions</span></a><a class="docs-next button" href="/docs/zh-CN/admin-api-non-persistent-topics"><span>Managing non-persistent topics</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#persistent-topics-resources">Persistent topics resources [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/zh-CN/next/admin-api-non-persistent-topics.html b/content/docs/zh-CN/next/admin-api-non-persistent-topics.html
index f529be6..d88bb89 100644
--- a/content/docs/zh-CN/next/admin-api-non-persistent-topics.html
+++ b/content/docs/zh-CN/next/admin-api-non-persistent-topics.html
@@ -219,7 +219,7 @@ admin.nonPersistentTopics().getPartitionedTopicMetadata(topicName);
 <pre><code class="hljs css language-java">String topic = <span class="hljs-string">"non-persistent://my-tenantmy-namespace/my-topic"</span>;
 admin.nonPersistentTopics().unload(topic);
 </code></pre>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/next/admin-api-persistent-topics"><span class="arrow-prev">← </span><span>Managing persistent topics</span></a><a class="docs-next button" href="/docs/zh-CN/next/admin-api-partitioned-topics"><span>Managing partitioned topics</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#non-persistent-topics-resources">Non-per [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/next/admin-api-persistent-topics"><span class="arrow-prev">← </span><span>持久主题管理</span></a><a class="docs-next button" href="/docs/zh-CN/next/admin-api-partitioned-topics"><span>Managing partitioned topics</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#non-persistent-topics-resources">Non-persistent topics resou [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/zh-CN/next/admin-api-non-persistent-topics/index.html b/content/docs/zh-CN/next/admin-api-non-persistent-topics/index.html
index f529be6..d88bb89 100644
--- a/content/docs/zh-CN/next/admin-api-non-persistent-topics/index.html
+++ b/content/docs/zh-CN/next/admin-api-non-persistent-topics/index.html
@@ -219,7 +219,7 @@ admin.nonPersistentTopics().getPartitionedTopicMetadata(topicName);
 <pre><code class="hljs css language-java">String topic = <span class="hljs-string">"non-persistent://my-tenantmy-namespace/my-topic"</span>;
 admin.nonPersistentTopics().unload(topic);
 </code></pre>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/next/admin-api-persistent-topics"><span class="arrow-prev">← </span><span>Managing persistent topics</span></a><a class="docs-next button" href="/docs/zh-CN/next/admin-api-partitioned-topics"><span>Managing partitioned topics</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#non-persistent-topics-resources">Non-per [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/next/admin-api-persistent-topics"><span class="arrow-prev">← </span><span>持久主题管理</span></a><a class="docs-next button" href="/docs/zh-CN/next/admin-api-partitioned-topics"><span>Managing partitioned topics</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#non-persistent-topics-resources">Non-persistent topics resou [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/zh-CN/next/admin-api-permissions.html b/content/docs/zh-CN/next/admin-api-permissions.html
index cc3fbb4..e0fb5ca 100644
--- a/content/docs/zh-CN/next/admin-api-permissions.html
+++ b/content/docs/zh-CN/next/admin-api-permissions.html
@@ -113,7 +113,7 @@ Roles <code>my.1.role</code>, <code>my.2.role</code>, <code>my.foo.role</code>,
 <h3><a class="anchor" aria-hidden="true" id="java-2"></a><a href="#java-2" 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. [...]
 <pre><code class="hljs css language-java">admin.namespaces().revokePermissionsOnNamespace(namespace, role);
 </code></pre>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/next/admin-api-namespaces"><span class="arrow-prev">← </span><span>管理命名空间</span></a><a class="docs-next button" href="/docs/zh-CN/next/admin-api-persistent-topics"><span>Managing persistent topics</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#grant-permissions">Grant permissions</a><ul class="toc-headings"><li> [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/next/admin-api-namespaces"><span class="arrow-prev">← </span><span>管理命名空间</span></a><a class="docs-next button" href="/docs/zh-CN/next/admin-api-persistent-topics"><span>持久主题管理</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#grant-permissions">Grant permissions</a><ul class="toc-headings"><li><a href="#pulsar-adm [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/zh-CN/next/admin-api-permissions/index.html b/content/docs/zh-CN/next/admin-api-permissions/index.html
index cc3fbb4..e0fb5ca 100644
--- a/content/docs/zh-CN/next/admin-api-permissions/index.html
+++ b/content/docs/zh-CN/next/admin-api-permissions/index.html
@@ -113,7 +113,7 @@ Roles <code>my.1.role</code>, <code>my.2.role</code>, <code>my.foo.role</code>,
 <h3><a class="anchor" aria-hidden="true" id="java-2"></a><a href="#java-2" 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. [...]
 <pre><code class="hljs css language-java">admin.namespaces().revokePermissionsOnNamespace(namespace, role);
 </code></pre>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/next/admin-api-namespaces"><span class="arrow-prev">← </span><span>管理命名空间</span></a><a class="docs-next button" href="/docs/zh-CN/next/admin-api-persistent-topics"><span>Managing persistent topics</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#grant-permissions">Grant permissions</a><ul class="toc-headings"><li> [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/next/admin-api-namespaces"><span class="arrow-prev">← </span><span>管理命名空间</span></a><a class="docs-next button" href="/docs/zh-CN/next/admin-api-persistent-topics"><span>持久主题管理</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#grant-permissions">Grant permissions</a><ul class="toc-headings"><li><a href="#pulsar-adm [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/zh-CN/next/admin-api-persistent-topics.html b/content/docs/zh-CN/next/admin-api-persistent-topics.html
index e0faf06..ddc45e9 100644
--- a/content/docs/zh-CN/next/admin-api-persistent-topics.html
+++ b/content/docs/zh-CN/next/admin-api-persistent-topics.html
@@ -1,5 +1,5 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Managing persistent topics · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;p&gt;Persistent helps to access topic which is a logical endpoint for publishing and consuming messages. Producers publish messages to the topic and consumers subscribe to the topic,  [...]
-"/><meta name="docsearch:version" content="next"/><meta name="docsearch:language" content="zh-CN"/><meta property="og:title" content="Managing persistent topics · Apache Pulsar"/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content="&lt;p&gt;Persistent helps to access topic which is a logical endpoint for publishing and consuming messages. Producers publish messages to the top [...]
+<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>持久主题管理 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;p&gt;持久化可以帮助实现跨越主题,而主题是发布和消费消息的逻辑端点。 生产者往topic上发布消息,消费者订阅topic,从而消费发布到该topic上的消息。&lt;/p&gt;
+"/><meta name="docsearch:version" content="next"/><meta name="docsearch:language" content="zh-CN"/><meta property="og:title" content="持久主题管理 · Apache Pulsar"/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content="&lt;p&gt;持久化可以帮助实现跨越主题,而主题是发布和消费消息的逻辑端点。 生产者往topic上发布消息,消费者订阅topic,从而消费发布到该topic上的消息。&lt;/p&gt;
 "/><meta name="twitter:card" content="summary"/><meta name="twitter:image" content="https://pulsar.incubator.apache.org/img/pulsar.svg"/><link rel="shortcut icon" href="/img/pulsar.ico"/><link rel="stylesheet" href="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.css"/><link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/atom-one-dark.min.css"/><link rel="alternate" type="application/atom+xml" href="https://pulsar.incubator.apache.org/blog/atom.x [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
@@ -47,15 +47,15 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">Managing persistent topics</h1></header><article><div><span><p>Persistent helps to access topic which is a logical endpoint for publishing and consuming messages. Producers publish messages [...]
+        </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">持久主题管理</h1></header><article><div><span><p>持久化可以帮助实现跨越主题,而主题是发布和消费消息的逻辑端点。 生产者往topic上发布消息,消费者订阅topic,从而消费发布到该topic上的消息。</p>
 <p>In all of the instructions and commands below, the topic name structure is:</p>
 <pre><code class="hljs css language-shell">persistent://tenant/namespace/topic
 </code></pre>
 <h2><a class="anchor" aria-hidden="true" id="persistent-topics-resources"></a><a href="#persistent-topics-resources" 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 1 [...]
-<h3><a class="anchor" aria-hidden="true" id="list-of-topics"></a><a href="#list-of-topics" 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- [...]
-<p>It provides a list of persistent topics exist under a given namespace.</p>
+<h3><a class="anchor" aria-hidden="true" id="列出topic"></a><a href="#列出topic" 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- [...]
+<p>列出给定namespace下的所有持久topic列表。</p>
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin"></a><a href="#pulsar-admin" 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. [...]
-<p>List of topics can be fetched using <a href="../../reference/CliTools#list"><code>list</code></a> command.</p>
+<p>可以通过使用<a href="../../reference/CliTools#list"><code>list</code></a>命令获取topic列表</p>
 <pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin persistent list \</span>
   my-tenant/my-namespace
 </code></pre>
@@ -66,10 +66,10 @@
 <pre><code class="hljs css language-java">String namespace = <span class="hljs-string">"my-tenant/my-namespace"</span>;
 admin.persistentTopics().getList(namespace);
 </code></pre>
-<h3><a class="anchor" aria-hidden="true" id="grant-permission"></a><a href="#grant-permission" 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. [...]
-<p>It grants permissions on a client role to perform specific actions on a given topic.</p>
+<h3><a class="anchor" aria-hidden="true" id="授予权限"></a><a href="#授予权限" 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.09V6 [...]
+<p>授权给客户端角色,允许它在给定的topic上执行指定的动作。</p>
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin-1"></a><a href="#pulsar-admin-1" 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- [...]
-<p>Permission can be granted using <a href="../../reference/CliTools#grant-permission"><code>grant-permission</code></a> command.</p>
+<p>可以使用<a href="../../reference/CliTools#grant-permission"><code>grant-permission</code></a>命令来授权。</p>
 <pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin persistent grant-permission \</span>
   --actions produce,consume --role application1 \
   persistent://test-tenant/ns1/tp1 \
@@ -84,8 +84,8 @@ String role = <span class="hljs-string">"test-role"</span>;
 Set&lt;AuthAction&gt; actions  = Sets.newHashSet(AuthAction.produce, AuthAction.consume);
 admin.persistentTopics().grantPermission(topic, role, actions);
 </code></pre>
-<h3><a class="anchor" aria-hidden="true" id="get-permission"></a><a href="#get-permission" 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- [...]
-<p>Permission can be fetched using <a href="../../reference/CliTools#permissions"><code>permissions</code></a> command.</p>
+<h3><a class="anchor" aria-hidden="true" id="得到许可"></a><a href="#得到许可" 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.09V6 [...]
+<p>可以使用<a href="../../reference/CliTools#permissions"><code>permissions</code></a>命令来查询权限</p>
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin-2"></a><a href="#pulsar-admin-2" 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- [...]
 <pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin persistent permissions \</span>
   persistent://test-tenant/ns1/tp1 \
@@ -104,10 +104,10 @@ admin.persistentTopics().grantPermission(topic, role, actions);
 <pre><code class="hljs css language-java">String topic = <span class="hljs-string">"persistent://my-tenant/my-namespace/my-topic"</span>;
 admin.persistentTopics().getPermissions(topic);
 </code></pre>
-<h3><a class="anchor" aria-hidden="true" id="revoke-permission"></a><a href="#revoke-permission" 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- [...]
-<p>It revokes a permission which was granted on a client role.</p>
+<h3><a class="anchor" aria-hidden="true" id="撤回权限"></a><a href="#撤回权限" 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.09V6 [...]
+<p>撤回已经授予给客户端角色的权限。</p>
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin-3"></a><a href="#pulsar-admin-3" 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- [...]
-<p>Permission can be revoked using <a href="../../reference/CliTools#revoke-permission"><code>revoke-permission</code></a> command.</p>
+<p>可以使用<a href="../../reference/CliTools#revoke-permission"><code>revoke-permission</code></a>命令来撤回权限。</p>
 <pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin persistent revoke-permission \</span>
   --role application1 \
   persistent://test-tenant/ns1/tp1 \
@@ -127,8 +127,8 @@ admin.persistentTopics().getPermissions(topic);
 String role = <span class="hljs-string">"test-role"</span>;
 admin.persistentTopics().revokePermissions(topic, role);
 </code></pre>
-<h3><a class="anchor" aria-hidden="true" id="delete-topic"></a><a href="#delete-topic" 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. [...]
-<p>It deletes a topic. The topic cannot be deleted if there's any active subscription or producers connected to it.</p>
+<h3><a class="anchor" aria-hidden="true" id="删除主题"></a><a href="#删除主题" 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.09V6 [...]
+<p>删除主题。如果主题上连接有活跃的订阅或者生产者,则无法删除。</p>
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin-4"></a><a href="#pulsar-admin-4" 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- [...]
 <p>Topic can be deleted using <a href="../../reference/CliTools#delete"><code>delete</code></a> command.</p>
 <pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin persistent delete \</span>
@@ -430,7 +430,7 @@ admin.persistentTopics().getSubscriptions(topic);
 String subscriptionName = <span class="hljs-string">"my-subscription"</span>;
 admin.persistentTopics().deleteSubscription(topic, subscriptionName);
 </code></pre>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/next/admin-api-permissions"><span class="arrow-prev">← </span><span>Managing permissions</span></a><a class="docs-next button" href="/docs/zh-CN/next/admin-api-non-persistent-topics"><span>Managing non-persistent topics</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#persistent-topics-resources">Persistent topics [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/next/admin-api-permissions"><span class="arrow-prev">← </span><span>Managing permissions</span></a><a class="docs-next button" href="/docs/zh-CN/next/admin-api-non-persistent-topics"><span>Managing non-persistent topics</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#persistent-topics-resources">Persistent topics [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/zh-CN/next/admin-api-persistent-topics/index.html b/content/docs/zh-CN/next/admin-api-persistent-topics/index.html
index e0faf06..ddc45e9 100644
--- a/content/docs/zh-CN/next/admin-api-persistent-topics/index.html
+++ b/content/docs/zh-CN/next/admin-api-persistent-topics/index.html
@@ -1,5 +1,5 @@
-<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Managing persistent topics · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;p&gt;Persistent helps to access topic which is a logical endpoint for publishing and consuming messages. Producers publish messages to the topic and consumers subscribe to the topic,  [...]
-"/><meta name="docsearch:version" content="next"/><meta name="docsearch:language" content="zh-CN"/><meta property="og:title" content="Managing persistent topics · Apache Pulsar"/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content="&lt;p&gt;Persistent helps to access topic which is a logical endpoint for publishing and consuming messages. Producers publish messages to the top [...]
+<!DOCTYPE html><html lang="zh-CN"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>持久主题管理 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;p&gt;持久化可以帮助实现跨越主题,而主题是发布和消费消息的逻辑端点。 生产者往topic上发布消息,消费者订阅topic,从而消费发布到该topic上的消息。&lt;/p&gt;
+"/><meta name="docsearch:version" content="next"/><meta name="docsearch:language" content="zh-CN"/><meta property="og:title" content="持久主题管理 · Apache Pulsar"/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/index.html"/><meta property="og:description" content="&lt;p&gt;持久化可以帮助实现跨越主题,而主题是发布和消费消息的逻辑端点。 生产者往topic上发布消息,消费者订阅topic,从而消费发布到该topic上的消息。&lt;/p&gt;
 "/><meta name="twitter:card" content="summary"/><meta name="twitter:image" content="https://pulsar.incubator.apache.org/img/pulsar.svg"/><link rel="shortcut icon" href="/img/pulsar.ico"/><link rel="stylesheet" href="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.css"/><link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/atom-one-dark.min.css"/><link rel="alternate" type="application/atom+xml" href="https://pulsar.incubator.apache.org/blog/atom.x [...]
               (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
               (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
@@ -47,15 +47,15 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">Managing persistent topics</h1></header><article><div><span><p>Persistent helps to access topic which is a logical endpoint for publishing and consuming messages. Producers publish messages [...]
+        </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/apache-pulsar/zh-CN" target="_blank" rel="noreferrer noopener">Translate</a><h1 class="postHeaderTitle">持久主题管理</h1></header><article><div><span><p>持久化可以帮助实现跨越主题,而主题是发布和消费消息的逻辑端点。 生产者往topic上发布消息,消费者订阅topic,从而消费发布到该topic上的消息。</p>
 <p>In all of the instructions and commands below, the topic name structure is:</p>
 <pre><code class="hljs css language-shell">persistent://tenant/namespace/topic
 </code></pre>
 <h2><a class="anchor" aria-hidden="true" id="persistent-topics-resources"></a><a href="#persistent-topics-resources" 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 1 [...]
-<h3><a class="anchor" aria-hidden="true" id="list-of-topics"></a><a href="#list-of-topics" 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- [...]
-<p>It provides a list of persistent topics exist under a given namespace.</p>
+<h3><a class="anchor" aria-hidden="true" id="列出topic"></a><a href="#列出topic" 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- [...]
+<p>列出给定namespace下的所有持久topic列表。</p>
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin"></a><a href="#pulsar-admin" 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. [...]
-<p>List of topics can be fetched using <a href="../../reference/CliTools#list"><code>list</code></a> command.</p>
+<p>可以通过使用<a href="../../reference/CliTools#list"><code>list</code></a>命令获取topic列表</p>
 <pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin persistent list \</span>
   my-tenant/my-namespace
 </code></pre>
@@ -66,10 +66,10 @@
 <pre><code class="hljs css language-java">String namespace = <span class="hljs-string">"my-tenant/my-namespace"</span>;
 admin.persistentTopics().getList(namespace);
 </code></pre>
-<h3><a class="anchor" aria-hidden="true" id="grant-permission"></a><a href="#grant-permission" 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. [...]
-<p>It grants permissions on a client role to perform specific actions on a given topic.</p>
+<h3><a class="anchor" aria-hidden="true" id="授予权限"></a><a href="#授予权限" 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.09V6 [...]
+<p>授权给客户端角色,允许它在给定的topic上执行指定的动作。</p>
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin-1"></a><a href="#pulsar-admin-1" 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- [...]
-<p>Permission can be granted using <a href="../../reference/CliTools#grant-permission"><code>grant-permission</code></a> command.</p>
+<p>可以使用<a href="../../reference/CliTools#grant-permission"><code>grant-permission</code></a>命令来授权。</p>
 <pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin persistent grant-permission \</span>
   --actions produce,consume --role application1 \
   persistent://test-tenant/ns1/tp1 \
@@ -84,8 +84,8 @@ String role = <span class="hljs-string">"test-role"</span>;
 Set&lt;AuthAction&gt; actions  = Sets.newHashSet(AuthAction.produce, AuthAction.consume);
 admin.persistentTopics().grantPermission(topic, role, actions);
 </code></pre>
-<h3><a class="anchor" aria-hidden="true" id="get-permission"></a><a href="#get-permission" 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- [...]
-<p>Permission can be fetched using <a href="../../reference/CliTools#permissions"><code>permissions</code></a> command.</p>
+<h3><a class="anchor" aria-hidden="true" id="得到许可"></a><a href="#得到许可" 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.09V6 [...]
+<p>可以使用<a href="../../reference/CliTools#permissions"><code>permissions</code></a>命令来查询权限</p>
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin-2"></a><a href="#pulsar-admin-2" 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- [...]
 <pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin persistent permissions \</span>
   persistent://test-tenant/ns1/tp1 \
@@ -104,10 +104,10 @@ admin.persistentTopics().grantPermission(topic, role, actions);
 <pre><code class="hljs css language-java">String topic = <span class="hljs-string">"persistent://my-tenant/my-namespace/my-topic"</span>;
 admin.persistentTopics().getPermissions(topic);
 </code></pre>
-<h3><a class="anchor" aria-hidden="true" id="revoke-permission"></a><a href="#revoke-permission" 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- [...]
-<p>It revokes a permission which was granted on a client role.</p>
+<h3><a class="anchor" aria-hidden="true" id="撤回权限"></a><a href="#撤回权限" 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.09V6 [...]
+<p>撤回已经授予给客户端角色的权限。</p>
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin-3"></a><a href="#pulsar-admin-3" 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- [...]
-<p>Permission can be revoked using <a href="../../reference/CliTools#revoke-permission"><code>revoke-permission</code></a> command.</p>
+<p>可以使用<a href="../../reference/CliTools#revoke-permission"><code>revoke-permission</code></a>命令来撤回权限。</p>
 <pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin persistent revoke-permission \</span>
   --role application1 \
   persistent://test-tenant/ns1/tp1 \
@@ -127,8 +127,8 @@ admin.persistentTopics().getPermissions(topic);
 String role = <span class="hljs-string">"test-role"</span>;
 admin.persistentTopics().revokePermissions(topic, role);
 </code></pre>
-<h3><a class="anchor" aria-hidden="true" id="delete-topic"></a><a href="#delete-topic" 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. [...]
-<p>It deletes a topic. The topic cannot be deleted if there's any active subscription or producers connected to it.</p>
+<h3><a class="anchor" aria-hidden="true" id="删除主题"></a><a href="#删除主题" 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.09V6 [...]
+<p>删除主题。如果主题上连接有活跃的订阅或者生产者,则无法删除。</p>
 <h4><a class="anchor" aria-hidden="true" id="pulsar-admin-4"></a><a href="#pulsar-admin-4" 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- [...]
 <p>Topic can be deleted using <a href="../../reference/CliTools#delete"><code>delete</code></a> command.</p>
 <pre><code class="hljs css language-shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin persistent delete \</span>
@@ -430,7 +430,7 @@ admin.persistentTopics().getSubscriptions(topic);
 String subscriptionName = <span class="hljs-string">"my-subscription"</span>;
 admin.persistentTopics().deleteSubscription(topic, subscriptionName);
 </code></pre>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/next/admin-api-permissions"><span class="arrow-prev">← </span><span>Managing permissions</span></a><a class="docs-next button" href="/docs/zh-CN/next/admin-api-non-persistent-topics"><span>Managing non-persistent topics</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#persistent-topics-resources">Persistent topics [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/zh-CN/next/admin-api-permissions"><span class="arrow-prev">← </span><span>Managing permissions</span></a><a class="docs-next button" href="/docs/zh-CN/next/admin-api-non-persistent-topics"><span>Managing non-persistent topics</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#persistent-topics-resources">Persistent topics [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu =
         '<li>' +
diff --git a/content/docs/zh-CN/next/client-libraries-websocket.html b/content/docs/zh-CN/next/client-libraries-websocket.html
index 957b836..0f0bde7 100644
--- a/content/docs/zh-CN/next/client-libraries-websocket.html
+++ b/content/docs/zh-CN/next/client-libraries-websocket.html
@@ -161,6 +161,8 @@
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Size of the consumer receive queue (default: 1000)</td></tr>
 <tr><td style="text-align:left"><code>consumerName</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left">Consumer name</td></tr>
 <tr><td style="text-align:left"><code>priorityLevel</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Define a <a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ConsumerConfiguration.html#setPriorityLevel-int-">priority</a> for the consumer</td></tr>
+<tr><td style="text-align:left"><code>maxRedeliverCount</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Define a <a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ConsumerBuilder.html#deadLetterPolicy-org.apache.pulsar.client.api.DeadLetterPolicy-">maxRedeliverCount</a> for the consumer (default: 0). Activates <a href="https://github.com/apache/pulsar/wiki/PIP-22%3A-Pulsar-Dead-Letter-Topic">Dead Letter [...]
+<tr><td style="text-align:left"><code>deadLetterTopic</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left">Define a <a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ConsumerBuilder.html#deadLetterPolicy-org.apache.pulsar.client.api.DeadLetterPolicy-">deadLetterTopic</a> for the consumer (default: {topic}-{subscription}-DLQ). Activates <a href="https://github.com/apache/pulsar/wiki/PIP-22%3A-Pulsar-Dead-L [...]
 </tbody>
 </table>
 <h5><a class="anchor" aria-hidden="true" id="receiving-messages"></a><a href="#receiving-messages" 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- [...]
diff --git a/content/docs/zh-CN/next/client-libraries-websocket/index.html b/content/docs/zh-CN/next/client-libraries-websocket/index.html
index 957b836..0f0bde7 100644
--- a/content/docs/zh-CN/next/client-libraries-websocket/index.html
+++ b/content/docs/zh-CN/next/client-libraries-websocket/index.html
@@ -161,6 +161,8 @@
 <tr><td style="text-align:left"><code>receiverQueueSize</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Size of the consumer receive queue (default: 1000)</td></tr>
 <tr><td style="text-align:left"><code>consumerName</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left">Consumer name</td></tr>
 <tr><td style="text-align:left"><code>priorityLevel</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Define a <a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ConsumerConfiguration.html#setPriorityLevel-int-">priority</a> for the consumer</td></tr>
+<tr><td style="text-align:left"><code>maxRedeliverCount</code></td><td style="text-align:left">int</td><td style="text-align:left">no</td><td style="text-align:left">Define a <a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ConsumerBuilder.html#deadLetterPolicy-org.apache.pulsar.client.api.DeadLetterPolicy-">maxRedeliverCount</a> for the consumer (default: 0). Activates <a href="https://github.com/apache/pulsar/wiki/PIP-22%3A-Pulsar-Dead-Letter-Topic">Dead Letter [...]
+<tr><td style="text-align:left"><code>deadLetterTopic</code></td><td style="text-align:left">string</td><td style="text-align:left">no</td><td style="text-align:left">Define a <a href="http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/ConsumerBuilder.html#deadLetterPolicy-org.apache.pulsar.client.api.DeadLetterPolicy-">deadLetterTopic</a> for the consumer (default: {topic}-{subscription}-DLQ). Activates <a href="https://github.com/apache/pulsar/wiki/PIP-22%3A-Pulsar-Dead-L [...]
 </tbody>
 </table>
 <h5><a class="anchor" aria-hidden="true" id="receiving-messages"></a><a href="#receiving-messages" 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- [...]
diff --git a/content/docs/zh-CN/next/io-quickstart.html b/content/docs/zh-CN/next/io-quickstart.html
index 8a57e59..9395a10 100644
--- a/content/docs/zh-CN/next/io-quickstart.html
+++ b/content/docs/zh-CN/next/io-quickstart.html
@@ -117,7 +117,7 @@ pulsar-io-twitter-2.2.0.nar
 <ol>
 <li>Check pulsar function cluster</li>
 </ol>
-<pre><code class="hljs css language-bash">curl -s http://localhost:8080/admin/v2/<span class="hljs-built_in">functions</span>/cluster
+<pre><code class="hljs css language-bash">curl -s http://localhost:8080/admin/v2/worker/cluster
 </code></pre>
 <p>Example output:</p>
 <pre><code class="hljs css language-shell">[{"workerId":"c-standalone-fw-localhost-6750","workerHostname":"localhost","port":6750}]
diff --git a/content/docs/zh-CN/next/io-quickstart/index.html b/content/docs/zh-CN/next/io-quickstart/index.html
index 8a57e59..9395a10 100644
--- a/content/docs/zh-CN/next/io-quickstart/index.html
+++ b/content/docs/zh-CN/next/io-quickstart/index.html
@@ -117,7 +117,7 @@ pulsar-io-twitter-2.2.0.nar
 <ol>
 <li>Check pulsar function cluster</li>
 </ol>
-<pre><code class="hljs css language-bash">curl -s http://localhost:8080/admin/v2/<span class="hljs-built_in">functions</span>/cluster
+<pre><code class="hljs css language-bash">curl -s http://localhost:8080/admin/v2/worker/cluster
 </code></pre>
 <p>Example output:</p>
 <pre><code class="hljs css language-shell">[{"workerId":"c-standalone-fw-localhost-6750","workerHostname":"localhost","port":6750}]
diff --git a/content/swagger/swagger.json b/content/swagger/swagger.json
index a6cd960..c0babac 100644
--- a/content/swagger/swagger.json
+++ b/content/swagger/swagger.json
@@ -6813,9 +6813,6 @@
           "type" : "number",
           "format" : "double"
         },
-        "underLoaded" : {
-          "type" : "boolean"
-        },
         "memory" : {
           "$ref" : "#/definitions/ResourceUsage"
         },
@@ -6840,14 +6837,17 @@
           "type" : "number",
           "format" : "double"
         },
-        "cpu" : {
-          "$ref" : "#/definitions/ResourceUsage"
+        "underLoaded" : {
+          "type" : "boolean"
         },
         "overLoaded" : {
           "type" : "boolean"
         },
         "loadReportType" : {
           "type" : "string"
+        },
+        "cpu" : {
+          "$ref" : "#/definitions/ResourceUsage"
         }
       }
     },


Mime
View raw message