You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by pe...@apache.org on 2022/05/06 19:53:30 UTC

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

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

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


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

commit 81b95cbe5374cf7c8ec7b05e1937311f3f129964
Author: Pulsar Site Updater <de...@pulsar.apache.org>
AuthorDate: Fri May 6 19:53:16 2022 +0000

    Updated site at revision b5f8647
---
 content/api/admin/2.11.0-SNAPSHOT/index-all.html   |   16 +
 .../admin/2.11.0-SNAPSHOT/member-search-index.js   |    2 +-
 .../admin/2.11.0-SNAPSHOT/member-search-index.zip  |  Bin 12924 -> 12983 bytes
 .../client/admin/internal/TopicPoliciesImpl.html   |  372 ++++--
 .../admin/2.11.0-SNAPSHOT/overview-summary.html    |    2 +-
 .../admin/2.11.0-SNAPSHOT/package-search-index.zip |  Bin 263 -> 263 bytes
 .../admin/2.11.0-SNAPSHOT/type-search-index.zip    |  Bin 500 -> 500 bytes
 .../client/2.11.0-SNAPSHOT/member-search-index.zip |  Bin 11275 -> 11275 bytes
 .../client/2.11.0-SNAPSHOT/overview-summary.html   |    2 +-
 .../2.11.0-SNAPSHOT/package-search-index.zip       |  Bin 298 -> 298 bytes
 .../client/2.11.0-SNAPSHOT/type-search-index.zip   |  Bin 1549 -> 1549 bytes
 .../pulsar-broker/2.11.0-SNAPSHOT/index-all.html   |   18 +-
 .../2.11.0-SNAPSHOT/member-search-index.js         |    2 +-
 .../2.11.0-SNAPSHOT/member-search-index.zip        |  Bin 70621 -> 70767 bytes
 .../broker/admin/impl/PersistentTopicsBase.html    |  176 ++-
 .../broker/admin/v1/NonPersistentTopics.html       |    2 +-
 .../pulsar/broker/admin/v1/PersistentTopics.html   |    2 +-
 .../broker/admin/v2/NonPersistentTopics.html       |    4 +-
 .../pulsar/broker/admin/v2/PersistentTopics.html   |  236 +++-
 .../org/apache/pulsar/broker/rest/Topics.html      |    2 +-
 .../org/apache/pulsar/broker/rest/TopicsBase.html  |    2 +-
 .../broker/service/AbstractBaseDispatcher.html     |   32 +-
 .../AbstractDispatcherMultipleConsumers.html       |    2 +-
 .../AbstractDispatcherSingleActiveConsumer.html    |    2 +-
 .../pulsar/broker/service/AbstractTopic.html       |    6 +-
 .../NonPersistentDispatcherMultipleConsumers.html  |    2 +-
 ...onPersistentDispatcherSingleActiveConsumer.html |    2 +-
 ...istentStickyKeyDispatcherMultipleConsumers.html |    2 +-
 .../service/nonpersistent/NonPersistentTopic.html  |    2 +-
 .../service/persistent/DispatchRateLimiter.html    |   17 +
 .../PersistentDispatcherMultipleConsumers.html     |    2 +-
 .../PersistentDispatcherSingleActiveConsumer.html  |    2 +-
 ...istentStickyKeyDispatcherMultipleConsumers.html |    2 +-
 ...istentStreamingDispatcherMultipleConsumers.html |    2 +-
 ...entStreamingDispatcherSingleActiveConsumer.html |    2 +-
 .../broker/service/persistent/PersistentTopic.html |    2 +-
 .../broker/service/persistent/SystemTopic.html     |    2 +-
 .../class-use/DispatchRateLimiter.Type.html        |    6 +
 .../persistent/class-use/PersistentTopic.html      |   28 +-
 .../2.11.0-SNAPSHOT/overview-summary.html          |    2 +-
 .../2.11.0-SNAPSHOT/package-search-index.zip       |  Bin 593 -> 593 bytes
 .../2.11.0-SNAPSHOT/type-search-index.zip          |  Bin 4423 -> 4423 bytes
 .../2.11.0-SNAPSHOT/member-search-index.zip        |  Bin 1277 -> 1277 bytes
 .../2.11.0-SNAPSHOT/overview-summary.html          |    2 +-
 .../2.11.0-SNAPSHOT/package-search-index.zip       |  Bin 260 -> 260 bytes
 .../2.11.0-SNAPSHOT/type-search-index.zip          |  Bin 349 -> 349 bytes
 content/docs/en/next/reference-configuration.html  |    4 +
 .../en/next/reference-configuration/index.html     |    4 +
 content/swagger/2.11.0-SNAPSHOT/swagger.json       | 1200 ++++++++++++-------
 .../swagger/2.11.0-SNAPSHOT/swaggerfunctions.json  |  146 +--
 .../swagger/2.11.0-SNAPSHOT/swaggerpackages.json   |   80 +-
 content/swagger/2.11.0-SNAPSHOT/swaggersink.json   |   80 +-
 content/swagger/2.11.0-SNAPSHOT/swaggersource.json |   80 +-
 content/swagger/2.11.0-SNAPSHOT/v2/swagger.json    | 1208 +++++++++++++-------
 .../2.11.0-SNAPSHOT/v3/swaggerfunctions.json       |  146 +--
 .../2.11.0-SNAPSHOT/v3/swaggerpackages.json        |   80 +-
 .../swagger/2.11.0-SNAPSHOT/v3/swaggersink.json    |   80 +-
 .../swagger/2.11.0-SNAPSHOT/v3/swaggersource.json  |   80 +-
 content/swagger/master/swagger.json                | 1200 ++++++++++++-------
 content/swagger/master/swaggerfunctions.json       |  146 +--
 content/swagger/master/swaggerpackages.json        |   80 +-
 content/swagger/master/swaggersink.json            |   80 +-
 content/swagger/master/swaggersource.json          |   80 +-
 content/swagger/master/v2/swagger.json             | 1208 +++++++++++++-------
 content/swagger/master/v3/swaggerfunctions.json    |  146 +--
 content/swagger/master/v3/swaggerpackages.json     |   80 +-
 content/swagger/master/v3/swaggersink.json         |   80 +-
 content/swagger/master/v3/swaggersource.json       |   80 +-
 content/swagger/restApiVersions.json               |    4 +-
 .../tools/pulsar-admin/2.11.0-SNAPSHOT/index.html  |    4 +-
 70 files changed, 4679 insertions(+), 2654 deletions(-)

diff --git a/content/api/admin/2.11.0-SNAPSHOT/index-all.html b/content/api/admin/2.11.0-SNAPSHOT/index-all.html
index 3ff7424169c..0d6c0e81121 100644
--- a/content/api/admin/2.11.0-SNAPSHOT/index-all.html
+++ b/content/api/admin/2.11.0-SNAPSHOT/index-all.html
@@ -1383,6 +1383,10 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/admin/internal/TopicsImpl.html#getSubscriptionDispatchRate(java.lang.String,boolean)">getSubscriptionDispatchRate(String, boolean)</a></span> - Method in class org.apache.pulsar.client.admin.internal.<a href="org/apache/pulsar/client/admin/internal/TopicsImpl.html" title="class in org.apache.pulsar.client.admin.internal">TopicsImpl</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/pulsar/client/admin/internal/TopicPoliciesImpl.html#getSubscriptionDispatchRate(java.lang.String,java.lang.String)">getSubscriptionDispatchRate(String, String)</a></span> - Method in class org.apache.pulsar.client.admin.internal.<a href="org/apache/pulsar/client/admin/internal/TopicPoliciesImpl.html" title="class in org.apache.pulsar.client.admin.internal">TopicPoliciesImpl</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/pulsar/client/admin/internal/TopicPoliciesImpl.html#getSubscriptionDispatchRate(java.lang.String,java.lang.String,boolean)">getSubscriptionDispatchRate(String, String, boolean)</a></span> - Method in class org.apache.pulsar.client.admin.internal.<a href="org/apache/pulsar/client/admin/internal/TopicPoliciesImpl.html" title="class in org.apache.pulsar.client.admin.internal">TopicPoliciesImpl</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/admin/internal/NamespacesImpl.html#getSubscriptionDispatchRateAsync(java.lang.String)">getSubscriptionDispatchRateAsync(String)</a></span> - Method in class org.apache.pulsar.client.admin.internal.<a href="org/apache/pulsar/client/admin/internal/NamespacesImpl.html" title="class in org.apache.pulsar.client.admin.internal">NamespacesImpl</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/admin/internal/TopicPoliciesImpl.html#getSubscriptionDispatchRateAsync(java.lang.String)">getSubscriptionDispatchRateAsync(String)</a></span> - Method in class org.apache.pulsar.client.admin.internal.<a href="org/apache/pulsar/client/admin/internal/TopicPoliciesImpl.html" title="class in org.apache.pulsar.client.admin.internal">TopicPoliciesImpl</a></dt>
@@ -1393,6 +1397,10 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/admin/internal/TopicsImpl.html#getSubscriptionDispatchRateAsync(java.lang.String,boolean)">getSubscriptionDispatchRateAsync(String, boolean)</a></span> - Method in class org.apache.pulsar.client.admin.internal.<a href="org/apache/pulsar/client/admin/internal/TopicsImpl.html" title="class in org.apache.pulsar.client.admin.internal">TopicsImpl</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/pulsar/client/admin/internal/TopicPoliciesImpl.html#getSubscriptionDispatchRateAsync(java.lang.String,java.lang.String)">getSubscriptionDispatchRateAsync(String, String)</a></span> - Method in class org.apache.pulsar.client.admin.internal.<a href="org/apache/pulsar/client/admin/internal/TopicPoliciesImpl.html" title="class in org.apache.pulsar.client.admin.internal">TopicPoliciesImpl</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/pulsar/client/admin/internal/TopicPoliciesImpl.html#getSubscriptionDispatchRateAsync(java.lang.String,java.lang.String,boolean)">getSubscriptionDispatchRateAsync(String, String, boolean)</a></span> - Method in class org.apache.pulsar.client.admin.internal.<a href="org/apache/pulsar/client/admin/internal/TopicPoliciesImpl.html" title="class in org.apache.pulsar.client.admin.internal">TopicPoliciesImpl</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/admin/internal/NamespacesImpl.html#getSubscriptionExpirationTime(java.lang.String)">getSubscriptionExpirationTime(String)</a></span> - Method in class org.apache.pulsar.client.admin.internal.<a href="org/apache/pulsar/client/admin/internal/NamespacesImpl.html" title="class in org.apache.pulsar.client.admin.internal">NamespacesImpl</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/admin/internal/NamespacesImpl.html#getSubscriptionExpirationTimeAsync(java.lang.String)">getSubscriptionExpirationTimeAsync(String)</a></span> - Method in class org.apache.pulsar.client.admin.internal.<a href="org/apache/pulsar/client/admin/internal/NamespacesImpl.html" title="class in org.apache.pulsar.client.admin.internal">NamespacesImpl</a></dt>
@@ -1960,12 +1968,16 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/admin/internal/TopicsImpl.html#removeSubscriptionDispatchRate(java.lang.String)">removeSubscriptionDispatchRate(String)</a></span> - Method in class org.apache.pulsar.client.admin.internal.<a href="org/apache/pulsar/client/admin/internal/TopicsImpl.html" title="class in org.apache.pulsar.client.admin.internal">TopicsImpl</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/pulsar/client/admin/internal/TopicPoliciesImpl.html#removeSubscriptionDispatchRate(java.lang.String,java.lang.String)">removeSubscriptionDispatchRate(String, String)</a></span> - Method in class org.apache.pulsar.client.admin.internal.<a href="org/apache/pulsar/client/admin/internal/TopicPoliciesImpl.html" title="class in org.apache.pulsar.client.admin.internal">TopicPoliciesImpl</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/admin/internal/NamespacesImpl.html#removeSubscriptionDispatchRateAsync(java.lang.String)">removeSubscriptionDispatchRateAsync(String)</a></span> - Method in class org.apache.pulsar.client.admin.internal.<a href="org/apache/pulsar/client/admin/internal/NamespacesImpl.html" title="class in org.apache.pulsar.client.admin.internal">NamespacesImpl</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/admin/internal/TopicPoliciesImpl.html#removeSubscriptionDispatchRateAsync(java.lang.String)">removeSubscriptionDispatchRateAsync(String)</a></span> - Method in class org.apache.pulsar.client.admin.internal.<a href="org/apache/pulsar/client/admin/internal/TopicPoliciesImpl.html" title="class in org.apache.pulsar.client.admin.internal">TopicPoliciesImpl</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/admin/internal/TopicsImpl.html#removeSubscriptionDispatchRateAsync(java.lang.String)">removeSubscriptionDispatchRateAsync(String)</a></span> - Method in class org.apache.pulsar.client.admin.internal.<a href="org/apache/pulsar/client/admin/internal/TopicsImpl.html" title="class in org.apache.pulsar.client.admin.internal">TopicsImpl</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/pulsar/client/admin/internal/TopicPoliciesImpl.html#removeSubscriptionDispatchRateAsync(java.lang.String,java.lang.String)">removeSubscriptionDispatchRateAsync(String, String)</a></span> - Method in class org.apache.pulsar.client.admin.internal.<a href="org/apache/pulsar/client/admin/internal/TopicPoliciesImpl.html" title="class in org.apache.pulsar.client.admin.internal">TopicPoliciesImpl</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/admin/internal/NamespacesImpl.html#removeSubscriptionExpirationTime(java.lang.String)">removeSubscriptionExpirationTime(String)</a></span> - Method in class org.apache.pulsar.client.admin.internal.<a href="org/apache/pulsar/client/admin/internal/NamespacesImpl.html" title="class in org.apache.pulsar.client.admin.internal">NamespacesImpl</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/admin/internal/NamespacesImpl.html#removeSubscriptionExpirationTimeAsync(java.lang.String)">removeSubscriptionExpirationTimeAsync(String)</a></span> - Method in class org.apache.pulsar.client.admin.internal.<a href="org/apache/pulsar/client/admin/internal/NamespacesImpl.html" title="class in org.apache.pulsar.client.admin.internal">NamespacesImpl</a></dt>
@@ -2402,12 +2414,16 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/admin/internal/NamespacesImpl.html#setSubscriptionAuthModeAsync(java.lang.String,org.apache.pulsar.common.policies.data.SubscriptionAuthMode)">setSubscriptionAuthModeAsync(String, SubscriptionAuthMode)</a></span> - Method in class org.apache.pulsar.client.admin.internal.<a href="org/apache/pulsar/client/admin/internal/NamespacesImpl.html" title="class in org.apache.pulsar.client.admin.internal">NamespacesImpl</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/pulsar/client/admin/internal/TopicPoliciesImpl.html#setSubscriptionDispatchRate(java.lang.String,java.lang.String,org.apache.pulsar.common.policies.data.DispatchRate)">setSubscriptionDispatchRate(String, String, DispatchRate)</a></span> - Method in class org.apache.pulsar.client.admin.internal.<a href="org/apache/pulsar/client/admin/internal/TopicPoliciesImpl.html" title="class in org.apache.pulsar.client.admin.internal">TopicPoliciesI [...]
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/admin/internal/NamespacesImpl.html#setSubscriptionDispatchRate(java.lang.String,org.apache.pulsar.common.policies.data.DispatchRate)">setSubscriptionDispatchRate(String, DispatchRate)</a></span> - Method in class org.apache.pulsar.client.admin.internal.<a href="org/apache/pulsar/client/admin/internal/NamespacesImpl.html" title="class in org.apache.pulsar.client.admin.internal">NamespacesImpl</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/admin/internal/TopicPoliciesImpl.html#setSubscriptionDispatchRate(java.lang.String,org.apache.pulsar.common.policies.data.DispatchRate)">setSubscriptionDispatchRate(String, DispatchRate)</a></span> - Method in class org.apache.pulsar.client.admin.internal.<a href="org/apache/pulsar/client/admin/internal/TopicPoliciesImpl.html" title="class in org.apache.pulsar.client.admin.internal">TopicPoliciesImpl</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/admin/internal/TopicsImpl.html#setSubscriptionDispatchRate(java.lang.String,org.apache.pulsar.common.policies.data.DispatchRate)">setSubscriptionDispatchRate(String, DispatchRate)</a></span> - Method in class org.apache.pulsar.client.admin.internal.<a href="org/apache/pulsar/client/admin/internal/TopicsImpl.html" title="class in org.apache.pulsar.client.admin.internal">TopicsImpl</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/pulsar/client/admin/internal/TopicPoliciesImpl.html#setSubscriptionDispatchRateAsync(java.lang.String,java.lang.String,org.apache.pulsar.common.policies.data.DispatchRate)">setSubscriptionDispatchRateAsync(String, String, DispatchRate)</a></span> - Method in class org.apache.pulsar.client.admin.internal.<a href="org/apache/pulsar/client/admin/internal/TopicPoliciesImpl.html" title="class in org.apache.pulsar.client.admin.internal">Topi [...]
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/admin/internal/NamespacesImpl.html#setSubscriptionDispatchRateAsync(java.lang.String,org.apache.pulsar.common.policies.data.DispatchRate)">setSubscriptionDispatchRateAsync(String, DispatchRate)</a></span> - Method in class org.apache.pulsar.client.admin.internal.<a href="org/apache/pulsar/client/admin/internal/NamespacesImpl.html" title="class in org.apache.pulsar.client.admin.internal">NamespacesImpl</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/admin/internal/TopicPoliciesImpl.html#setSubscriptionDispatchRateAsync(java.lang.String,org.apache.pulsar.common.policies.data.DispatchRate)">setSubscriptionDispatchRateAsync(String, DispatchRate)</a></span> - Method in class org.apache.pulsar.client.admin.internal.<a href="org/apache/pulsar/client/admin/internal/TopicPoliciesImpl.html" title="class in org.apache.pulsar.client.admin.internal">TopicPoliciesImpl</a></dt>
diff --git a/content/api/admin/2.11.0-SNAPSHOT/member-search-index.js b/content/api/admin/2.11.0-SNAPSHOT/member-search-index.js
index 911422bb109..012ef7029c9 100644
--- a/content/api/admin/2.11.0-SNAPSHOT/member-search-index.js
+++ b/content/api/admin/2.11.0-SNAPSHOT/member-search-index.js
@@ -1 +1 @@
-memberSearchIndex = [{"p":"org.apache.pulsar.client.admin.internal","c":"ComponentResource","l":"addAuthHeaders(WebTarget, RequestBuilder)","url":"addAuthHeaders(javax.ws.rs.client.WebTarget,org.asynchttpclient.RequestBuilder)"},{"p":"org.apache.pulsar.client.admin.internal","c":"TopicPoliciesImpl","l":"addGlobalIfNeeded(WebTarget)","url":"addGlobalIfNeeded(javax.ws.rs.client.WebTarget)"},{"p":"org.apache.pulsar.client.admin.internal","c":"PulsarAdminBuilderImpl","l":"allowTlsInsecureCon [...]
\ No newline at end of file
+memberSearchIndex = [{"p":"org.apache.pulsar.client.admin.internal","c":"ComponentResource","l":"addAuthHeaders(WebTarget, RequestBuilder)","url":"addAuthHeaders(javax.ws.rs.client.WebTarget,org.asynchttpclient.RequestBuilder)"},{"p":"org.apache.pulsar.client.admin.internal","c":"TopicPoliciesImpl","l":"addGlobalIfNeeded(WebTarget)","url":"addGlobalIfNeeded(javax.ws.rs.client.WebTarget)"},{"p":"org.apache.pulsar.client.admin.internal","c":"PulsarAdminBuilderImpl","l":"allowTlsInsecureCon [...]
\ No newline at end of file
diff --git a/content/api/admin/2.11.0-SNAPSHOT/member-search-index.zip b/content/api/admin/2.11.0-SNAPSHOT/member-search-index.zip
index 1239d6cae40..93b30acfaa1 100644
Binary files a/content/api/admin/2.11.0-SNAPSHOT/member-search-index.zip and b/content/api/admin/2.11.0-SNAPSHOT/member-search-index.zip differ
diff --git a/content/api/admin/2.11.0-SNAPSHOT/org/apache/pulsar/client/admin/internal/TopicPoliciesImpl.html b/content/api/admin/2.11.0-SNAPSHOT/org/apache/pulsar/client/admin/internal/TopicPoliciesImpl.html
index 1fc6552c211..2acf706af1b 100644
--- a/content/api/admin/2.11.0-SNAPSHOT/org/apache/pulsar/client/admin/internal/TopicPoliciesImpl.html
+++ b/content/api/admin/2.11.0-SNAPSHOT/org/apache/pulsar/client/admin/internal/TopicPoliciesImpl.html
@@ -26,7 +26,7 @@
     catch(err) {
     }
 //-->
-var data = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10,"i35":10,"i36":10,"i37":10,"i38":10,"i39":10,"i40":10,"i41":10,"i42":10,"i43":10,"i44":10,"i45":10,"i46":10,"i47":10,"i48":10,"i49":10,"i50":10,"i51":10,"i52":10,"i53":10,"i54 [...]
+var data = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10,"i35":10,"i36":10,"i37":10,"i38":10,"i39":10,"i40":10,"i41":10,"i42":10,"i43":10,"i44":10,"i45":10,"i46":10,"i47":10,"i48":10,"i49":10,"i50":10,"i51":10,"i52":10,"i53":10,"i54 [...]
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -615,529 +615,581 @@ implements org.apache.pulsar.client.admin.TopicPolicies</pre>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr id="i75" class="rowColor">
+<td class="colFirst"><code>org.apache.pulsar.common.policies.data.DispatchRate</code></td>
+<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getSubscriptionDispatchRate(java.lang.String,java.lang.String)">getSubscriptionDispatchRate</a></span>&#8203;(java.lang.String&nbsp;topic,
+                           java.lang.String&nbsp;subscriptionName)</code></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr id="i76" class="altColor">
+<td class="colFirst"><code>org.apache.pulsar.common.policies.data.DispatchRate</code></td>
+<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getSubscriptionDispatchRate(java.lang.String,java.lang.String,boolean)">getSubscriptionDispatchRate</a></span>&#8203;(java.lang.String&nbsp;topic,
+                           java.lang.String&nbsp;subscriptionName,
+                           boolean&nbsp;applied)</code></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr id="i77" class="rowColor">
 <td class="colFirst"><code>java.util.concurrent.CompletableFuture&lt;org.apache.pulsar.common.policies.data.DispatchRate&gt;</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getSubscriptionDispatchRateAsync(java.lang.String)">getSubscriptionDispatchRateAsync</a></span>&#8203;(java.lang.String&nbsp;topic)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i76" class="altColor">
+<tr id="i78" class="altColor">
 <td class="colFirst"><code>java.util.concurrent.CompletableFuture&lt;org.apache.pulsar.common.policies.data.DispatchRate&gt;</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getSubscriptionDispatchRateAsync(java.lang.String,boolean)">getSubscriptionDispatchRateAsync</a></span>&#8203;(java.lang.String&nbsp;topic,
                                 boolean&nbsp;applied)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i77" class="rowColor">
+<tr id="i79" class="rowColor">
+<td class="colFirst"><code>java.util.concurrent.CompletableFuture&lt;org.apache.pulsar.common.policies.data.DispatchRate&gt;</code></td>
+<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getSubscriptionDispatchRateAsync(java.lang.String,java.lang.String)">getSubscriptionDispatchRateAsync</a></span>&#8203;(java.lang.String&nbsp;topic,
+                                java.lang.String&nbsp;subscriptionName)</code></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr id="i80" class="altColor">
+<td class="colFirst"><code>java.util.concurrent.CompletableFuture&lt;org.apache.pulsar.common.policies.data.DispatchRate&gt;</code></td>
+<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getSubscriptionDispatchRateAsync(java.lang.String,java.lang.String,boolean)">getSubscriptionDispatchRateAsync</a></span>&#8203;(java.lang.String&nbsp;topic,
+                                java.lang.String&nbsp;subscriptionName,
+                                boolean&nbsp;applied)</code></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr id="i81" class="rowColor">
 <td class="colFirst"><code>java.util.Set&lt;org.apache.pulsar.client.api.SubscriptionType&gt;</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getSubscriptionTypesEnabled(java.lang.String)">getSubscriptionTypesEnabled</a></span>&#8203;(java.lang.String&nbsp;topic)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i78" class="altColor">
+<tr id="i82" class="altColor">
 <td class="colFirst"><code>java.util.concurrent.CompletableFuture&lt;java.util.Set&lt;org.apache.pulsar.client.api.SubscriptionType&gt;&gt;</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getSubscriptionTypesEnabledAsync(java.lang.String)">getSubscriptionTypesEnabledAsync</a></span>&#8203;(java.lang.String&nbsp;topic)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i79" class="rowColor">
+<tr id="i83" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeBacklogQuota(java.lang.String,org.apache.pulsar.common.policies.data.BacklogQuota.BacklogQuotaType)">removeBacklogQuota</a></span>&#8203;(java.lang.String&nbsp;topic,
                   org.apache.pulsar.common.policies.data.BacklogQuota.BacklogQuotaType&nbsp;backlogQuotaType)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i80" class="altColor">
+<tr id="i84" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeCompactionThreshold(java.lang.String)">removeCompactionThreshold</a></span>&#8203;(java.lang.String&nbsp;topic)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i81" class="rowColor">
+<tr id="i85" class="rowColor">
 <td class="colFirst"><code>java.util.concurrent.CompletableFuture&lt;java.lang.Void&gt;</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeCompactionThresholdAsync(java.lang.String)">removeCompactionThresholdAsync</a></span>&#8203;(java.lang.String&nbsp;topic)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i82" class="altColor">
+<tr id="i86" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeDeduplicationSnapshotInterval(java.lang.String)">removeDeduplicationSnapshotInterval</a></span>&#8203;(java.lang.String&nbsp;topic)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i83" class="rowColor">
+<tr id="i87" class="rowColor">
 <td class="colFirst"><code>java.util.concurrent.CompletableFuture&lt;java.lang.Void&gt;</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeDeduplicationSnapshotIntervalAsync(java.lang.String)">removeDeduplicationSnapshotIntervalAsync</a></span>&#8203;(java.lang.String&nbsp;topic)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i84" class="altColor">
+<tr id="i88" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeDeduplicationStatus(java.lang.String)">removeDeduplicationStatus</a></span>&#8203;(java.lang.String&nbsp;topic)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i85" class="rowColor">
+<tr id="i89" class="rowColor">
 <td class="colFirst"><code>java.util.concurrent.CompletableFuture&lt;java.lang.Void&gt;</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeDeduplicationStatusAsync(java.lang.String)">removeDeduplicationStatusAsync</a></span>&#8203;(java.lang.String&nbsp;topic)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i86" class="altColor">
+<tr id="i90" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeDelayedDeliveryPolicy(java.lang.String)">removeDelayedDeliveryPolicy</a></span>&#8203;(java.lang.String&nbsp;topic)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i87" class="rowColor">
+<tr id="i91" class="rowColor">
 <td class="colFirst"><code>java.util.concurrent.CompletableFuture&lt;java.lang.Void&gt;</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeDelayedDeliveryPolicyAsync(java.lang.String)">removeDelayedDeliveryPolicyAsync</a></span>&#8203;(java.lang.String&nbsp;topic)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i88" class="altColor">
+<tr id="i92" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeDispatchRate(java.lang.String)">removeDispatchRate</a></span>&#8203;(java.lang.String&nbsp;topic)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i89" class="rowColor">
+<tr id="i93" class="rowColor">
 <td class="colFirst"><code>java.util.concurrent.CompletableFuture&lt;java.lang.Void&gt;</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeDispatchRateAsync(java.lang.String)">removeDispatchRateAsync</a></span>&#8203;(java.lang.String&nbsp;topic)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i90" class="altColor">
+<tr id="i94" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeInactiveTopicPolicies(java.lang.String)">removeInactiveTopicPolicies</a></span>&#8203;(java.lang.String&nbsp;topic)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i91" class="rowColor">
+<tr id="i95" class="rowColor">
 <td class="colFirst"><code>java.util.concurrent.CompletableFuture&lt;java.lang.Void&gt;</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeInactiveTopicPoliciesAsync(java.lang.String)">removeInactiveTopicPoliciesAsync</a></span>&#8203;(java.lang.String&nbsp;topic)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i92" class="altColor">
+<tr id="i96" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeMaxConsumers(java.lang.String)">removeMaxConsumers</a></span>&#8203;(java.lang.String&nbsp;topic)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i93" class="rowColor">
+<tr id="i97" class="rowColor">
 <td class="colFirst"><code>java.util.concurrent.CompletableFuture&lt;java.lang.Void&gt;</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeMaxConsumersAsync(java.lang.String)">removeMaxConsumersAsync</a></span>&#8203;(java.lang.String&nbsp;topic)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i94" class="altColor">
+<tr id="i98" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeMaxConsumersPerSubscription(java.lang.String)">removeMaxConsumersPerSubscription</a></span>&#8203;(java.lang.String&nbsp;topic)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i95" class="rowColor">
+<tr id="i99" class="rowColor">
 <td class="colFirst"><code>java.util.concurrent.CompletableFuture&lt;java.lang.Void&gt;</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeMaxConsumersPerSubscriptionAsync(java.lang.String)">removeMaxConsumersPerSubscriptionAsync</a></span>&#8203;(java.lang.String&nbsp;topic)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i96" class="altColor">
+<tr id="i100" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeMaxMessageSize(java.lang.String)">removeMaxMessageSize</a></span>&#8203;(java.lang.String&nbsp;topic)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i97" class="rowColor">
+<tr id="i101" class="rowColor">
 <td class="colFirst"><code>java.util.concurrent.CompletableFuture&lt;java.lang.Void&gt;</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeMaxMessageSizeAsync(java.lang.String)">removeMaxMessageSizeAsync</a></span>&#8203;(java.lang.String&nbsp;topic)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i98" class="altColor">
+<tr id="i102" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeMaxProducers(java.lang.String)">removeMaxProducers</a></span>&#8203;(java.lang.String&nbsp;topic)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i99" class="rowColor">
+<tr id="i103" class="rowColor">
 <td class="colFirst"><code>java.util.concurrent.CompletableFuture&lt;java.lang.Void&gt;</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeMaxProducersAsync(java.lang.String)">removeMaxProducersAsync</a></span>&#8203;(java.lang.String&nbsp;topic)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i100" class="altColor">
+<tr id="i104" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeMaxSubscriptionsPerTopic(java.lang.String)">removeMaxSubscriptionsPerTopic</a></span>&#8203;(java.lang.String&nbsp;topic)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i101" class="rowColor">
+<tr id="i105" class="rowColor">
 <td class="colFirst"><code>java.util.concurrent.CompletableFuture&lt;java.lang.Void&gt;</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeMaxSubscriptionsPerTopicAsync(java.lang.String)">removeMaxSubscriptionsPerTopicAsync</a></span>&#8203;(java.lang.String&nbsp;topic)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i102" class="altColor">
+<tr id="i106" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeMaxUnackedMessagesOnConsumer(java.lang.String)">removeMaxUnackedMessagesOnConsumer</a></span>&#8203;(java.lang.String&nbsp;topic)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i103" class="rowColor">
+<tr id="i107" class="rowColor">
 <td class="colFirst"><code>java.util.concurrent.CompletableFuture&lt;java.lang.Void&gt;</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeMaxUnackedMessagesOnConsumerAsync(java.lang.String)">removeMaxUnackedMessagesOnConsumerAsync</a></span>&#8203;(java.lang.String&nbsp;topic)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i104" class="altColor">
+<tr id="i108" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeMaxUnackedMessagesOnSubscription(java.lang.String)">removeMaxUnackedMessagesOnSubscription</a></span>&#8203;(java.lang.String&nbsp;topic)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i105" class="rowColor">
+<tr id="i109" class="rowColor">
 <td class="colFirst"><code>java.util.concurrent.CompletableFuture&lt;java.lang.Void&gt;</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeMaxUnackedMessagesOnSubscriptionAsync(java.lang.String)">removeMaxUnackedMessagesOnSubscriptionAsync</a></span>&#8203;(java.lang.String&nbsp;topic)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i106" class="altColor">
+<tr id="i110" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeMessageTTL(java.lang.String)">removeMessageTTL</a></span>&#8203;(java.lang.String&nbsp;topic)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i107" class="rowColor">
+<tr id="i111" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeOffloadPolicies(java.lang.String)">removeOffloadPolicies</a></span>&#8203;(java.lang.String&nbsp;topic)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i108" class="altColor">
+<tr id="i112" class="altColor">
 <td class="colFirst"><code>java.util.concurrent.CompletableFuture&lt;java.lang.Void&gt;</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeOffloadPoliciesAsync(java.lang.String)">removeOffloadPoliciesAsync</a></span>&#8203;(java.lang.String&nbsp;topic)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i109" class="rowColor">
+<tr id="i113" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removePersistence(java.lang.String)">removePersistence</a></span>&#8203;(java.lang.String&nbsp;topic)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i110" class="altColor">
+<tr id="i114" class="altColor">
 <td class="colFirst"><code>java.util.concurrent.CompletableFuture&lt;java.lang.Void&gt;</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removePersistenceAsync(java.lang.String)">removePersistenceAsync</a></span>&#8203;(java.lang.String&nbsp;topic)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i111" class="rowColor">
+<tr id="i115" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removePublishRate(java.lang.String)">removePublishRate</a></span>&#8203;(java.lang.String&nbsp;topic)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i112" class="altColor">
+<tr id="i116" class="altColor">
 <td class="colFirst"><code>java.util.concurrent.CompletableFuture&lt;java.lang.Void&gt;</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removePublishRateAsync(java.lang.String)">removePublishRateAsync</a></span>&#8203;(java.lang.String&nbsp;topic)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i113" class="rowColor">
+<tr id="i117" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeReplicatorDispatchRate(java.lang.String)">removeReplicatorDispatchRate</a></span>&#8203;(java.lang.String&nbsp;topic)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i114" class="altColor">
+<tr id="i118" class="altColor">
 <td class="colFirst"><code>java.util.concurrent.CompletableFuture&lt;java.lang.Void&gt;</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeReplicatorDispatchRateAsync(java.lang.String)">removeReplicatorDispatchRateAsync</a></span>&#8203;(java.lang.String&nbsp;topic)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i115" class="rowColor">
+<tr id="i119" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeRetention(java.lang.String)">removeRetention</a></span>&#8203;(java.lang.String&nbsp;topic)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i116" class="altColor">
+<tr id="i120" class="altColor">
 <td class="colFirst"><code>java.util.concurrent.CompletableFuture&lt;java.lang.Void&gt;</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeRetentionAsync(java.lang.String)">removeRetentionAsync</a></span>&#8203;(java.lang.String&nbsp;topic)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i117" class="rowColor">
+<tr id="i121" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeSchemaCompatibilityStrategy(java.lang.String)">removeSchemaCompatibilityStrategy</a></span>&#8203;(java.lang.String&nbsp;topic)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i118" class="altColor">
+<tr id="i122" class="altColor">
 <td class="colFirst"><code>java.util.concurrent.CompletableFuture&lt;java.lang.Void&gt;</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeSchemaCompatibilityStrategyAsync(java.lang.String)">removeSchemaCompatibilityStrategyAsync</a></span>&#8203;(java.lang.String&nbsp;topic)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i119" class="rowColor">
+<tr id="i123" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeSubscribeRate(java.lang.String)">removeSubscribeRate</a></span>&#8203;(java.lang.String&nbsp;topic)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i120" class="altColor">
+<tr id="i124" class="altColor">
 <td class="colFirst"><code>java.util.concurrent.CompletableFuture&lt;java.lang.Void&gt;</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeSubscribeRateAsync(java.lang.String)">removeSubscribeRateAsync</a></span>&#8203;(java.lang.String&nbsp;topic)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i121" class="rowColor">
+<tr id="i125" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeSubscriptionDispatchRate(java.lang.String)">removeSubscriptionDispatchRate</a></span>&#8203;(java.lang.String&nbsp;topic)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i122" class="altColor">
+<tr id="i126" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeSubscriptionDispatchRate(java.lang.String,java.lang.String)">removeSubscriptionDispatchRate</a></span>&#8203;(java.lang.String&nbsp;topic,
+                              java.lang.String&nbsp;subscriptionName)</code></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr id="i127" class="rowColor">
 <td class="colFirst"><code>java.util.concurrent.CompletableFuture&lt;java.lang.Void&gt;</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeSubscriptionDispatchRateAsync(java.lang.String)">removeSubscriptionDispatchRateAsync</a></span>&#8203;(java.lang.String&nbsp;topic)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i123" class="rowColor">
+<tr id="i128" class="altColor">
+<td class="colFirst"><code>java.util.concurrent.CompletableFuture&lt;java.lang.Void&gt;</code></td>
+<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeSubscriptionDispatchRateAsync(java.lang.String,java.lang.String)">removeSubscriptionDispatchRateAsync</a></span>&#8203;(java.lang.String&nbsp;topic,
+                                   java.lang.String&nbsp;subscriptionName)</code></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr id="i129" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeSubscriptionTypesEnabled(java.lang.String)">removeSubscriptionTypesEnabled</a></span>&#8203;(java.lang.String&nbsp;topic)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i124" class="altColor">
+<tr id="i130" class="altColor">
 <td class="colFirst"><code>java.util.concurrent.CompletableFuture&lt;java.lang.Void&gt;</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeSubscriptionTypesEnabledAsync(java.lang.String)">removeSubscriptionTypesEnabledAsync</a></span>&#8203;(java.lang.String&nbsp;topic)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i125" class="rowColor">
+<tr id="i131" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setBacklogQuota(java.lang.String,org.apache.pulsar.common.policies.data.BacklogQuota,org.apache.pulsar.common.policies.data.BacklogQuota.BacklogQuotaType)">setBacklogQuota</a></span>&#8203;(java.lang.String&nbsp;topic,
                org.apache.pulsar.common.policies.data.BacklogQuota&nbsp;backlogQuota,
                org.apache.pulsar.common.policies.data.BacklogQuota.BacklogQuotaType&nbsp;backlogQuotaType)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i126" class="altColor">
+<tr id="i132" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setCompactionThreshold(java.lang.String,long)">setCompactionThreshold</a></span>&#8203;(java.lang.String&nbsp;topic,
                       long&nbsp;compactionThreshold)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i127" class="rowColor">
+<tr id="i133" class="rowColor">
 <td class="colFirst"><code>java.util.concurrent.CompletableFuture&lt;java.lang.Void&gt;</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setCompactionThresholdAsync(java.lang.String,long)">setCompactionThresholdAsync</a></span>&#8203;(java.lang.String&nbsp;topic,
                            long&nbsp;compactionThreshold)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i128" class="altColor">
+<tr id="i134" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setDeduplicationSnapshotInterval(java.lang.String,int)">setDeduplicationSnapshotInterval</a></span>&#8203;(java.lang.String&nbsp;topic,
                                 int&nbsp;interval)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i129" class="rowColor">
+<tr id="i135" class="rowColor">
 <td class="colFirst"><code>java.util.concurrent.CompletableFuture&lt;java.lang.Void&gt;</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setDeduplicationSnapshotIntervalAsync(java.lang.String,int)">setDeduplicationSnapshotIntervalAsync</a></span>&#8203;(java.lang.String&nbsp;topic,
                                      int&nbsp;interval)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i130" class="altColor">
+<tr id="i136" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setDeduplicationStatus(java.lang.String,boolean)">setDeduplicationStatus</a></span>&#8203;(java.lang.String&nbsp;topic,
                       boolean&nbsp;enabled)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i131" class="rowColor">
+<tr id="i137" class="rowColor">
 <td class="colFirst"><code>java.util.concurrent.CompletableFuture&lt;java.lang.Void&gt;</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setDeduplicationStatusAsync(java.lang.String,boolean)">setDeduplicationStatusAsync</a></span>&#8203;(java.lang.String&nbsp;topic,
                            boolean&nbsp;enabled)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i132" class="altColor">
+<tr id="i138" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setDelayedDeliveryPolicy(java.lang.String,org.apache.pulsar.common.policies.data.DelayedDeliveryPolicies)">setDelayedDeliveryPolicy</a></span>&#8203;(java.lang.String&nbsp;topic,
                         org.apache.pulsar.common.policies.data.DelayedDeliveryPolicies&nbsp;delayedDeliveryPolicies)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i133" class="rowColor">
+<tr id="i139" class="rowColor">
 <td class="colFirst"><code>java.util.concurrent.CompletableFuture&lt;java.lang.Void&gt;</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setDelayedDeliveryPolicyAsync(java.lang.String,org.apache.pulsar.common.policies.data.DelayedDeliveryPolicies)">setDelayedDeliveryPolicyAsync</a></span>&#8203;(java.lang.String&nbsp;topic,
                              org.apache.pulsar.common.policies.data.DelayedDeliveryPolicies&nbsp;delayedDeliveryPolicies)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i134" class="altColor">
+<tr id="i140" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setDispatchRate(java.lang.String,org.apache.pulsar.common.policies.data.DispatchRate)">setDispatchRate</a></span>&#8203;(java.lang.String&nbsp;topic,
                org.apache.pulsar.common.policies.data.DispatchRate&nbsp;dispatchRate)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i135" class="rowColor">
+<tr id="i141" class="rowColor">
 <td class="colFirst"><code>java.util.concurrent.CompletableFuture&lt;java.lang.Void&gt;</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setDispatchRateAsync(java.lang.String,org.apache.pulsar.common.policies.data.DispatchRate)">setDispatchRateAsync</a></span>&#8203;(java.lang.String&nbsp;topic,
                     org.apache.pulsar.common.policies.data.DispatchRate&nbsp;dispatchRate)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i136" class="altColor">
+<tr id="i142" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setInactiveTopicPolicies(java.lang.String,org.apache.pulsar.common.policies.data.InactiveTopicPolicies)">setInactiveTopicPolicies</a></span>&#8203;(java.lang.String&nbsp;topic,
                         org.apache.pulsar.common.policies.data.InactiveTopicPolicies&nbsp;inactiveTopicPolicies)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i137" class="rowColor">
+<tr id="i143" class="rowColor">
 <td class="colFirst"><code>java.util.concurrent.CompletableFuture&lt;java.lang.Void&gt;</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setInactiveTopicPoliciesAsync(java.lang.String,org.apache.pulsar.common.policies.data.InactiveTopicPolicies)">setInactiveTopicPoliciesAsync</a></span>&#8203;(java.lang.String&nbsp;topic,
                              org.apache.pulsar.common.policies.data.InactiveTopicPolicies&nbsp;inactiveTopicPolicies)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i138" class="altColor">
+<tr id="i144" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setMaxConsumers(java.lang.String,int)">setMaxConsumers</a></span>&#8203;(java.lang.String&nbsp;topic,
                int&nbsp;maxConsumers)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i139" class="rowColor">
+<tr id="i145" class="rowColor">
 <td class="colFirst"><code>java.util.concurrent.CompletableFuture&lt;java.lang.Void&gt;</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setMaxConsumersAsync(java.lang.String,int)">setMaxConsumersAsync</a></span>&#8203;(java.lang.String&nbsp;topic,
                     int&nbsp;maxConsumers)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i140" class="altColor">
+<tr id="i146" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setMaxConsumersPerSubscription(java.lang.String,int)">setMaxConsumersPerSubscription</a></span>&#8203;(java.lang.String&nbsp;topic,
                               int&nbsp;maxConsumersPerSubscription)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i141" class="rowColor">
+<tr id="i147" class="rowColor">
 <td class="colFirst"><code>java.util.concurrent.CompletableFuture&lt;java.lang.Void&gt;</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setMaxConsumersPerSubscriptionAsync(java.lang.String,int)">setMaxConsumersPerSubscriptionAsync</a></span>&#8203;(java.lang.String&nbsp;topic,
                                    int&nbsp;maxConsumersPerSubscription)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i142" class="altColor">
+<tr id="i148" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setMaxMessageSize(java.lang.String,int)">setMaxMessageSize</a></span>&#8203;(java.lang.String&nbsp;topic,
                  int&nbsp;maxMessageSize)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i143" class="rowColor">
+<tr id="i149" class="rowColor">
 <td class="colFirst"><code>java.util.concurrent.CompletableFuture&lt;java.lang.Void&gt;</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setMaxMessageSizeAsync(java.lang.String,int)">setMaxMessageSizeAsync</a></span>&#8203;(java.lang.String&nbsp;topic,
                       int&nbsp;maxMessageSize)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i144" class="altColor">
+<tr id="i150" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setMaxProducers(java.lang.String,int)">setMaxProducers</a></span>&#8203;(java.lang.String&nbsp;topic,
                int&nbsp;maxProducers)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i145" class="rowColor">
+<tr id="i151" class="rowColor">
 <td class="colFirst"><code>java.util.concurrent.CompletableFuture&lt;java.lang.Void&gt;</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setMaxProducersAsync(java.lang.String,int)">setMaxProducersAsync</a></span>&#8203;(java.lang.String&nbsp;topic,
                     int&nbsp;maxProducers)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i146" class="altColor">
+<tr id="i152" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setMaxSubscriptionsPerTopic(java.lang.String,int)">setMaxSubscriptionsPerTopic</a></span>&#8203;(java.lang.String&nbsp;topic,
                            int&nbsp;maxSubscriptionsPerTopic)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i147" class="rowColor">
+<tr id="i153" class="rowColor">
 <td class="colFirst"><code>java.util.concurrent.CompletableFuture&lt;java.lang.Void&gt;</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setMaxSubscriptionsPerTopicAsync(java.lang.String,int)">setMaxSubscriptionsPerTopicAsync</a></span>&#8203;(java.lang.String&nbsp;topic,
                                 int&nbsp;maxSubscriptionsPerTopic)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i148" class="altColor">
+<tr id="i154" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setMaxUnackedMessagesOnConsumer(java.lang.String,int)">setMaxUnackedMessagesOnConsumer</a></span>&#8203;(java.lang.String&nbsp;topic,
                                int&nbsp;maxNum)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i149" class="rowColor">
+<tr id="i155" class="rowColor">
 <td class="colFirst"><code>java.util.concurrent.CompletableFuture&lt;java.lang.Void&gt;</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setMaxUnackedMessagesOnConsumerAsync(java.lang.String,int)">setMaxUnackedMessagesOnConsumerAsync</a></span>&#8203;(java.lang.String&nbsp;topic,
                                     int&nbsp;maxNum)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i150" class="altColor">
+<tr id="i156" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setMaxUnackedMessagesOnSubscription(java.lang.String,int)">setMaxUnackedMessagesOnSubscription</a></span>&#8203;(java.lang.String&nbsp;topic,
                                    int&nbsp;maxNum)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i151" class="rowColor">
+<tr id="i157" class="rowColor">
 <td class="colFirst"><code>java.util.concurrent.CompletableFuture&lt;java.lang.Void&gt;</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setMaxUnackedMessagesOnSubscriptionAsync(java.lang.String,int)">setMaxUnackedMessagesOnSubscriptionAsync</a></span>&#8203;(java.lang.String&nbsp;topic,
                                         int&nbsp;maxNum)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i152" class="altColor">
+<tr id="i158" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setMessageTTL(java.lang.String,int)">setMessageTTL</a></span>&#8203;(java.lang.String&nbsp;topic,
              int&nbsp;messageTTLInSecond)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i153" class="rowColor">
+<tr id="i159" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setOffloadPolicies(java.lang.String,org.apache.pulsar.common.policies.data.OffloadPolicies)">setOffloadPolicies</a></span>&#8203;(java.lang.String&nbsp;topic,
                   org.apache.pulsar.common.policies.data.OffloadPolicies&nbsp;offloadPolicies)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i154" class="altColor">
+<tr id="i160" class="altColor">
 <td class="colFirst"><code>java.util.concurrent.CompletableFuture&lt;java.lang.Void&gt;</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setOffloadPoliciesAsync(java.lang.String,org.apache.pulsar.common.policies.data.OffloadPolicies)">setOffloadPoliciesAsync</a></span>&#8203;(java.lang.String&nbsp;topic,
                        org.apache.pulsar.common.policies.data.OffloadPolicies&nbsp;offloadPolicies)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i155" class="rowColor">
+<tr id="i161" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setPersistence(java.lang.String,org.apache.pulsar.common.policies.data.PersistencePolicies)">setPersistence</a></span>&#8203;(java.lang.String&nbsp;topic,
               org.apache.pulsar.common.policies.data.PersistencePolicies&nbsp;persistencePolicies)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i156" class="altColor">
+<tr id="i162" class="altColor">
 <td class="colFirst"><code>java.util.concurrent.CompletableFuture&lt;java.lang.Void&gt;</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setPersistenceAsync(java.lang.String,org.apache.pulsar.common.policies.data.PersistencePolicies)">setPersistenceAsync</a></span>&#8203;(java.lang.String&nbsp;topic,
                    org.apache.pulsar.common.policies.data.PersistencePolicies&nbsp;persistencePolicies)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i157" class="rowColor">
+<tr id="i163" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setPublishRate(java.lang.String,org.apache.pulsar.common.policies.data.PublishRate)">setPublishRate</a></span>&#8203;(java.lang.String&nbsp;topic,
               org.apache.pulsar.common.policies.data.PublishRate&nbsp;publishRate)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i158" class="altColor">
+<tr id="i164" class="altColor">
 <td class="colFirst"><code>java.util.concurrent.CompletableFuture&lt;java.lang.Void&gt;</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setPublishRateAsync(java.lang.String,org.apache.pulsar.common.policies.data.PublishRate)">setPublishRateAsync</a></span>&#8203;(java.lang.String&nbsp;topic,
                    org.apache.pulsar.common.policies.data.PublishRate&nbsp;publishRate)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i159" class="rowColor">
+<tr id="i165" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setReplicatorDispatchRate(java.lang.String,org.apache.pulsar.common.policies.data.DispatchRate)">setReplicatorDispatchRate</a></span>&#8203;(java.lang.String&nbsp;topic,
                          org.apache.pulsar.common.policies.data.DispatchRate&nbsp;dispatchRate)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i160" class="altColor">
+<tr id="i166" class="altColor">
 <td class="colFirst"><code>java.util.concurrent.CompletableFuture&lt;java.lang.Void&gt;</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setReplicatorDispatchRateAsync(java.lang.String,org.apache.pulsar.common.policies.data.DispatchRate)">setReplicatorDispatchRateAsync</a></span>&#8203;(java.lang.String&nbsp;topic,
                               org.apache.pulsar.common.policies.data.DispatchRate&nbsp;dispatchRate)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i161" class="rowColor">
+<tr id="i167" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setRetention(java.lang.String,org.apache.pulsar.common.policies.data.RetentionPolicies)">setRetention</a></span>&#8203;(java.lang.String&nbsp;topic,
             org.apache.pulsar.common.policies.data.RetentionPolicies&nbsp;retention)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i162" class="altColor">
+<tr id="i168" class="altColor">
 <td class="colFirst"><code>java.util.concurrent.CompletableFuture&lt;java.lang.Void&gt;</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setRetentionAsync(java.lang.String,org.apache.pulsar.common.policies.data.RetentionPolicies)">setRetentionAsync</a></span>&#8203;(java.lang.String&nbsp;topic,
                  org.apache.pulsar.common.policies.data.RetentionPolicies&nbsp;retention)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i163" class="rowColor">
+<tr id="i169" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setSchemaCompatibilityStrategy(java.lang.String,org.apache.pulsar.common.policies.data.SchemaCompatibilityStrategy)">setSchemaCompatibilityStrategy</a></span>&#8203;(java.lang.String&nbsp;topic,
                               org.apache.pulsar.common.policies.data.SchemaCompatibilityStrategy&nbsp;strategy)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i164" class="altColor">
+<tr id="i170" class="altColor">
 <td class="colFirst"><code>java.util.concurrent.CompletableFuture&lt;java.lang.Void&gt;</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setSchemaCompatibilityStrategyAsync(java.lang.String,org.apache.pulsar.common.policies.data.SchemaCompatibilityStrategy)">setSchemaCompatibilityStrategyAsync</a></span>&#8203;(java.lang.String&nbsp;topic,
                                    org.apache.pulsar.common.policies.data.SchemaCompatibilityStrategy&nbsp;strategy)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i165" class="rowColor">
+<tr id="i171" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setSubscribeRate(java.lang.String,org.apache.pulsar.common.policies.data.SubscribeRate)">setSubscribeRate</a></span>&#8203;(java.lang.String&nbsp;topic,
                 org.apache.pulsar.common.policies.data.SubscribeRate&nbsp;subscribeRate)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i166" class="altColor">
+<tr id="i172" class="altColor">
 <td class="colFirst"><code>java.util.concurrent.CompletableFuture&lt;java.lang.Void&gt;</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setSubscribeRateAsync(java.lang.String,org.apache.pulsar.common.policies.data.SubscribeRate)">setSubscribeRateAsync</a></span>&#8203;(java.lang.String&nbsp;topic,
                      org.apache.pulsar.common.policies.data.SubscribeRate&nbsp;subscribeRate)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i167" class="rowColor">
+<tr id="i173" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setSubscriptionDispatchRate(java.lang.String,java.lang.String,org.apache.pulsar.common.policies.data.DispatchRate)">setSubscriptionDispatchRate</a></span>&#8203;(java.lang.String&nbsp;topic,
+                           java.lang.String&nbsp;subscriptionName,
+                           org.apache.pulsar.common.policies.data.DispatchRate&nbsp;dispatchRate)</code></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr id="i174" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setSubscriptionDispatchRate(java.lang.String,org.apache.pulsar.common.policies.data.DispatchRate)">setSubscriptionDispatchRate</a></span>&#8203;(java.lang.String&nbsp;topic,
                            org.apache.pulsar.common.policies.data.DispatchRate&nbsp;dispatchRate)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i168" class="altColor">
+<tr id="i175" class="rowColor">
+<td class="colFirst"><code>java.util.concurrent.CompletableFuture&lt;java.lang.Void&gt;</code></td>
+<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setSubscriptionDispatchRateAsync(java.lang.String,java.lang.String,org.apache.pulsar.common.policies.data.DispatchRate)">setSubscriptionDispatchRateAsync</a></span>&#8203;(java.lang.String&nbsp;topic,
+                                java.lang.String&nbsp;subscriptionName,
+                                org.apache.pulsar.common.policies.data.DispatchRate&nbsp;dispatchRate)</code></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr id="i176" class="altColor">
 <td class="colFirst"><code>java.util.concurrent.CompletableFuture&lt;java.lang.Void&gt;</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setSubscriptionDispatchRateAsync(java.lang.String,org.apache.pulsar.common.policies.data.DispatchRate)">setSubscriptionDispatchRateAsync</a></span>&#8203;(java.lang.String&nbsp;topic,
                                 org.apache.pulsar.common.policies.data.DispatchRate&nbsp;dispatchRate)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i169" class="rowColor">
+<tr id="i177" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setSubscriptionTypesEnabled(java.lang.String,java.util.Set)">setSubscriptionTypesEnabled</a></span>&#8203;(java.lang.String&nbsp;topic,
                            java.util.Set&lt;org.apache.pulsar.client.api.SubscriptionType&gt;&nbsp;subscriptionTypesEnabled)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i170" class="altColor">
+<tr id="i178" class="altColor">
 <td class="colFirst"><code>java.util.concurrent.CompletableFuture&lt;java.lang.Void&gt;</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setSubscriptionTypesEnabledAsync(java.lang.String,java.util.Set)">setSubscriptionTypesEnabledAsync</a></span>&#8203;(java.lang.String&nbsp;topic,
                                 java.util.Set&lt;org.apache.pulsar.client.api.SubscriptionType&gt;&nbsp;subscriptionTypesEnabled)</code></th>
@@ -2546,6 +2598,134 @@ implements org.apache.pulsar.client.admin.TopicPolicies</pre>
 </dl>
 </li>
 </ul>
+<a id="setSubscriptionDispatchRate(java.lang.String,java.lang.String,org.apache.pulsar.common.policies.data.DispatchRate)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setSubscriptionDispatchRate</h4>
+<pre class="methodSignature">public&nbsp;void&nbsp;setSubscriptionDispatchRate&#8203;(java.lang.String&nbsp;topic,
+                                        java.lang.String&nbsp;subscriptionName,
+                                        org.apache.pulsar.common.policies.data.DispatchRate&nbsp;dispatchRate)
+                                 throws org.apache.pulsar.client.admin.PulsarAdminException</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code>setSubscriptionDispatchRate</code>&nbsp;in interface&nbsp;<code>org.apache.pulsar.client.admin.TopicPolicies</code></dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code>org.apache.pulsar.client.admin.PulsarAdminException</code></dd>
+</dl>
+</li>
+</ul>
+<a id="setSubscriptionDispatchRateAsync(java.lang.String,java.lang.String,org.apache.pulsar.common.policies.data.DispatchRate)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setSubscriptionDispatchRateAsync</h4>
+<pre class="methodSignature">public&nbsp;java.util.concurrent.CompletableFuture&lt;java.lang.Void&gt;&nbsp;setSubscriptionDispatchRateAsync&#8203;(java.lang.String&nbsp;topic,
+                                                                                               java.lang.String&nbsp;subscriptionName,
+                                                                                               org.apache.pulsar.common.policies.data.DispatchRate&nbsp;dispatchRate)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code>setSubscriptionDispatchRateAsync</code>&nbsp;in interface&nbsp;<code>org.apache.pulsar.client.admin.TopicPolicies</code></dd>
+</dl>
+</li>
+</ul>
+<a id="getSubscriptionDispatchRate(java.lang.String,java.lang.String,boolean)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getSubscriptionDispatchRate</h4>
+<pre class="methodSignature">public&nbsp;org.apache.pulsar.common.policies.data.DispatchRate&nbsp;getSubscriptionDispatchRate&#8203;(java.lang.String&nbsp;topic,
+                                                                                       java.lang.String&nbsp;subscriptionName,
+                                                                                       boolean&nbsp;applied)
+                                                                                throws org.apache.pulsar.client.admin.PulsarAdminException</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code>getSubscriptionDispatchRate</code>&nbsp;in interface&nbsp;<code>org.apache.pulsar.client.admin.TopicPolicies</code></dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code>org.apache.pulsar.client.admin.PulsarAdminException</code></dd>
+</dl>
+</li>
+</ul>
+<a id="getSubscriptionDispatchRateAsync(java.lang.String,java.lang.String,boolean)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getSubscriptionDispatchRateAsync</h4>
+<pre class="methodSignature">public&nbsp;java.util.concurrent.CompletableFuture&lt;org.apache.pulsar.common.policies.data.DispatchRate&gt;&nbsp;getSubscriptionDispatchRateAsync&#8203;(java.lang.String&nbsp;topic,
+                                                                                                                                    java.lang.String&nbsp;subscriptionName,
+                                                                                                                                    boolean&nbsp;applied)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code>getSubscriptionDispatchRateAsync</code>&nbsp;in interface&nbsp;<code>org.apache.pulsar.client.admin.TopicPolicies</code></dd>
+</dl>
+</li>
+</ul>
+<a id="getSubscriptionDispatchRate(java.lang.String,java.lang.String)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getSubscriptionDispatchRate</h4>
+<pre class="methodSignature">public&nbsp;org.apache.pulsar.common.policies.data.DispatchRate&nbsp;getSubscriptionDispatchRate&#8203;(java.lang.String&nbsp;topic,
+                                                                                       java.lang.String&nbsp;subscriptionName)
+                                                                                throws org.apache.pulsar.client.admin.PulsarAdminException</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code>getSubscriptionDispatchRate</code>&nbsp;in interface&nbsp;<code>org.apache.pulsar.client.admin.TopicPolicies</code></dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code>org.apache.pulsar.client.admin.PulsarAdminException</code></dd>
+</dl>
+</li>
+</ul>
+<a id="getSubscriptionDispatchRateAsync(java.lang.String,java.lang.String)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getSubscriptionDispatchRateAsync</h4>
+<pre class="methodSignature">public&nbsp;java.util.concurrent.CompletableFuture&lt;org.apache.pulsar.common.policies.data.DispatchRate&gt;&nbsp;getSubscriptionDispatchRateAsync&#8203;(java.lang.String&nbsp;topic,
+                                                                                                                                    java.lang.String&nbsp;subscriptionName)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code>getSubscriptionDispatchRateAsync</code>&nbsp;in interface&nbsp;<code>org.apache.pulsar.client.admin.TopicPolicies</code></dd>
+</dl>
+</li>
+</ul>
+<a id="removeSubscriptionDispatchRate(java.lang.String,java.lang.String)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>removeSubscriptionDispatchRate</h4>
+<pre class="methodSignature">public&nbsp;void&nbsp;removeSubscriptionDispatchRate&#8203;(java.lang.String&nbsp;topic,
+                                           java.lang.String&nbsp;subscriptionName)
+                                    throws org.apache.pulsar.client.admin.PulsarAdminException</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code>removeSubscriptionDispatchRate</code>&nbsp;in interface&nbsp;<code>org.apache.pulsar.client.admin.TopicPolicies</code></dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code>org.apache.pulsar.client.admin.PulsarAdminException</code></dd>
+</dl>
+</li>
+</ul>
+<a id="removeSubscriptionDispatchRateAsync(java.lang.String,java.lang.String)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>removeSubscriptionDispatchRateAsync</h4>
+<pre class="methodSignature">public&nbsp;java.util.concurrent.CompletableFuture&lt;java.lang.Void&gt;&nbsp;removeSubscriptionDispatchRateAsync&#8203;(java.lang.String&nbsp;topic,
+                                                                                                  java.lang.String&nbsp;subscriptionName)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code>removeSubscriptionDispatchRateAsync</code>&nbsp;in interface&nbsp;<code>org.apache.pulsar.client.admin.TopicPolicies</code></dd>
+</dl>
+</li>
+</ul>
 <a id="getCompactionThreshold(java.lang.String)">
 <!--   -->
 </a>
diff --git a/content/api/admin/2.11.0-SNAPSHOT/overview-summary.html b/content/api/admin/2.11.0-SNAPSHOT/overview-summary.html
index 91f866676a3..60fa54d2f8f 100644
--- a/content/api/admin/2.11.0-SNAPSHOT/overview-summary.html
+++ b/content/api/admin/2.11.0-SNAPSHOT/overview-summary.html
@@ -2,7 +2,7 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (11.0.11) on Fri May 06 12:11:17 UTC 2022 -->
+<!-- Generated by javadoc (11.0.11) on Fri May 06 18:09:59 UTC 2022 -->
 <title>Pulsar Client Admin Original 2.11.0-SNAPSHOT API</title>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 <script type="text/javascript">window.location.replace('index.html')</script>
diff --git a/content/api/admin/2.11.0-SNAPSHOT/package-search-index.zip b/content/api/admin/2.11.0-SNAPSHOT/package-search-index.zip
index de695e10e7c..6dc13dfc836 100644
Binary files a/content/api/admin/2.11.0-SNAPSHOT/package-search-index.zip and b/content/api/admin/2.11.0-SNAPSHOT/package-search-index.zip differ
diff --git a/content/api/admin/2.11.0-SNAPSHOT/type-search-index.zip b/content/api/admin/2.11.0-SNAPSHOT/type-search-index.zip
index 6345824abed..0a7e430e894 100644
Binary files a/content/api/admin/2.11.0-SNAPSHOT/type-search-index.zip and b/content/api/admin/2.11.0-SNAPSHOT/type-search-index.zip differ
diff --git a/content/api/client/2.11.0-SNAPSHOT/member-search-index.zip b/content/api/client/2.11.0-SNAPSHOT/member-search-index.zip
index d13c25a7b5b..f1bd9678c90 100644
Binary files a/content/api/client/2.11.0-SNAPSHOT/member-search-index.zip and b/content/api/client/2.11.0-SNAPSHOT/member-search-index.zip differ
diff --git a/content/api/client/2.11.0-SNAPSHOT/overview-summary.html b/content/api/client/2.11.0-SNAPSHOT/overview-summary.html
index a4b6dc520ef..9021b6d7f3b 100644
--- a/content/api/client/2.11.0-SNAPSHOT/overview-summary.html
+++ b/content/api/client/2.11.0-SNAPSHOT/overview-summary.html
@@ -2,7 +2,7 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (11.0.11) on Fri May 06 12:11:08 UTC 2022 -->
+<!-- Generated by javadoc (11.0.11) on Fri May 06 18:09:50 UTC 2022 -->
 <title>Pulsar Client :: API 2.11.0-SNAPSHOT API</title>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 <script type="text/javascript">window.location.replace('index.html')</script>
diff --git a/content/api/client/2.11.0-SNAPSHOT/package-search-index.zip b/content/api/client/2.11.0-SNAPSHOT/package-search-index.zip
index 0396a6e9d4e..305a5d3c766 100644
Binary files a/content/api/client/2.11.0-SNAPSHOT/package-search-index.zip and b/content/api/client/2.11.0-SNAPSHOT/package-search-index.zip differ
diff --git a/content/api/client/2.11.0-SNAPSHOT/type-search-index.zip b/content/api/client/2.11.0-SNAPSHOT/type-search-index.zip
index fc241d6c1a9..f35e4eaa81a 100644
Binary files a/content/api/client/2.11.0-SNAPSHOT/type-search-index.zip and b/content/api/client/2.11.0-SNAPSHOT/type-search-index.zip differ
diff --git a/content/api/pulsar-broker/2.11.0-SNAPSHOT/index-all.html b/content/api/pulsar-broker/2.11.0-SNAPSHOT/index-all.html
index 22dfd560a14..6018da771bd 100644
--- a/content/api/pulsar-broker/2.11.0-SNAPSHOT/index-all.html
+++ b/content/api/pulsar-broker/2.11.0-SNAPSHOT/index-all.html
@@ -2732,6 +2732,8 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/broker/service/persistent/DispatchRateLimiter.html#%3Cinit%3E(org.apache.pulsar.broker.service.BrokerService)">DispatchRateLimiter(BrokerService)</a></span> - Constructor for class org.apache.pulsar.broker.service.persistent.<a href="org/apache/pulsar/broker/service/persistent/DispatchRateLimiter.html" title="class in org.apache.pulsar.broker.service.persistent">DispatchRateLimiter</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/pulsar/broker/service/persistent/DispatchRateLimiter.html#%3Cinit%3E(org.apache.pulsar.broker.service.persistent.PersistentTopic,java.lang.String,org.apache.pulsar.broker.service.persistent.DispatchRateLimiter.Type)">DispatchRateLimiter(PersistentTopic, String, DispatchRateLimiter.Type)</a></span> - Constructor for class org.apache.pulsar.broker.service.persistent.<a href="org/apache/pulsar/broker/service/persistent/DispatchRateLimiter [...]
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/broker/service/persistent/DispatchRateLimiter.html#%3Cinit%3E(org.apache.pulsar.broker.service.persistent.PersistentTopic,org.apache.pulsar.broker.service.persistent.DispatchRateLimiter.Type)">DispatchRateLimiter(PersistentTopic, DispatchRateLimiter.Type)</a></span> - Constructor for class org.apache.pulsar.broker.service.persistent.<a href="org/apache/pulsar/broker/service/persistent/DispatchRateLimiter.html" title="class in or [...]
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/pulsar/broker/service/persistent/DispatchRateLimiter.Type.html" title="enum in org.apache.pulsar.broker.service.persistent"><span class="typeNameLink">DispatchRateLimiter.Type</span></a> - Enum in <a href="org/apache/pulsar/broker/service/persistent/package-summary.html">org.apache.pulsar.broker.service.persistent</a></dt>
@@ -5600,7 +5602,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/broker/admin/v1/Namespaces.html#getSubscriptionAuthMode(java.lang.String,java.lang.String,java.lang.String)">getSubscriptionAuthMode(String, String, String)</a></span> - Method in class org.apache.pulsar.broker.admin.v1.<a href="org/apache/pulsar/broker/admin/v1/Namespaces.html" title="class in org.apache.pulsar.broker.admin.v1">Namespaces</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/pulsar/broker/service/AbstractTopic.html#getSubscriptionDispatchRate()">getSubscriptionDispatchRate()</a></span> - Method in class org.apache.pulsar.broker.service.<a href="org/apache/pulsar/broker/service/AbstractTopic.html" title="class in org.apache.pulsar.broker.service">AbstractTopic</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/pulsar/broker/service/AbstractTopic.html#getSubscriptionDispatchRate(java.lang.String)">getSubscriptionDispatchRate(String)</a></span> - Method in class org.apache.pulsar.broker.service.<a href="org/apache/pulsar/broker/service/AbstractTopic.html" title="class in org.apache.pulsar.broker.service">AbstractTopic</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/broker/admin/v2/Namespaces.html#getSubscriptionDispatchRate(java.lang.String,java.lang.String)">getSubscriptionDispatchRate(String, String)</a></span> - Method in class org.apache.pulsar.broker.admin.v2.<a href="org/apache/pulsar/broker/admin/v2/Namespaces.html" title="class in org.apache.pulsar.broker.admin.v2">Namespaces</a></dt>
 <dd>&nbsp;</dd>
@@ -5612,6 +5614,10 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/broker/admin/v1/Namespaces.html#getSubscriptionExpirationTime(java.lang.String,java.lang.String,java.lang.String)">getSubscriptionExpirationTime(String, String, String)</a></span> - Method in class org.apache.pulsar.broker.admin.v1.<a href="org/apache/pulsar/broker/admin/v1/Namespaces.html" title="class in org.apache.pulsar.broker.admin.v1">Namespaces</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/pulsar/broker/admin/v2/PersistentTopics.html#getSubscriptionLevelDispatchRate(javax.ws.rs.container.AsyncResponse,java.lang.String,java.lang.String,java.lang.String,java.lang.String,boolean,boolean,boolean)">getSubscriptionLevelDispatchRate(AsyncResponse, String, String, String, String, boolean, boolean, boolean)</a></span> - Method in class org.apache.pulsar.broker.admin.v2.<a href="org/apache/pulsar/broker/admin/v2/PersistentTopics.h [...]
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/pulsar/broker/service/AbstractBaseDispatcher.html#getSubscriptionName()">getSubscriptionName()</a></span> - Method in class org.apache.pulsar.broker.service.<a href="org/apache/pulsar/broker/service/AbstractBaseDispatcher.html" title="class in org.apache.pulsar.broker.service">AbstractBaseDispatcher</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/broker/service/persistent/PersistentSubscription.html#getSubscriptionProperties()">getSubscriptionProperties()</a></span> - Method in class org.apache.pulsar.broker.service.persistent.<a href="org/apache/pulsar/broker/service/persistent/PersistentSubscription.html" title="class in org.apache.pulsar.broker.service.persistent">PersistentSubscription</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/broker/service/nonpersistent/NonPersistentTopic.html#getSubscriptions()">getSubscriptions()</a></span> - Method in class org.apache.pulsar.broker.service.nonpersistent.<a href="org/apache/pulsar/broker/service/nonpersistent/NonPersistentTopic.html" title="class in org.apache.pulsar.broker.service.nonpersistent">NonPersistentTopic</a></dt>
@@ -7090,6 +7096,8 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/broker/admin/impl/PersistentTopicsBase.html#internalGetSubscriptionDispatchRate(boolean,boolean)">internalGetSubscriptionDispatchRate(boolean, boolean)</a></span> - Method in class org.apache.pulsar.broker.admin.impl.<a href="org/apache/pulsar/broker/admin/impl/PersistentTopicsBase.html" title="class in org.apache.pulsar.broker.admin.impl">PersistentTopicsBase</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/pulsar/broker/admin/impl/PersistentTopicsBase.html#internalGetSubscriptionLevelDispatchRate(java.lang.String,boolean,boolean)">internalGetSubscriptionLevelDispatchRate(String, boolean, boolean)</a></span> - Method in class org.apache.pulsar.broker.admin.impl.<a href="org/apache/pulsar/broker/admin/impl/PersistentTopicsBase.html" title="class in org.apache.pulsar.broker.admin.impl">PersistentTopicsBase</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/broker/admin/impl/PersistentTopicsBase.html#internalGetSubscriptions(javax.ws.rs.container.AsyncResponse,boolean)">internalGetSubscriptions(AsyncResponse, boolean)</a></span> - Method in class org.apache.pulsar.broker.admin.impl.<a href="org/apache/pulsar/broker/admin/impl/PersistentTopicsBase.html" title="class in org.apache.pulsar.broker.admin.impl">PersistentTopicsBase</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/broker/admin/impl/NamespacesBase.html#internalGetSubscriptionTypesEnabled()">internalGetSubscriptionTypesEnabled()</a></span> - Method in class org.apache.pulsar.broker.admin.impl.<a href="org/apache/pulsar/broker/admin/impl/NamespacesBase.html" title="class in org.apache.pulsar.broker.admin.impl">NamespacesBase</a></dt>
@@ -7180,6 +7188,8 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/broker/admin/impl/PersistentTopicsBase.html#internalRemoveSubscriptionDispatchRate(boolean)">internalRemoveSubscriptionDispatchRate(boolean)</a></span> - Method in class org.apache.pulsar.broker.admin.impl.<a href="org/apache/pulsar/broker/admin/impl/PersistentTopicsBase.html" title="class in org.apache.pulsar.broker.admin.impl">PersistentTopicsBase</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/pulsar/broker/admin/impl/PersistentTopicsBase.html#internalRemoveSubscriptionLevelDispatchRate(java.lang.String,boolean)">internalRemoveSubscriptionLevelDispatchRate(String, boolean)</a></span> - Method in class org.apache.pulsar.broker.admin.impl.<a href="org/apache/pulsar/broker/admin/impl/PersistentTopicsBase.html" title="class in org.apache.pulsar.broker.admin.impl">PersistentTopicsBase</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/broker/admin/impl/PersistentTopicsBase.html#internalRemoveSubscriptionTypesEnabled(boolean)">internalRemoveSubscriptionTypesEnabled(boolean)</a></span> - Method in class org.apache.pulsar.broker.admin.impl.<a href="org/apache/pulsar/broker/admin/impl/PersistentTopicsBase.html" title="class in org.apache.pulsar.broker.admin.impl">PersistentTopicsBase</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/broker/admin/impl/PersistentTopicsBase.html#internalResetCursor(javax.ws.rs.container.AsyncResponse,java.lang.String,long,boolean)">internalResetCursor(AsyncResponse, String, long, boolean)</a></span> - Method in class org.apache.pulsar.broker.admin.impl.<a href="org/apache/pulsar/broker/admin/impl/PersistentTopicsBase.html" title="class in org.apache.pulsar.broker.admin.impl">PersistentTopicsBase</a></dt>
@@ -7324,6 +7334,8 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/broker/admin/impl/NamespacesBase.html#internalSetSubscriptionExpirationTime(java.lang.Integer)">internalSetSubscriptionExpirationTime(Integer)</a></span> - Method in class org.apache.pulsar.broker.admin.impl.<a href="org/apache/pulsar/broker/admin/impl/NamespacesBase.html" title="class in org.apache.pulsar.broker.admin.impl">NamespacesBase</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/pulsar/broker/admin/impl/PersistentTopicsBase.html#internalSetSubscriptionLevelDispatchRate(java.lang.String,org.apache.pulsar.common.policies.data.impl.DispatchRateImpl,boolean)">internalSetSubscriptionLevelDispatchRate(String, DispatchRateImpl, boolean)</a></span> - Method in class org.apache.pulsar.broker.admin.impl.<a href="org/apache/pulsar/broker/admin/impl/PersistentTopicsBase.html" title="class in org.apache.pulsar.broker.admin [...]
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/broker/admin/impl/NamespacesBase.html#internalSetSubscriptionTypesEnabled(java.util.Set)">internalSetSubscriptionTypesEnabled(Set&lt;SubscriptionType&gt;)</a></span> - Method in class org.apache.pulsar.broker.admin.impl.<a href="org/apache/pulsar/broker/admin/impl/NamespacesBase.html" title="class in org.apache.pulsar.broker.admin.impl">NamespacesBase</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/broker/admin/impl/PersistentTopicsBase.html#internalSetSubscriptionTypesEnabled(java.util.Set,boolean)">internalSetSubscriptionTypesEnabled(Set&lt;SubscriptionType&gt;, boolean)</a></span> - Method in class org.apache.pulsar.broker.admin.impl.<a href="org/apache/pulsar/broker/admin/impl/PersistentTopicsBase.html" title="class in org.apache.pulsar.broker.admin.impl">PersistentTopicsBase</a></dt>
@@ -10564,6 +10576,8 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/broker/admin/v1/Namespaces.html#removeSubscriptionExpirationTime(java.lang.String,java.lang.String,java.lang.String)">removeSubscriptionExpirationTime(String, String, String)</a></span> - Method in class org.apache.pulsar.broker.admin.v1.<a href="org/apache/pulsar/broker/admin/v1/Namespaces.html" title="class in org.apache.pulsar.broker.admin.v1">Namespaces</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/pulsar/broker/admin/v2/PersistentTopics.html#removeSubscriptionLevelDispatchRate(javax.ws.rs.container.AsyncResponse,java.lang.String,java.lang.String,java.lang.String,java.lang.String,boolean,boolean)">removeSubscriptionLevelDispatchRate(AsyncResponse, String, String, String, String, boolean, boolean)</a></span> - Method in class org.apache.pulsar.broker.admin.v2.<a href="org/apache/pulsar/broker/admin/v2/PersistentTopics.html" title= [...]
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/broker/admin/v2/Namespaces.html#removeSubscriptionTypesEnabled(java.lang.String,java.lang.String)">removeSubscriptionTypesEnabled(String, String)</a></span> - Method in class org.apache.pulsar.broker.admin.v2.<a href="org/apache/pulsar/broker/admin/v2/Namespaces.html" title="class in org.apache.pulsar.broker.admin.v2">Namespaces</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/broker/admin/v2/PersistentTopics.html#removeSubscriptionTypesEnabled(javax.ws.rs.container.AsyncResponse,java.lang.String,java.lang.String,java.lang.String,boolean,boolean)">removeSubscriptionTypesEnabled(AsyncResponse, String, String, String, boolean, boolean)</a></span> - Method in class org.apache.pulsar.broker.admin.v2.<a href="org/apache/pulsar/broker/admin/v2/PersistentTopics.html" title="class in org.apache.pulsar.broker. [...]
@@ -11794,6 +11808,8 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/broker/admin/v1/Namespaces.html#setSubscriptionExpirationTime(java.lang.String,java.lang.String,java.lang.String,int)">setSubscriptionExpirationTime(String, String, String, int)</a></span> - Method in class org.apache.pulsar.broker.admin.v1.<a href="org/apache/pulsar/broker/admin/v1/Namespaces.html" title="class in org.apache.pulsar.broker.admin.v1">Namespaces</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/pulsar/broker/admin/v2/PersistentTopics.html#setSubscriptionLevelDispatchRate(javax.ws.rs.container.AsyncResponse,java.lang.String,java.lang.String,java.lang.String,java.lang.String,boolean,boolean,org.apache.pulsar.common.policies.data.impl.DispatchRateImpl)">setSubscriptionLevelDispatchRate(AsyncResponse, String, String, String, String, boolean, boolean, DispatchRateImpl)</a></span> - Method in class org.apache.pulsar.broker.admin.v2 [...]
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/broker/admin/v2/Namespaces.html#setSubscriptionTypesEnabled(java.lang.String,java.lang.String,java.util.Set)">setSubscriptionTypesEnabled(String, String, Set&lt;SubscriptionType&gt;)</a></span> - Method in class org.apache.pulsar.broker.admin.v2.<a href="org/apache/pulsar/broker/admin/v2/Namespaces.html" title="class in org.apache.pulsar.broker.admin.v2">Namespaces</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/broker/admin/v2/PersistentTopics.html#setSubscriptionTypesEnabled(javax.ws.rs.container.AsyncResponse,java.lang.String,java.lang.String,java.lang.String,boolean,boolean,java.util.Set)">setSubscriptionTypesEnabled(AsyncResponse, String, String, String, boolean, boolean, Set&lt;SubscriptionType&gt;)</a></span> - Method in class org.apache.pulsar.broker.admin.v2.<a href="org/apache/pulsar/broker/admin/v2/PersistentTopics.html" titl [...]
diff --git a/content/api/pulsar-broker/2.11.0-SNAPSHOT/member-search-index.js b/content/api/pulsar-broker/2.11.0-SNAPSHOT/member-search-index.js
index c562e77c595..fa78f8aaacc 100644
--- a/content/api/pulsar-broker/2.11.0-SNAPSHOT/member-search-index.js
+++ b/content/api/pulsar-broker/2.11.0-SNAPSHOT/member-search-index.js
@@ -1 +1 @@
-memberSearchIndex = [{"p":"org.apache.pulsar.broker.transaction.pendingack.proto","c":"PendingAckOp","l":"ABORT"},{"p":"org.apache.pulsar.broker.transaction.pendingack.proto","c":"PendingAckOp","l":"ABORT_VALUE"},{"p":"org.apache.pulsar.broker.stats.prometheus","c":"AggregatedTransactionCoordinatorStats","l":"abortedCount"},{"p":"org.apache.pulsar.broker.transaction.buffer","c":"TransactionMeta","l":"abortTxn()"},{"p":"org.apache.pulsar.broker.transaction.pendingack","c":"PendingAckHandl [...]
\ No newline at end of file
+memberSearchIndex = [{"p":"org.apache.pulsar.broker.transaction.pendingack.proto","c":"PendingAckOp","l":"ABORT"},{"p":"org.apache.pulsar.broker.transaction.pendingack.proto","c":"PendingAckOp","l":"ABORT_VALUE"},{"p":"org.apache.pulsar.broker.stats.prometheus","c":"AggregatedTransactionCoordinatorStats","l":"abortedCount"},{"p":"org.apache.pulsar.broker.transaction.buffer","c":"TransactionMeta","l":"abortTxn()"},{"p":"org.apache.pulsar.broker.transaction.pendingack","c":"PendingAckHandl [...]
\ No newline at end of file
diff --git a/content/api/pulsar-broker/2.11.0-SNAPSHOT/member-search-index.zip b/content/api/pulsar-broker/2.11.0-SNAPSHOT/member-search-index.zip
index ca821e522b0..517270f3c53 100644
Binary files a/content/api/pulsar-broker/2.11.0-SNAPSHOT/member-search-index.zip and b/content/api/pulsar-broker/2.11.0-SNAPSHOT/member-search-index.zip differ
diff --git a/content/api/pulsar-broker/2.11.0-SNAPSHOT/org/apache/pulsar/broker/admin/impl/PersistentTopicsBase.html b/content/api/pulsar-broker/2.11.0-SNAPSHOT/org/apache/pulsar/broker/admin/impl/PersistentTopicsBase.html
index 50600a220e2..1bcb3968364 100644
--- a/content/api/pulsar-broker/2.11.0-SNAPSHOT/org/apache/pulsar/broker/admin/impl/PersistentTopicsBase.html
+++ b/content/api/pulsar-broker/2.11.0-SNAPSHOT/org/apache/pulsar/broker/admin/impl/PersistentTopicsBase.html
@@ -26,7 +26,7 @@
     catch(err) {
     }
 //-->
-var data = {"i0":9,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10,"i35":10,"i36":10,"i37":10,"i38":10,"i39":10,"i40":10,"i41":10,"i42":10,"i43":10,"i44":10,"i45":10,"i46":10,"i47":10,"i48":10,"i49":10,"i50":10,"i51":10,"i52":10,"i53":10,"i54" [...]
+var data = {"i0":9,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10,"i35":10,"i36":10,"i37":10,"i38":10,"i39":10,"i40":10,"i41":10,"i42":10,"i43":10,"i44":10,"i45":10,"i46":10,"i47":10,"i48":10,"i49":10,"i50":10,"i51":10,"i52":10,"i53":10,"i54" [...]
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -569,97 +569,110 @@ extends <a href="../AdminResource.html" title="class in org.apache.pulsar.broker
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr id="i57" class="rowColor">
+<td class="colFirst"><code>protected java.util.concurrent.CompletableFuture&lt;org.apache.pulsar.common.policies.data.DispatchRate&gt;</code></td>
+<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#internalGetSubscriptionLevelDispatchRate(java.lang.String,boolean,boolean)">internalGetSubscriptionLevelDispatchRate</a></span>&#8203;(java.lang.String&nbsp;subName,
+                                        boolean&nbsp;applied,
+                                        boolean&nbsp;isGlobal)</code></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr id="i58" class="altColor">
 <td class="colFirst"><code>protected void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#internalGetSubscriptions(javax.ws.rs.container.AsyncResponse,boolean)">internalGetSubscriptions</a></span>&#8203;(javax.ws.rs.container.AsyncResponse&nbsp;asyncResponse,
                         boolean&nbsp;authoritative)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i58" class="altColor">
+<tr id="i59" class="rowColor">
 <td class="colFirst"><code>protected java.util.concurrent.CompletableFuture&lt;java.util.Optional&lt;java.util.List&lt;org.apache.pulsar.common.api.proto.CommandSubscribe.SubType&gt;&gt;&gt;</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#internalGetSubscriptionTypesEnabled(boolean)">internalGetSubscriptionTypesEnabled</a></span>&#8203;(boolean&nbsp;isGlobal)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i59" class="rowColor">
+<tr id="i60" class="altColor">
 <td class="colFirst"><code>protected void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#internalGrantPermissionsOnTopic(javax.ws.rs.container.AsyncResponse,java.lang.String,java.util.Set)">internalGrantPermissionsOnTopic</a></span>&#8203;(javax.ws.rs.container.AsyncResponse&nbsp;asyncResponse,
                                java.lang.String&nbsp;role,
                                java.util.Set&lt;org.apache.pulsar.common.policies.data.AuthAction&gt;&nbsp;actions)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i60" class="altColor">
+<tr id="i61" class="rowColor">
 <td class="colFirst"><code>protected void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#internalOffloadStatus(javax.ws.rs.container.AsyncResponse,boolean)">internalOffloadStatus</a></span>&#8203;(javax.ws.rs.container.AsyncResponse&nbsp;asyncResponse,
                      boolean&nbsp;authoritative)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i61" class="rowColor">
+<tr id="i62" class="altColor">
 <td class="colFirst"><code>protected javax.ws.rs.core.Response</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#internalPeekNthMessage(java.lang.String,int,boolean)">internalPeekNthMessage</a></span>&#8203;(java.lang.String&nbsp;subName,
                       int&nbsp;messagePosition,
                       boolean&nbsp;authoritative)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i62" class="altColor">
+<tr id="i63" class="rowColor">
 <td class="colFirst"><code>protected java.util.concurrent.CompletableFuture&lt;java.lang.Void&gt;</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#internalRemoveCompactionThreshold(boolean)">internalRemoveCompactionThreshold</a></span>&#8203;(boolean&nbsp;isGlobal)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i63" class="rowColor">
+<tr id="i64" class="altColor">
 <td class="colFirst"><code>protected java.util.concurrent.CompletableFuture&lt;java.lang.Void&gt;</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#internalRemoveDispatchRate(boolean)">internalRemoveDispatchRate</a></span>&#8203;(boolean&nbsp;isGlobal)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i64" class="altColor">
+<tr id="i65" class="rowColor">
 <td class="colFirst"><code>protected java.util.concurrent.CompletableFuture&lt;java.lang.Void&gt;</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#internalRemoveMaxConsumers(boolean)">internalRemoveMaxConsumers</a></span>&#8203;(boolean&nbsp;isGlobal)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i65" class="rowColor">
+<tr id="i66" class="altColor">
 <td class="colFirst"><code>protected java.util.concurrent.CompletableFuture&lt;java.lang.Void&gt;</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#internalRemoveMaxConsumersPerSubscription(boolean)">internalRemoveMaxConsumersPerSubscription</a></span>&#8203;(boolean&nbsp;isGlobal)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i66" class="altColor">
+<tr id="i67" class="rowColor">
 <td class="colFirst"><code>protected java.util.concurrent.CompletableFuture&lt;java.lang.Void&gt;</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#internalRemoveMaxProducers(boolean)">internalRemoveMaxProducers</a></span>&#8203;(boolean&nbsp;isGlobal)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i67" class="rowColor">
+<tr id="i68" class="altColor">
 <td class="colFirst"><code>protected java.util.concurrent.CompletableFuture&lt;java.lang.Void&gt;</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#internalRemovePersistence(boolean)">internalRemovePersistence</a></span>&#8203;(boolean&nbsp;isGlobal)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i68" class="altColor">
+<tr id="i69" class="rowColor">
 <td class="colFirst"><code>protected java.util.concurrent.CompletableFuture&lt;java.lang.Void&gt;</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#internalRemovePublishRate(boolean)">internalRemovePublishRate</a></span>&#8203;(boolean&nbsp;isGlobal)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i69" class="rowColor">
+<tr id="i70" class="altColor">
 <td class="colFirst"><code>protected java.util.concurrent.CompletableFuture&lt;java.lang.Void&gt;</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#internalRemoveReplicationClusters()">internalRemoveReplicationClusters</a></span>()</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i70" class="altColor">
+<tr id="i71" class="rowColor">
 <td class="colFirst"><code>protected java.util.concurrent.CompletableFuture&lt;java.lang.Void&gt;</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#internalRemoveRetention(boolean)">internalRemoveRetention</a></span>&#8203;(boolean&nbsp;isGlobal)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i71" class="rowColor">
+<tr id="i72" class="altColor">
 <td class="colFirst"><code>protected java.util.concurrent.CompletableFuture&lt;java.lang.Void&gt;</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#internalRemoveSubscribeRate(boolean)">internalRemoveSubscribeRate</a></span>&#8203;(boolean&nbsp;isGlobal)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i72" class="altColor">
+<tr id="i73" class="rowColor">
 <td class="colFirst"><code>protected java.util.concurrent.CompletableFuture&lt;java.lang.Void&gt;</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#internalRemoveSubscriptionDispatchRate(boolean)">internalRemoveSubscriptionDispatchRate</a></span>&#8203;(boolean&nbsp;isGlobal)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i73" class="rowColor">
+<tr id="i74" class="altColor">
+<td class="colFirst"><code>protected java.util.concurrent.CompletableFuture&lt;java.lang.Void&gt;</code></td>
+<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#internalRemoveSubscriptionLevelDispatchRate(java.lang.String,boolean)">internalRemoveSubscriptionLevelDispatchRate</a></span>&#8203;(java.lang.String&nbsp;subName,
+                                           boolean&nbsp;isGlobal)</code></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr id="i75" class="rowColor">
 <td class="colFirst"><code>protected java.util.concurrent.CompletableFuture&lt;java.lang.Void&gt;</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#internalRemoveSubscriptionTypesEnabled(boolean)">internalRemoveSubscriptionTypesEnabled</a></span>&#8203;(boolean&nbsp;isGlobal)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i74" class="altColor">
+<tr id="i76" class="altColor">
 <td class="colFirst"><code>protected void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#internalResetCursor(javax.ws.rs.container.AsyncResponse,java.lang.String,long,boolean)">internalResetCursor</a></span>&#8203;(javax.ws.rs.container.AsyncResponse&nbsp;asyncResponse,
                    java.lang.String&nbsp;subName,
@@ -667,7 +680,7 @@ extends <a href="../AdminResource.html" title="class in org.apache.pulsar.broker
                    boolean&nbsp;authoritative)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i75" class="rowColor">
+<tr id="i77" class="rowColor">
 <td class="colFirst"><code>protected void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#internalResetCursorOnPosition(javax.ws.rs.container.AsyncResponse,java.lang.String,boolean,org.apache.pulsar.client.impl.MessageIdImpl,boolean,int)">internalResetCursorOnPosition</a></span>&#8203;(javax.ws.rs.container.AsyncResponse&nbsp;asyncResponse,
                              java.lang.String&nbsp;subName,
@@ -677,122 +690,122 @@ extends <a href="../AdminResource.html" title="class in org.apache.pulsar.broker
                              int&nbsp;batchIndex)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i76" class="altColor">
+<tr id="i78" class="altColor">
 <td class="colFirst"><code>protected void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#internalRevokePermissionsOnTopic(javax.ws.rs.container.AsyncResponse,java.lang.String)">internalRevokePermissionsOnTopic</a></span>&#8203;(javax.ws.rs.container.AsyncResponse&nbsp;asyncResponse,
                                 java.lang.String&nbsp;role)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i77" class="rowColor">
+<tr id="i79" class="rowColor">
 <td class="colFirst"><code>protected java.util.concurrent.CompletableFuture&lt;java.lang.Void&gt;</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#internalSetBacklogQuota(org.apache.pulsar.common.policies.data.BacklogQuota.BacklogQuotaType,org.apache.pulsar.common.policies.data.impl.BacklogQuotaImpl,boolean)">internalSetBacklogQuota</a></span>&#8203;(org.apache.pulsar.common.policies.data.BacklogQuota.BacklogQuotaType&nbsp;backlogQuotaType,
                        org.apache.pulsar.common.policies.data.impl.BacklogQuotaImpl&nbsp;backlogQuota,
                        boolean&nbsp;isGlobal)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i78" class="altColor">
+<tr id="i80" class="altColor">
 <td class="colFirst"><code>protected java.util.concurrent.CompletableFuture&lt;java.lang.Void&gt;</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#internalSetCompactionThreshold(java.lang.Long,boolean)">internalSetCompactionThreshold</a></span>&#8203;(java.lang.Long&nbsp;compactionThreshold,
                               boolean&nbsp;isGlobal)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i79" class="rowColor">
+<tr id="i81" class="rowColor">
 <td class="colFirst"><code>protected java.util.concurrent.CompletableFuture&lt;java.lang.Void&gt;</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#internalSetDeduplication(java.lang.Boolean,boolean)">internalSetDeduplication</a></span>&#8203;(java.lang.Boolean&nbsp;enabled,
                         boolean&nbsp;isGlobal)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i80" class="altColor">
+<tr id="i82" class="altColor">
 <td class="colFirst"><code>protected java.util.concurrent.CompletableFuture&lt;java.lang.Void&gt;</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#internalSetDeduplicationSnapshotInterval(java.lang.Integer,boolean)">internalSetDeduplicationSnapshotInterval</a></span>&#8203;(java.lang.Integer&nbsp;interval,
                                         boolean&nbsp;isGlobal)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i81" class="rowColor">
+<tr id="i83" class="rowColor">
 <td class="colFirst"><code>protected java.util.concurrent.CompletableFuture&lt;java.lang.Void&gt;</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#internalSetDelayedDeliveryPolicies(org.apache.pulsar.common.policies.data.DelayedDeliveryPolicies,boolean)">internalSetDelayedDeliveryPolicies</a></span>&#8203;(org.apache.pulsar.common.policies.data.DelayedDeliveryPolicies&nbsp;deliveryPolicies,
                                   boolean&nbsp;isGlobal)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i82" class="altColor">
+<tr id="i84" class="altColor">
 <td class="colFirst"><code>protected java.util.concurrent.CompletableFuture&lt;java.lang.Void&gt;</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#internalSetDispatchRate(org.apache.pulsar.common.policies.data.impl.DispatchRateImpl,boolean)">internalSetDispatchRate</a></span>&#8203;(org.apache.pulsar.common.policies.data.impl.DispatchRateImpl&nbsp;dispatchRate,
                        boolean&nbsp;isGlobal)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i83" class="rowColor">
+<tr id="i85" class="rowColor">
 <td class="colFirst"><code>protected java.util.concurrent.CompletableFuture&lt;java.lang.Void&gt;</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#internalSetInactiveTopicPolicies(org.apache.pulsar.common.policies.data.InactiveTopicPolicies,boolean)">internalSetInactiveTopicPolicies</a></span>&#8203;(org.apache.pulsar.common.policies.data.InactiveTopicPolicies&nbsp;inactiveTopicPolicies,
                                 boolean&nbsp;isGlobal)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i84" class="altColor">
+<tr id="i86" class="altColor">
 <td class="colFirst"><code>protected java.util.concurrent.CompletableFuture&lt;java.lang.Void&gt;</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#internalSetMaxConsumers(java.lang.Integer,boolean)">internalSetMaxConsumers</a></span>&#8203;(java.lang.Integer&nbsp;maxConsumers,
                        boolean&nbsp;isGlobal)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i85" class="rowColor">
+<tr id="i87" class="rowColor">
 <td class="colFirst"><code>protected java.util.concurrent.CompletableFuture&lt;java.lang.Void&gt;</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#internalSetMaxConsumersPerSubscription(java.lang.Integer,boolean)">internalSetMaxConsumersPerSubscription</a></span>&#8203;(java.lang.Integer&nbsp;maxConsumersPerSubscription,
                                       boolean&nbsp;isGlobal)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i86" class="altColor">
+<tr id="i88" class="altColor">
 <td class="colFirst"><code>protected java.util.concurrent.CompletableFuture&lt;java.lang.Void&gt;</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#internalSetMaxMessageSize(java.lang.Integer,boolean)">internalSetMaxMessageSize</a></span>&#8203;(java.lang.Integer&nbsp;maxMessageSize,
                          boolean&nbsp;isGlobal)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i87" class="rowColor">
+<tr id="i89" class="rowColor">
 <td class="colFirst"><code>protected java.util.concurrent.CompletableFuture&lt;java.lang.Void&gt;</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#internalSetMaxProducers(java.lang.Integer,boolean)">internalSetMaxProducers</a></span>&#8203;(java.lang.Integer&nbsp;maxProducers,
                        boolean&nbsp;isGlobal)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i88" class="altColor">
+<tr id="i90" class="altColor">
 <td class="colFirst"><code>protected java.util.concurrent.CompletableFuture&lt;java.lang.Void&gt;</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#internalSetMaxSubscriptionsPerTopic(java.lang.Integer,boolean)">internalSetMaxSubscriptionsPerTopic</a></span>&#8203;(java.lang.Integer&nbsp;maxSubscriptionsPerTopic,
                                    boolean&nbsp;isGlobal)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i89" class="rowColor">
+<tr id="i91" class="rowColor">
 <td class="colFirst"><code>protected java.util.concurrent.CompletableFuture&lt;java.lang.Void&gt;</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#internalSetMaxUnackedMessagesOnConsumer(java.lang.Integer,boolean)">internalSetMaxUnackedMessagesOnConsumer</a></span>&#8203;(java.lang.Integer&nbsp;maxUnackedNum,
                                        boolean&nbsp;isGlobal)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i90" class="altColor">
+<tr id="i92" class="altColor">
 <td class="colFirst"><code>protected java.util.concurrent.CompletableFuture&lt;java.lang.Void&gt;</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#internalSetMaxUnackedMessagesOnSubscription(java.lang.Integer,boolean)">internalSetMaxUnackedMessagesOnSubscription</a></span>&#8203;(java.lang.Integer&nbsp;maxUnackedNum,
                                            boolean&nbsp;isGlobal)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i91" class="rowColor">
+<tr id="i93" class="rowColor">
 <td class="colFirst"><code>protected java.util.concurrent.CompletableFuture&lt;java.lang.Void&gt;</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#internalSetMessageTTL(java.lang.Integer,boolean)">internalSetMessageTTL</a></span>&#8203;(java.lang.Integer&nbsp;ttlInSecond,
                      boolean&nbsp;isGlobal)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i92" class="altColor">
+<tr id="i94" class="altColor">
 <td class="colFirst"><code>protected java.util.concurrent.CompletableFuture&lt;java.lang.Void&gt;</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#internalSetOffloadPolicies(org.apache.pulsar.common.policies.data.OffloadPoliciesImpl,boolean)">internalSetOffloadPolicies</a></span>&#8203;(org.apache.pulsar.common.policies.data.OffloadPoliciesImpl&nbsp;offloadPolicies,
                           boolean&nbsp;isGlobal)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i93" class="rowColor">
+<tr id="i95" class="rowColor">
 <td class="colFirst"><code>protected java.util.concurrent.CompletableFuture&lt;java.lang.Void&gt;</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#internalSetPersistence(org.apache.pulsar.common.policies.data.PersistencePolicies,boolean)">internalSetPersistence</a></span>&#8203;(org.apache.pulsar.common.policies.data.PersistencePolicies&nbsp;persistencePolicies,
                       boolean&nbsp;isGlobal)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i94" class="altColor">
+<tr id="i96" class="altColor">
 <td class="colFirst"><code>protected java.util.concurrent.CompletableFuture&lt;java.lang.Void&gt;</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#internalSetPublishRate(org.apache.pulsar.common.policies.data.PublishRate,boolean)">internalSetPublishRate</a></span>&#8203;(org.apache.pulsar.common.policies.data.PublishRate&nbsp;publishRate,
                       boolean&nbsp;isGlobal)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i95" class="rowColor">
+<tr id="i97" class="rowColor">
 <td class="colFirst"><code>protected void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#internalSetReplicatedSubscriptionStatus(javax.ws.rs.container.AsyncResponse,java.lang.String,boolean,boolean)">internalSetReplicatedSubscriptionStatus</a></span>&#8203;(javax.ws.rs.container.AsyncResponse&nbsp;asyncResponse,
                                        java.lang.String&nbsp;subName,
@@ -800,54 +813,61 @@ extends <a href="../AdminResource.html" title="class in org.apache.pulsar.broker
                                        boolean&nbsp;enabled)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i96" class="altColor">
+<tr id="i98" class="altColor">
 <td class="colFirst"><code>protected java.util.concurrent.CompletableFuture&lt;java.lang.Void&gt;</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#internalSetReplicationClusters(java.util.List)">internalSetReplicationClusters</a></span>&#8203;(java.util.List&lt;java.lang.String&gt;&nbsp;clusterIds)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i97" class="rowColor">
+<tr id="i99" class="rowColor">
 <td class="colFirst"><code>protected java.util.concurrent.CompletableFuture&lt;java.lang.Void&gt;</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#internalSetReplicatorDispatchRate(org.apache.pulsar.common.policies.data.impl.DispatchRateImpl,boolean)">internalSetReplicatorDispatchRate</a></span>&#8203;(org.apache.pulsar.common.policies.data.impl.DispatchRateImpl&nbsp;dispatchRate,
                                  boolean&nbsp;isGlobal)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i98" class="altColor">
+<tr id="i100" class="altColor">
 <td class="colFirst"><code>protected java.util.concurrent.CompletableFuture&lt;java.lang.Void&gt;</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#internalSetRetention(org.apache.pulsar.common.policies.data.RetentionPolicies,boolean)">internalSetRetention</a></span>&#8203;(org.apache.pulsar.common.policies.data.RetentionPolicies&nbsp;retention,
                     boolean&nbsp;isGlobal)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i99" class="rowColor">
+<tr id="i101" class="rowColor">
 <td class="colFirst"><code>protected java.util.concurrent.CompletableFuture&lt;java.lang.Void&gt;</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#internalSetSchemaCompatibilityStrategy(org.apache.pulsar.common.policies.data.SchemaCompatibilityStrategy)">internalSetSchemaCompatibilityStrategy</a></span>&#8203;(org.apache.pulsar.common.policies.data.SchemaCompatibilityStrategy&nbsp;strategy)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i100" class="altColor">
+<tr id="i102" class="altColor">
 <td class="colFirst"><code>protected java.util.concurrent.CompletableFuture&lt;java.lang.Void&gt;</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#internalSetSubscribeRate(org.apache.pulsar.common.policies.data.SubscribeRate,boolean)">internalSetSubscribeRate</a></span>&#8203;(org.apache.pulsar.common.policies.data.SubscribeRate&nbsp;subscribeRate,
                         boolean&nbsp;isGlobal)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i101" class="rowColor">
+<tr id="i103" class="rowColor">
 <td class="colFirst"><code>protected java.util.concurrent.CompletableFuture&lt;java.lang.Void&gt;</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#internalSetSubscriptionDispatchRate(org.apache.pulsar.common.policies.data.impl.DispatchRateImpl,boolean)">internalSetSubscriptionDispatchRate</a></span>&#8203;(org.apache.pulsar.common.policies.data.impl.DispatchRateImpl&nbsp;dispatchRate,
                                    boolean&nbsp;isGlobal)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i102" class="altColor">
+<tr id="i104" class="altColor">
+<td class="colFirst"><code>protected java.util.concurrent.CompletableFuture&lt;java.lang.Void&gt;</code></td>
+<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#internalSetSubscriptionLevelDispatchRate(java.lang.String,org.apache.pulsar.common.policies.data.impl.DispatchRateImpl,boolean)">internalSetSubscriptionLevelDispatchRate</a></span>&#8203;(java.lang.String&nbsp;subName,
+                                        org.apache.pulsar.common.policies.data.impl.DispatchRateImpl&nbsp;dispatchRate,
+                                        boolean&nbsp;isGlobal)</code></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr id="i105" class="rowColor">
 <td class="colFirst"><code>protected java.util.concurrent.CompletableFuture&lt;java.lang.Void&gt;</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#internalSetSubscriptionTypesEnabled(java.util.Set,boolean)">internalSetSubscriptionTypesEnabled</a></span>&#8203;(java.util.Set&lt;org.apache.pulsar.client.api.SubscriptionType&gt;&nbsp;subscriptionTypesEnabled,
                                    boolean&nbsp;isGlobal)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i103" class="rowColor">
+<tr id="i106" class="altColor">
 <td class="colFirst"><code>protected void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#internalSkipAllMessages(javax.ws.rs.container.AsyncResponse,java.lang.String,boolean)">internalSkipAllMessages</a></span>&#8203;(javax.ws.rs.container.AsyncResponse&nbsp;asyncResponse,
                        java.lang.String&nbsp;subName,
                        boolean&nbsp;authoritative)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i104" class="altColor">
+<tr id="i107" class="rowColor">
 <td class="colFirst"><code>protected void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#internalSkipMessages(javax.ws.rs.container.AsyncResponse,java.lang.String,int,boolean)">internalSkipMessages</a></span>&#8203;(javax.ws.rs.container.AsyncResponse&nbsp;asyncResponse,
                     java.lang.String&nbsp;subName,
@@ -855,55 +875,55 @@ extends <a href="../AdminResource.html" title="class in org.apache.pulsar.broker
                     boolean&nbsp;authoritative)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i105" class="rowColor">
+<tr id="i108" class="altColor">
 <td class="colFirst"><code>protected org.apache.pulsar.client.api.MessageId</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#internalTerminate(boolean)">internalTerminate</a></span>&#8203;(boolean&nbsp;authoritative)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i106" class="altColor">
+<tr id="i109" class="rowColor">
 <td class="colFirst"><code>protected void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#internalTerminatePartitionedTopic(javax.ws.rs.container.AsyncResponse,boolean)">internalTerminatePartitionedTopic</a></span>&#8203;(javax.ws.rs.container.AsyncResponse&nbsp;asyncResponse,
                                  boolean&nbsp;authoritative)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i107" class="rowColor">
+<tr id="i110" class="altColor">
 <td class="colFirst"><code>protected void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#internalTriggerCompaction(javax.ws.rs.container.AsyncResponse,boolean)">internalTriggerCompaction</a></span>&#8203;(javax.ws.rs.container.AsyncResponse&nbsp;asyncResponse,
                          boolean&nbsp;authoritative)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i108" class="altColor">
+<tr id="i111" class="rowColor">
 <td class="colFirst"><code>protected void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#internalTriggerCompactionNonPartitionedTopic(javax.ws.rs.container.AsyncResponse,boolean)">internalTriggerCompactionNonPartitionedTopic</a></span>&#8203;(javax.ws.rs.container.AsyncResponse&nbsp;asyncResponse,
                                             boolean&nbsp;authoritative)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i109" class="rowColor">
+<tr id="i112" class="altColor">
 <td class="colFirst"><code>protected void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#internalTriggerOffload(javax.ws.rs.container.AsyncResponse,boolean,org.apache.pulsar.client.impl.MessageIdImpl)">internalTriggerOffload</a></span>&#8203;(javax.ws.rs.container.AsyncResponse&nbsp;asyncResponse,
                       boolean&nbsp;authoritative,
                       org.apache.pulsar.client.impl.MessageIdImpl&nbsp;messageId)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i110" class="altColor">
+<tr id="i113" class="rowColor">
 <td class="colFirst"><code>protected void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#internalTruncateNonPartitionedTopic(javax.ws.rs.container.AsyncResponse,boolean)">internalTruncateNonPartitionedTopic</a></span>&#8203;(javax.ws.rs.container.AsyncResponse&nbsp;asyncResponse,
                                    boolean&nbsp;authoritative)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i111" class="rowColor">
+<tr id="i114" class="altColor">
 <td class="colFirst"><code>protected void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#internalTruncateTopic(javax.ws.rs.container.AsyncResponse,boolean)">internalTruncateTopic</a></span>&#8203;(javax.ws.rs.container.AsyncResponse&nbsp;asyncResponse,
                      boolean&nbsp;authoritative)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i112" class="altColor">
+<tr id="i115" class="rowColor">
 <td class="colFirst"><code>protected void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#internalUnloadTopic(javax.ws.rs.container.AsyncResponse,boolean)">internalUnloadTopic</a></span>&#8203;(javax.ws.rs.container.AsyncResponse&nbsp;asyncResponse,
                    boolean&nbsp;authoritative)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i113" class="rowColor">
+<tr id="i116" class="altColor">
 <td class="colFirst"><code>protected java.util.concurrent.CompletableFuture&lt;java.lang.Void&gt;</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#internalUpdatePartitionedTopicAsync(int,boolean,boolean,boolean)">internalUpdatePartitionedTopicAsync</a></span>&#8203;(int&nbsp;numPartitions,
                                    boolean&nbsp;updateLocalTopicOnly,
@@ -913,17 +933,17 @@ extends <a href="../AdminResource.html" title="class in org.apache.pulsar.broker
 <div class="block">It updates number of partitions of an existing partitioned topic.</div>
 </td>
 </tr>
-<tr id="i114" class="altColor">
+<tr id="i117" class="rowColor">
 <td class="colFirst"><code>protected java.util.concurrent.CompletableFuture&lt;java.lang.Void&gt;</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#internalValidateClientVersionAsync()">internalValidateClientVersionAsync</a></span>()</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i115" class="rowColor">
+<tr id="i118" class="altColor">
 <td class="colFirst"><code>protected java.util.concurrent.CompletableFuture&lt;java.lang.Void&gt;</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#preValidation(boolean)">preValidation</a></span>&#8203;(boolean&nbsp;authoritative)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i116" class="altColor">
+<tr id="i119" class="rowColor">
 <td class="colFirst"><code>static java.util.concurrent.CompletableFuture&lt;org.apache.pulsar.common.partition.PartitionedTopicMetadata&gt;</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#unsafeGetPartitionedTopicMetadataAsync(org.apache.pulsar.broker.PulsarService,org.apache.pulsar.common.naming.TopicName)">unsafeGetPartitionedTopicMetadataAsync</a></span>&#8203;(<a href="../../PulsarService.html" title="class in org.apache.pulsar.broker">PulsarService</a>&nbsp;pulsar,
                                       org.apache.pulsar.common.naming.TopicName&nbsp;topicName)</code></th>
@@ -931,12 +951,12 @@ extends <a href="../AdminResource.html" title="class in org.apache.pulsar.broker
 <div class="block">Get partitioned topic metadata without checking the permission.</div>
 </td>
 </tr>
-<tr id="i117" class="rowColor">
+<tr id="i120" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#validateAdminOperationOnTopic(boolean)">validateAdminOperationOnTopic</a></span>&#8203;(boolean&nbsp;authoritative)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i118" class="altColor">
+<tr id="i121" class="rowColor">
 <td class="colFirst"><code>protected void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#validateCreateTopic(org.apache.pulsar.common.naming.TopicName)">validateCreateTopic</a></span>&#8203;(org.apache.pulsar.common.naming.TopicName&nbsp;topicName)</code></th>
 <td class="colLast">&nbsp;</td>
@@ -2000,6 +2020,38 @@ extends <a href="../AdminResource.html" title="class in org.apache.pulsar.broker
 <pre class="methodSignature">protected&nbsp;java.util.concurrent.CompletableFuture&lt;java.lang.Void&gt;&nbsp;internalRemoveSubscriptionDispatchRate&#8203;(boolean&nbsp;isGlobal)</pre>
 </li>
 </ul>
+<a id="internalGetSubscriptionLevelDispatchRate(java.lang.String,boolean,boolean)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>internalGetSubscriptionLevelDispatchRate</h4>
+<pre class="methodSignature">protected&nbsp;java.util.concurrent.CompletableFuture&lt;org.apache.pulsar.common.policies.data.DispatchRate&gt;&nbsp;internalGetSubscriptionLevelDispatchRate&#8203;(java.lang.String&nbsp;subName,
+                                                                                                                                               boolean&nbsp;applied,
+                                                                                                                                               boolean&nbsp;isGlobal)</pre>
+</li>
+</ul>
+<a id="internalSetSubscriptionLevelDispatchRate(java.lang.String,org.apache.pulsar.common.policies.data.impl.DispatchRateImpl,boolean)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>internalSetSubscriptionLevelDispatchRate</h4>
+<pre class="methodSignature">protected&nbsp;java.util.concurrent.CompletableFuture&lt;java.lang.Void&gt;&nbsp;internalSetSubscriptionLevelDispatchRate&#8203;(java.lang.String&nbsp;subName,
+                                                                                                          org.apache.pulsar.common.policies.data.impl.DispatchRateImpl&nbsp;dispatchRate,
+                                                                                                          boolean&nbsp;isGlobal)</pre>
+</li>
+</ul>
+<a id="internalRemoveSubscriptionLevelDispatchRate(java.lang.String,boolean)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>internalRemoveSubscriptionLevelDispatchRate</h4>
+<pre class="methodSignature">protected&nbsp;java.util.concurrent.CompletableFuture&lt;java.lang.Void&gt;&nbsp;internalRemoveSubscriptionLevelDispatchRate&#8203;(java.lang.String&nbsp;subName,
+                                                                                                             boolean&nbsp;isGlobal)</pre>
+</li>
+</ul>
 <a id="internalGetMaxConsumersPerSubscription(boolean)">
 <!--   -->
 </a>
diff --git a/content/api/pulsar-broker/2.11.0-SNAPSHOT/org/apache/pulsar/broker/admin/v1/NonPersistentTopics.html b/content/api/pulsar-broker/2.11.0-SNAPSHOT/org/apache/pulsar/broker/admin/v1/NonPersistentTopics.html
index 3390ffd5a40..e428accc4c8 100644
--- a/content/api/pulsar-broker/2.11.0-SNAPSHOT/org/apache/pulsar/broker/admin/v1/NonPersistentTopics.html
+++ b/content/api/pulsar-broker/2.11.0-SNAPSHOT/org/apache/pulsar/broker/admin/v1/NonPersistentTopics.html
@@ -302,7 +302,7 @@ extends <a href="PersistentTopics.html" title="class in org.apache.pulsar.broker
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.pulsar.broker.admin.impl.<a href="../impl/PersistentTopicsBase.html" title="class in org.apache.pulsar.broker.admin.impl">PersistentTopicsBase</a></h3>
-<code><a href="../impl/PersistentTopicsBase.html#getPartitionedTopicMetadata(org.apache.pulsar.broker.PulsarService,java.lang.String,java.lang.String,org.apache.pulsar.broker.authentication.AuthenticationDataSource,org.apache.pulsar.common.naming.TopicName)">getPartitionedTopicMetadata</a>, <a href="../impl/PersistentTopicsBase.html#handleTopicPolicyException(java.lang.String,java.lang.Throwable,javax.ws.rs.container.AsyncResponse)">handleTopicPolicyException</a>, <a href="../impl/Persis [...]
+<code><a href="../impl/PersistentTopicsBase.html#getPartitionedTopicMetadata(org.apache.pulsar.broker.PulsarService,java.lang.String,java.lang.String,org.apache.pulsar.broker.authentication.AuthenticationDataSource,org.apache.pulsar.common.naming.TopicName)">getPartitionedTopicMetadata</a>, <a href="../impl/PersistentTopicsBase.html#handleTopicPolicyException(java.lang.String,java.lang.Throwable,javax.ws.rs.container.AsyncResponse)">handleTopicPolicyException</a>, <a href="../impl/Persis [...]
 </ul>
 <ul class="blockList">
 <li class="blockList"><a id="methods.inherited.from.class.org.apache.pulsar.broker.admin.AdminResource">
diff --git a/content/api/pulsar-broker/2.11.0-SNAPSHOT/org/apache/pulsar/broker/admin/v1/PersistentTopics.html b/content/api/pulsar-broker/2.11.0-SNAPSHOT/org/apache/pulsar/broker/admin/v1/PersistentTopics.html
index 4ebc9794249..0bc647230b7 100644
--- a/content/api/pulsar-broker/2.11.0-SNAPSHOT/org/apache/pulsar/broker/admin/v1/PersistentTopics.html
+++ b/content/api/pulsar-broker/2.11.0-SNAPSHOT/org/apache/pulsar/broker/admin/v1/PersistentTopics.html
@@ -640,7 +640,7 @@ extends <a href="../impl/PersistentTopicsBase.html" title="class in org.apache.p
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.pulsar.broker.admin.impl.<a href="../impl/PersistentTopicsBase.html" title="class in org.apache.pulsar.broker.admin.impl">PersistentTopicsBase</a></h3>
-<code><a href="../impl/PersistentTopicsBase.html#getPartitionedTopicMetadata(org.apache.pulsar.broker.PulsarService,java.lang.String,java.lang.String,org.apache.pulsar.broker.authentication.AuthenticationDataSource,org.apache.pulsar.common.naming.TopicName)">getPartitionedTopicMetadata</a>, <a href="../impl/PersistentTopicsBase.html#handleTopicPolicyException(java.lang.String,java.lang.Throwable,javax.ws.rs.container.AsyncResponse)">handleTopicPolicyException</a>, <a href="../impl/Persis [...]
+<code><a href="../impl/PersistentTopicsBase.html#getPartitionedTopicMetadata(org.apache.pulsar.broker.PulsarService,java.lang.String,java.lang.String,org.apache.pulsar.broker.authentication.AuthenticationDataSource,org.apache.pulsar.common.naming.TopicName)">getPartitionedTopicMetadata</a>, <a href="../impl/PersistentTopicsBase.html#handleTopicPolicyException(java.lang.String,java.lang.Throwable,javax.ws.rs.container.AsyncResponse)">handleTopicPolicyException</a>, <a href="../impl/Persis [...]
 </ul>
 <ul class="blockList">
 <li class="blockList"><a id="methods.inherited.from.class.org.apache.pulsar.broker.admin.AdminResource">
diff --git a/content/api/pulsar-broker/2.11.0-SNAPSHOT/org/apache/pulsar/broker/admin/v2/NonPersistentTopics.html b/content/api/pulsar-broker/2.11.0-SNAPSHOT/org/apache/pulsar/broker/admin/v2/NonPersistentTopics.html
index ddfe02ace0e..2c52633dedf 100644
--- a/content/api/pulsar-broker/2.11.0-SNAPSHOT/org/apache/pulsar/broker/admin/v2/NonPersistentTopics.html
+++ b/content/api/pulsar-broker/2.11.0-SNAPSHOT/org/apache/pulsar/broker/admin/v2/NonPersistentTopics.html
@@ -319,14 +319,14 @@ extends <a href="PersistentTopics.html" title="class in org.apache.pulsar.broker
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.pulsar.broker.admin.v2.<a href="PersistentTopics.html" title="class in org.apache.pulsar.broker.admin.v2">PersistentTopics</a></h3>
-<code><a href="PersistentTopics.html#compact(javax.ws.rs.container.AsyncResponse,java.lang.String,java.lang.String,java.lang.String,boolean)">compact</a>, <a href="PersistentTopics.html#compactionStatus(java.lang.String,java.lang.String,java.lang.String,boolean)">compactionStatus</a>, <a href="PersistentTopics.html#createMissedPartitions(javax.ws.rs.container.AsyncResponse,java.lang.String,java.lang.String,java.lang.String)">createMissedPartitions</a>, <a href="PersistentTopics.html#crea [...]
+<code><a href="PersistentTopics.html#compact(javax.ws.rs.container.AsyncResponse,java.lang.String,java.lang.String,java.lang.String,boolean)">compact</a>, <a href="PersistentTopics.html#compactionStatus(java.lang.String,java.lang.String,java.lang.String,boolean)">compactionStatus</a>, <a href="PersistentTopics.html#createMissedPartitions(javax.ws.rs.container.AsyncResponse,java.lang.String,java.lang.String,java.lang.String)">createMissedPartitions</a>, <a href="PersistentTopics.html#crea [...]
 </ul>
 <ul class="blockList">
 <li class="blockList"><a id="methods.inherited.from.class.org.apache.pulsar.broker.admin.impl.PersistentTopicsBase">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.pulsar.broker.admin.impl.<a href="../impl/PersistentTopicsBase.html" title="class in org.apache.pulsar.broker.admin.impl">PersistentTopicsBase</a></h3>
-<code><a href="../impl/PersistentTopicsBase.html#getPartitionedTopicMetadata(org.apache.pulsar.broker.PulsarService,java.lang.String,java.lang.String,org.apache.pulsar.broker.authentication.AuthenticationDataSource,org.apache.pulsar.common.naming.TopicName)">getPartitionedTopicMetadata</a>, <a href="../impl/PersistentTopicsBase.html#handleTopicPolicyException(java.lang.String,java.lang.Throwable,javax.ws.rs.container.AsyncResponse)">handleTopicPolicyException</a>, <a href="../impl/Persis [...]
+<code><a href="../impl/PersistentTopicsBase.html#getPartitionedTopicMetadata(org.apache.pulsar.broker.PulsarService,java.lang.String,java.lang.String,org.apache.pulsar.broker.authentication.AuthenticationDataSource,org.apache.pulsar.common.naming.TopicName)">getPartitionedTopicMetadata</a>, <a href="../impl/PersistentTopicsBase.html#handleTopicPolicyException(java.lang.String,java.lang.Throwable,javax.ws.rs.container.AsyncResponse)">handleTopicPolicyException</a>, <a href="../impl/Persis [...]
 </ul>
 <ul class="blockList">
 <li class="blockList"><a id="methods.inherited.from.class.org.apache.pulsar.broker.admin.AdminResource">
diff --git a/content/api/pulsar-broker/2.11.0-SNAPSHOT/org/apache/pulsar/broker/admin/v2/PersistentTopics.html b/content/api/pulsar-broker/2.11.0-SNAPSHOT/org/apache/pulsar/broker/admin/v2/PersistentTopics.html
index 00429175c14..e21eea1e341 100644
--- a/content/api/pulsar-broker/2.11.0-SNAPSHOT/org/apache/pulsar/broker/admin/v2/PersistentTopics.html
+++ b/content/api/pulsar-broker/2.11.0-SNAPSHOT/org/apache/pulsar/broker/admin/v2/PersistentTopics.html
@@ -26,7 +26,7 @@
     catch(err) {
     }
 //-->
-var data = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10,"i35":10,"i36":10,"i37":10,"i38":10,"i39":10,"i40":10,"i41":10,"i42":10,"i43":10,"i44":10,"i45":10,"i46":10,"i47":10,"i48":10,"i49":10,"i50":10,"i51":10,"i52":10,"i53":10,"i54 [...]
+var data = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10,"i35":10,"i36":10,"i37":10,"i38":10,"i39":10,"i40":10,"i41":10,"i42":10,"i43":10,"i44":10,"i45":10,"i46":10,"i47":10,"i48":10,"i49":10,"i50":10,"i51":10,"i52":10,"i53":10,"i54 [...]
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -807,6 +807,18 @@ extends <a href="../impl/PersistentTopicsBase.html" title="class in org.apache.p
 </tr>
 <tr id="i58" class="altColor">
 <td class="colFirst"><code>void</code></td>
+<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getSubscriptionLevelDispatchRate(javax.ws.rs.container.AsyncResponse,java.lang.String,java.lang.String,java.lang.String,java.lang.String,boolean,boolean,boolean)">getSubscriptionLevelDispatchRate</a></span>&#8203;(javax.ws.rs.container.AsyncResponse&nbsp;asyncResponse,
+                                java.lang.String&nbsp;tenant,
+                                java.lang.String&nbsp;namespace,
+                                java.lang.String&nbsp;encodedTopic,
+                                java.lang.String&nbsp;encodedSubscriptionName,
+                                boolean&nbsp;applied,
+                                boolean&nbsp;isGlobal,
+                                boolean&nbsp;authoritative)</code></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr id="i59" class="rowColor">
+<td class="colFirst"><code>void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getSubscriptions(javax.ws.rs.container.AsyncResponse,java.lang.String,java.lang.String,java.lang.String,boolean)">getSubscriptions</a></span>&#8203;(javax.ws.rs.container.AsyncResponse&nbsp;asyncResponse,
                 java.lang.String&nbsp;tenant,
                 java.lang.String&nbsp;namespace,
@@ -814,7 +826,7 @@ extends <a href="../impl/PersistentTopicsBase.html" title="class in org.apache.p
                 boolean&nbsp;authoritative)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i59" class="rowColor">
+<tr id="i60" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getSubscriptionTypesEnabled(javax.ws.rs.container.AsyncResponse,java.lang.String,java.lang.String,java.lang.String,boolean,boolean)">getSubscriptionTypesEnabled</a></span>&#8203;(javax.ws.rs.container.AsyncResponse&nbsp;asyncResponse,
                            java.lang.String&nbsp;tenant,
@@ -824,7 +836,7 @@ extends <a href="../impl/PersistentTopicsBase.html" title="class in org.apache.p
                            boolean&nbsp;authoritative)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i60" class="altColor">
+<tr id="i61" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#grantPermissionsOnTopic(javax.ws.rs.container.AsyncResponse,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.util.Set)">grantPermissionsOnTopic</a></span>&#8203;(javax.ws.rs.container.AsyncResponse&nbsp;asyncResponse,
                        java.lang.String&nbsp;tenant,
@@ -834,7 +846,7 @@ extends <a href="../impl/PersistentTopicsBase.html" title="class in org.apache.p
                        java.util.Set&lt;org.apache.pulsar.common.policies.data.AuthAction&gt;&nbsp;actions)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i61" class="rowColor">
+<tr id="i62" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#offloadStatus(javax.ws.rs.container.AsyncResponse,java.lang.String,java.lang.String,java.lang.String,boolean)">offloadStatus</a></span>&#8203;(javax.ws.rs.container.AsyncResponse&nbsp;asyncResponse,
              java.lang.String&nbsp;tenant,
@@ -843,7 +855,7 @@ extends <a href="../impl/PersistentTopicsBase.html" title="class in org.apache.p
              boolean&nbsp;authoritative)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i62" class="altColor">
+<tr id="i63" class="rowColor">
 <td class="colFirst"><code>javax.ws.rs.core.Response</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#peekNthMessage(java.lang.String,java.lang.String,java.lang.String,java.lang.String,int,boolean)">peekNthMessage</a></span>&#8203;(java.lang.String&nbsp;tenant,
               java.lang.String&nbsp;namespace,
@@ -853,7 +865,7 @@ extends <a href="../impl/PersistentTopicsBase.html" title="class in org.apache.p
               boolean&nbsp;authoritative)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i63" class="rowColor">
+<tr id="i64" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeBacklogQuota(javax.ws.rs.container.AsyncResponse,java.lang.String,java.lang.String,java.lang.String,org.apache.pulsar.common.policies.data.BacklogQuota.BacklogQuotaType,boolean,boolean)">removeBacklogQuota</a></span>&#8203;(javax.ws.rs.container.AsyncResponse&nbsp;asyncResponse,
                   java.lang.String&nbsp;tenant,
@@ -864,7 +876,7 @@ extends <a href="../impl/PersistentTopicsBase.html" title="class in org.apache.p
                   boolean&nbsp;isGlobal)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i64" class="altColor">
+<tr id="i65" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeCompactionThreshold(javax.ws.rs.container.AsyncResponse,java.lang.String,java.lang.String,java.lang.String,boolean,boolean)">removeCompactionThreshold</a></span>&#8203;(javax.ws.rs.container.AsyncResponse&nbsp;asyncResponse,
                          java.lang.String&nbsp;tenant,
@@ -874,7 +886,7 @@ extends <a href="../impl/PersistentTopicsBase.html" title="class in org.apache.p
                          boolean&nbsp;authoritative)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i65" class="rowColor">
+<tr id="i66" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeDeduplication(javax.ws.rs.container.AsyncResponse,java.lang.String,java.lang.String,java.lang.String,boolean,boolean)">removeDeduplication</a></span>&#8203;(javax.ws.rs.container.AsyncResponse&nbsp;asyncResponse,
                    java.lang.String&nbsp;tenant,
@@ -884,7 +896,7 @@ extends <a href="../impl/PersistentTopicsBase.html" title="class in org.apache.p
                    boolean&nbsp;authoritative)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i66" class="altColor">
+<tr id="i67" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeDispatchRate(javax.ws.rs.container.AsyncResponse,java.lang.String,java.lang.String,java.lang.String,boolean,boolean)">removeDispatchRate</a></span>&#8203;(javax.ws.rs.container.AsyncResponse&nbsp;asyncResponse,
                   java.lang.String&nbsp;tenant,
@@ -894,7 +906,7 @@ extends <a href="../impl/PersistentTopicsBase.html" title="class in org.apache.p
                   boolean&nbsp;authoritative)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i67" class="rowColor">
+<tr id="i68" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeMaxConsumers(javax.ws.rs.container.AsyncResponse,java.lang.String,java.lang.String,java.lang.String,boolean,boolean)">removeMaxConsumers</a></span>&#8203;(javax.ws.rs.container.AsyncResponse&nbsp;asyncResponse,
                   java.lang.String&nbsp;tenant,
@@ -904,7 +916,7 @@ extends <a href="../impl/PersistentTopicsBase.html" title="class in org.apache.p
                   boolean&nbsp;authoritative)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i68" class="altColor">
+<tr id="i69" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeMaxConsumersPerSubscription(javax.ws.rs.container.AsyncResponse,java.lang.String,java.lang.String,java.lang.String,boolean,boolean)">removeMaxConsumersPerSubscription</a></span>&#8203;(javax.ws.rs.container.AsyncResponse&nbsp;asyncResponse,
                                  java.lang.String&nbsp;tenant,
@@ -914,7 +926,7 @@ extends <a href="../impl/PersistentTopicsBase.html" title="class in org.apache.p
                                  boolean&nbsp;authoritative)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i69" class="rowColor">
+<tr id="i70" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeMaxMessageSize(javax.ws.rs.container.AsyncResponse,java.lang.String,java.lang.String,java.lang.String,boolean,boolean)">removeMaxMessageSize</a></span>&#8203;(javax.ws.rs.container.AsyncResponse&nbsp;asyncResponse,
                     java.lang.String&nbsp;tenant,
@@ -924,7 +936,7 @@ extends <a href="../impl/PersistentTopicsBase.html" title="class in org.apache.p
                     boolean&nbsp;authoritative)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i70" class="altColor">
+<tr id="i71" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeMaxProducers(javax.ws.rs.container.AsyncResponse,java.lang.String,java.lang.String,java.lang.String,boolean,boolean)">removeMaxProducers</a></span>&#8203;(javax.ws.rs.container.AsyncResponse&nbsp;asyncResponse,
                   java.lang.String&nbsp;tenant,
@@ -934,7 +946,7 @@ extends <a href="../impl/PersistentTopicsBase.html" title="class in org.apache.p
                   boolean&nbsp;authoritative)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i71" class="rowColor">
+<tr id="i72" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeMaxSubscriptionsPerTopic(javax.ws.rs.container.AsyncResponse,java.lang.String,java.lang.String,java.lang.String,boolean,boolean)">removeMaxSubscriptionsPerTopic</a></span>&#8203;(javax.ws.rs.container.AsyncResponse&nbsp;asyncResponse,
                               java.lang.String&nbsp;tenant,
@@ -944,7 +956,7 @@ extends <a href="../impl/PersistentTopicsBase.html" title="class in org.apache.p
                               boolean&nbsp;authoritative)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i72" class="altColor">
+<tr id="i73" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeMessageTTL(javax.ws.rs.container.AsyncResponse,java.lang.String,java.lang.String,java.lang.String,boolean,boolean)">removeMessageTTL</a></span>&#8203;(javax.ws.rs.container.AsyncResponse&nbsp;asyncResponse,
                 java.lang.String&nbsp;tenant,
@@ -954,7 +966,7 @@ extends <a href="../impl/PersistentTopicsBase.html" title="class in org.apache.p
                 boolean&nbsp;authoritative)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i73" class="rowColor">
+<tr id="i74" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeOffloadPolicies(javax.ws.rs.container.AsyncResponse,java.lang.String,java.lang.String,java.lang.String,boolean,boolean)">removeOffloadPolicies</a></span>&#8203;(javax.ws.rs.container.AsyncResponse&nbsp;asyncResponse,
                      java.lang.String&nbsp;tenant,
@@ -964,7 +976,7 @@ extends <a href="../impl/PersistentTopicsBase.html" title="class in org.apache.p
                      boolean&nbsp;authoritative)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i74" class="altColor">
+<tr id="i75" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removePersistence(javax.ws.rs.container.AsyncResponse,java.lang.String,java.lang.String,java.lang.String,boolean,boolean)">removePersistence</a></span>&#8203;(javax.ws.rs.container.AsyncResponse&nbsp;asyncResponse,
                  java.lang.String&nbsp;tenant,
@@ -974,7 +986,7 @@ extends <a href="../impl/PersistentTopicsBase.html" title="class in org.apache.p
                  boolean&nbsp;authoritative)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i75" class="rowColor">
+<tr id="i76" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removePublishRate(javax.ws.rs.container.AsyncResponse,java.lang.String,java.lang.String,java.lang.String,boolean,boolean)">removePublishRate</a></span>&#8203;(javax.ws.rs.container.AsyncResponse&nbsp;asyncResponse,
                  java.lang.String&nbsp;tenant,
@@ -984,7 +996,7 @@ extends <a href="../impl/PersistentTopicsBase.html" title="class in org.apache.p
                  boolean&nbsp;authoritative)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i76" class="altColor">
+<tr id="i77" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeReplicationClusters(javax.ws.rs.container.AsyncResponse,java.lang.String,java.lang.String,java.lang.String,org.apache.pulsar.common.policies.data.BacklogQuota.BacklogQuotaType,boolean)">removeReplicationClusters</a></span>&#8203;(javax.ws.rs.container.AsyncResponse&nbsp;asyncResponse,
                          java.lang.String&nbsp;tenant,
@@ -994,7 +1006,7 @@ extends <a href="../impl/PersistentTopicsBase.html" title="class in org.apache.p
                          boolean&nbsp;authoritative)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i77" class="rowColor">
+<tr id="i78" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeReplicatorDispatchRate(javax.ws.rs.container.AsyncResponse,java.lang.String,java.lang.String,java.lang.String,boolean,boolean)">removeReplicatorDispatchRate</a></span>&#8203;(javax.ws.rs.container.AsyncResponse&nbsp;asyncResponse,
                             java.lang.String&nbsp;tenant,
@@ -1004,7 +1016,7 @@ extends <a href="../impl/PersistentTopicsBase.html" title="class in org.apache.p
                             boolean&nbsp;authoritative)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i78" class="altColor">
+<tr id="i79" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeRetention(javax.ws.rs.container.AsyncResponse,java.lang.String,java.lang.String,java.lang.String,boolean,boolean)">removeRetention</a></span>&#8203;(javax.ws.rs.container.AsyncResponse&nbsp;asyncResponse,
                java.lang.String&nbsp;tenant,
@@ -1014,7 +1026,7 @@ extends <a href="../impl/PersistentTopicsBase.html" title="class in org.apache.p
                boolean&nbsp;authoritative)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i79" class="rowColor">
+<tr id="i80" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeSchemaCompatibilityStrategy(javax.ws.rs.container.AsyncResponse,java.lang.String,java.lang.String,java.lang.String,boolean,org.apache.pulsar.common.policies.data.SchemaCompatibilityStrategy)">removeSchemaCompatibilityStrategy</a></span>&#8203;(javax.ws.rs.container.AsyncResponse&nbsp;asyncResponse,
                                  java.lang.String&nbsp;tenant,
@@ -1024,7 +1036,7 @@ extends <a href="../impl/PersistentTopicsBase.html" title="class in org.apache.p
                                  org.apache.pulsar.common.policies.data.SchemaCompatibilityStrategy&nbsp;strategy)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i80" class="altColor">
+<tr id="i81" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeSubscribeRate(javax.ws.rs.container.AsyncResponse,java.lang.String,java.lang.String,java.lang.String,boolean,boolean,org.apache.pulsar.common.policies.data.SubscribeRate)">removeSubscribeRate</a></span>&#8203;(javax.ws.rs.container.AsyncResponse&nbsp;asyncResponse,
                    java.lang.String&nbsp;tenant,
@@ -1035,7 +1047,7 @@ extends <a href="../impl/PersistentTopicsBase.html" title="class in org.apache.p
                    org.apache.pulsar.common.policies.data.SubscribeRate&nbsp;subscribeRate)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i81" class="rowColor">
+<tr id="i82" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeSubscriptionDispatchRate(javax.ws.rs.container.AsyncResponse,java.lang.String,java.lang.String,java.lang.String,boolean,boolean)">removeSubscriptionDispatchRate</a></span>&#8203;(javax.ws.rs.container.AsyncResponse&nbsp;asyncResponse,
                               java.lang.String&nbsp;tenant,
@@ -1045,7 +1057,18 @@ extends <a href="../impl/PersistentTopicsBase.html" title="class in org.apache.p
                               boolean&nbsp;authoritative)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i82" class="altColor">
+<tr id="i83" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeSubscriptionLevelDispatchRate(javax.ws.rs.container.AsyncResponse,java.lang.String,java.lang.String,java.lang.String,java.lang.String,boolean,boolean)">removeSubscriptionLevelDispatchRate</a></span>&#8203;(javax.ws.rs.container.AsyncResponse&nbsp;asyncResponse,
+                                   java.lang.String&nbsp;tenant,
+                                   java.lang.String&nbsp;namespace,
+                                   java.lang.String&nbsp;encodedTopic,
+                                   java.lang.String&nbsp;encodedSubscriptionName,
+                                   boolean&nbsp;isGlobal,
+                                   boolean&nbsp;authoritative)</code></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr id="i84" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeSubscriptionTypesEnabled(javax.ws.rs.container.AsyncResponse,java.lang.String,java.lang.String,java.lang.String,boolean,boolean)">removeSubscriptionTypesEnabled</a></span>&#8203;(javax.ws.rs.container.AsyncResponse&nbsp;asyncResponse,
                               java.lang.String&nbsp;tenant,
@@ -1055,7 +1078,7 @@ extends <a href="../impl/PersistentTopicsBase.html" title="class in org.apache.p
                               boolean&nbsp;authoritative)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i83" class="rowColor">
+<tr id="i85" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#resetCursor(javax.ws.rs.container.AsyncResponse,java.lang.String,java.lang.String,java.lang.String,java.lang.String,long,boolean)">resetCursor</a></span>&#8203;(javax.ws.rs.container.AsyncResponse&nbsp;asyncResponse,
            java.lang.String&nbsp;tenant,
@@ -1066,7 +1089,7 @@ extends <a href="../impl/PersistentTopicsBase.html" title="class in org.apache.p
            boolean&nbsp;authoritative)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i84" class="altColor">
+<tr id="i86" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#resetCursorOnPosition(javax.ws.rs.container.AsyncResponse,java.lang.String,java.lang.String,java.lang.String,java.lang.String,boolean,org.apache.pulsar.client.impl.ResetCursorData)">resetCursorOnPosition</a></span>&#8203;(javax.ws.rs.container.AsyncResponse&nbsp;asyncResponse,
                      java.lang.String&nbsp;tenant,
@@ -1077,7 +1100,7 @@ extends <a href="../impl/PersistentTopicsBase.html" title="class in org.apache.p
                      org.apache.pulsar.client.impl.ResetCursorData&nbsp;resetCursorData)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i85" class="rowColor">
+<tr id="i87" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#revokePermissionsOnTopic(javax.ws.rs.container.AsyncResponse,java.lang.String,java.lang.String,java.lang.String,java.lang.String)">revokePermissionsOnTopic</a></span>&#8203;(javax.ws.rs.container.AsyncResponse&nbsp;asyncResponse,
                         java.lang.String&nbsp;tenant,
@@ -1086,7 +1109,7 @@ extends <a href="../impl/PersistentTopicsBase.html" title="class in org.apache.p
                         java.lang.String&nbsp;role)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i86" class="altColor">
+<tr id="i88" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setBacklogQuota(javax.ws.rs.container.AsyncResponse,java.lang.String,java.lang.String,java.lang.String,boolean,boolean,org.apache.pulsar.common.policies.data.BacklogQuota.BacklogQuotaType,org.apache.pulsar.common.policies.data.impl.BacklogQuotaImpl)">setBacklogQuota</a></span>&#8203;(javax.ws.rs.container.AsyncResponse&nbsp;asyncResponse,
                java.lang.String&nbsp;tenant,
@@ -1098,7 +1121,7 @@ extends <a href="../impl/PersistentTopicsBase.html" title="class in org.apache.p
                org.apache.pulsar.common.policies.data.impl.BacklogQuotaImpl&nbsp;backlogQuota)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i87" class="rowColor">
+<tr id="i89" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setCompactionThreshold(javax.ws.rs.container.AsyncResponse,java.lang.String,java.lang.String,java.lang.String,boolean,boolean,long)">setCompactionThreshold</a></span>&#8203;(javax.ws.rs.container.AsyncResponse&nbsp;asyncResponse,
                       java.lang.String&nbsp;tenant,
@@ -1109,7 +1132,7 @@ extends <a href="../impl/PersistentTopicsBase.html" title="class in org.apache.p
                       long&nbsp;compactionThreshold)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i88" class="altColor">
+<tr id="i90" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setDeduplication(javax.ws.rs.container.AsyncResponse,java.lang.String,java.lang.String,java.lang.String,boolean,boolean,java.lang.Boolean)">setDeduplication</a></span>&#8203;(javax.ws.rs.container.AsyncResponse&nbsp;asyncResponse,
                 java.lang.String&nbsp;tenant,
@@ -1120,7 +1143,7 @@ extends <a href="../impl/PersistentTopicsBase.html" title="class in org.apache.p
                 java.lang.Boolean&nbsp;enabled)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i89" class="rowColor">
+<tr id="i91" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setDeduplicationSnapshotInterval(javax.ws.rs.container.AsyncResponse,java.lang.String,java.lang.String,java.lang.String,java.lang.Integer,boolean,boolean)">setDeduplicationSnapshotInterval</a></span>&#8203;(javax.ws.rs.container.AsyncResponse&nbsp;asyncResponse,
                                 java.lang.String&nbsp;tenant,
@@ -1131,7 +1154,7 @@ extends <a href="../impl/PersistentTopicsBase.html" title="class in org.apache.p
                                 boolean&nbsp;authoritative)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i90" class="altColor">
+<tr id="i92" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setDelayedDeliveryPolicies(javax.ws.rs.container.AsyncResponse,java.lang.String,java.lang.String,java.lang.String,boolean,boolean,org.apache.pulsar.common.policies.data.DelayedDeliveryPolicies)">setDelayedDeliveryPolicies</a></span>&#8203;(javax.ws.rs.container.AsyncResponse&nbsp;asyncResponse,
                           java.lang.String&nbsp;tenant,
@@ -1142,7 +1165,7 @@ extends <a href="../impl/PersistentTopicsBase.html" title="class in org.apache.p
                           org.apache.pulsar.common.policies.data.DelayedDeliveryPolicies&nbsp;deliveryPolicies)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i91" class="rowColor">
+<tr id="i93" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setDispatchRate(javax.ws.rs.container.AsyncResponse,java.lang.String,java.lang.String,java.lang.String,boolean,boolean,org.apache.pulsar.common.policies.data.impl.DispatchRateImpl)">setDispatchRate</a></span>&#8203;(javax.ws.rs.container.AsyncResponse&nbsp;asyncResponse,
                java.lang.String&nbsp;tenant,
@@ -1153,7 +1176,7 @@ extends <a href="../impl/PersistentTopicsBase.html" title="class in org.apache.p
                org.apache.pulsar.common.policies.data.impl.DispatchRateImpl&nbsp;dispatchRate)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i92" class="altColor">
+<tr id="i94" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setInactiveTopicPolicies(javax.ws.rs.container.AsyncResponse,java.lang.String,java.lang.String,java.lang.String,boolean,boolean,org.apache.pulsar.common.policies.data.InactiveTopicPolicies)">setInactiveTopicPolicies</a></span>&#8203;(javax.ws.rs.container.AsyncResponse&nbsp;asyncResponse,
                         java.lang.String&nbsp;tenant,
@@ -1164,7 +1187,7 @@ extends <a href="../impl/PersistentTopicsBase.html" title="class in org.apache.p
                         org.apache.pulsar.common.policies.data.InactiveTopicPolicies&nbsp;inactiveTopicPolicies)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i93" class="rowColor">
+<tr id="i95" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setMaxConsumers(javax.ws.rs.container.AsyncResponse,java.lang.String,java.lang.String,java.lang.String,boolean,boolean,int)">setMaxConsumers</a></span>&#8203;(javax.ws.rs.container.AsyncResponse&nbsp;asyncResponse,
                java.lang.String&nbsp;tenant,
@@ -1175,7 +1198,7 @@ extends <a href="../impl/PersistentTopicsBase.html" title="class in org.apache.p
                int&nbsp;maxConsumers)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i94" class="altColor">
+<tr id="i96" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setMaxConsumersPerSubscription(javax.ws.rs.container.AsyncResponse,java.lang.String,java.lang.String,java.lang.String,boolean,boolean,int)">setMaxConsumersPerSubscription</a></span>&#8203;(javax.ws.rs.container.AsyncResponse&nbsp;asyncResponse,
                               java.lang.String&nbsp;tenant,
@@ -1186,7 +1209,7 @@ extends <a href="../impl/PersistentTopicsBase.html" title="class in org.apache.p
                               int&nbsp;maxConsumersPerSubscription)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i95" class="rowColor">
+<tr id="i97" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setMaxMessageSize(javax.ws.rs.container.AsyncResponse,java.lang.String,java.lang.String,java.lang.String,boolean,boolean,int)">setMaxMessageSize</a></span>&#8203;(javax.ws.rs.container.AsyncResponse&nbsp;asyncResponse,
                  java.lang.String&nbsp;tenant,
@@ -1197,7 +1220,7 @@ extends <a href="../impl/PersistentTopicsBase.html" title="class in org.apache.p
                  int&nbsp;maxMessageSize)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i96" class="altColor">
+<tr id="i98" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setMaxProducers(javax.ws.rs.container.AsyncResponse,java.lang.String,java.lang.String,java.lang.String,boolean,boolean,int)">setMaxProducers</a></span>&#8203;(javax.ws.rs.container.AsyncResponse&nbsp;asyncResponse,
                java.lang.String&nbsp;tenant,
@@ -1208,7 +1231,7 @@ extends <a href="../impl/PersistentTopicsBase.html" title="class in org.apache.p
                int&nbsp;maxProducers)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i97" class="rowColor">
+<tr id="i99" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setMaxSubscriptionsPerTopic(javax.ws.rs.container.AsyncResponse,java.lang.String,java.lang.String,java.lang.String,boolean,boolean,int)">setMaxSubscriptionsPerTopic</a></span>&#8203;(javax.ws.rs.container.AsyncResponse&nbsp;asyncResponse,
                            java.lang.String&nbsp;tenant,
@@ -1219,7 +1242,7 @@ extends <a href="../impl/PersistentTopicsBase.html" title="class in org.apache.p
                            int&nbsp;maxSubscriptionsPerTopic)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i98" class="altColor">
+<tr id="i100" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setMaxUnackedMessagesOnConsumer(javax.ws.rs.container.AsyncResponse,java.lang.String,java.lang.String,java.lang.String,boolean,boolean,java.lang.Integer)">setMaxUnackedMessagesOnConsumer</a></span>&#8203;(javax.ws.rs.container.AsyncResponse&nbsp;asyncResponse,
                                java.lang.String&nbsp;tenant,
@@ -1230,7 +1253,7 @@ extends <a href="../impl/PersistentTopicsBase.html" title="class in org.apache.p
                                java.lang.Integer&nbsp;maxUnackedNum)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i99" class="rowColor">
+<tr id="i101" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setMaxUnackedMessagesOnSubscription(javax.ws.rs.container.AsyncResponse,java.lang.String,java.lang.String,java.lang.String,boolean,boolean,java.lang.Integer)">setMaxUnackedMessagesOnSubscription</a></span>&#8203;(javax.ws.rs.container.AsyncResponse&nbsp;asyncResponse,
                                    java.lang.String&nbsp;tenant,
@@ -1241,7 +1264,7 @@ extends <a href="../impl/PersistentTopicsBase.html" title="class in org.apache.p
                                    java.lang.Integer&nbsp;maxUnackedNum)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i100" class="altColor">
+<tr id="i102" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setMessageTTL(javax.ws.rs.container.AsyncResponse,java.lang.String,java.lang.String,java.lang.String,java.lang.Integer,boolean,boolean)">setMessageTTL</a></span>&#8203;(javax.ws.rs.container.AsyncResponse&nbsp;asyncResponse,
              java.lang.String&nbsp;tenant,
@@ -1252,7 +1275,7 @@ extends <a href="../impl/PersistentTopicsBase.html" title="class in org.apache.p
              boolean&nbsp;authoritative)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i101" class="rowColor">
+<tr id="i103" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setOffloadPolicies(javax.ws.rs.container.AsyncResponse,java.lang.String,java.lang.String,java.lang.String,boolean,boolean,org.apache.pulsar.common.policies.data.OffloadPoliciesImpl)">setOffloadPolicies</a></span>&#8203;(javax.ws.rs.container.AsyncResponse&nbsp;asyncResponse,
                   java.lang.String&nbsp;tenant,
@@ -1263,7 +1286,7 @@ extends <a href="../impl/PersistentTopicsBase.html" title="class in org.apache.p
                   org.apache.pulsar.common.policies.data.OffloadPoliciesImpl&nbsp;offloadPolicies)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i102" class="altColor">
+<tr id="i104" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setPersistence(javax.ws.rs.container.AsyncResponse,java.lang.String,java.lang.String,java.lang.String,boolean,boolean,org.apache.pulsar.common.policies.data.PersistencePolicies)">setPersistence</a></span>&#8203;(javax.ws.rs.container.AsyncResponse&nbsp;asyncResponse,
               java.lang.String&nbsp;tenant,
@@ -1274,7 +1297,7 @@ extends <a href="../impl/PersistentTopicsBase.html" title="class in org.apache.p
               org.apache.pulsar.common.policies.data.PersistencePolicies&nbsp;persistencePolicies)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i103" class="rowColor">
+<tr id="i105" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setPublishRate(javax.ws.rs.container.AsyncResponse,java.lang.String,java.lang.String,java.lang.String,boolean,boolean,org.apache.pulsar.common.policies.data.PublishRate)">setPublishRate</a></span>&#8203;(javax.ws.rs.container.AsyncResponse&nbsp;asyncResponse,
               java.lang.String&nbsp;tenant,
@@ -1285,7 +1308,7 @@ extends <a href="../impl/PersistentTopicsBase.html" title="class in org.apache.p
               org.apache.pulsar.common.policies.data.PublishRate&nbsp;publishRate)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i104" class="altColor">
+<tr id="i106" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setReplicatedSubscriptionStatus(javax.ws.rs.container.AsyncResponse,java.lang.String,java.lang.String,java.lang.String,java.lang.String,boolean,boolean)">setReplicatedSubscriptionStatus</a></span>&#8203;(javax.ws.rs.container.AsyncResponse&nbsp;asyncResponse,
                                java.lang.String&nbsp;tenant,
@@ -1296,7 +1319,7 @@ extends <a href="../impl/PersistentTopicsBase.html" title="class in org.apache.p
                                boolean&nbsp;enabled)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i105" class="rowColor">
+<tr id="i107" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setReplicationClusters(javax.ws.rs.container.AsyncResponse,java.lang.String,java.lang.String,java.lang.String,boolean,java.util.List)">setReplicationClusters</a></span>&#8203;(javax.ws.rs.container.AsyncResponse&nbsp;asyncResponse,
                       java.lang.String&nbsp;tenant,
@@ -1306,7 +1329,7 @@ extends <a href="../impl/PersistentTopicsBase.html" title="class in org.apache.p
                       java.util.List&lt;java.lang.String&gt;&nbsp;clusterIds)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i106" class="altColor">
+<tr id="i108" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setReplicatorDispatchRate(javax.ws.rs.container.AsyncResponse,java.lang.String,java.lang.String,java.lang.String,boolean,boolean,org.apache.pulsar.common.policies.data.impl.DispatchRateImpl)">setReplicatorDispatchRate</a></span>&#8203;(javax.ws.rs.container.AsyncResponse&nbsp;asyncResponse,
                          java.lang.String&nbsp;tenant,
@@ -1317,7 +1340,7 @@ extends <a href="../impl/PersistentTopicsBase.html" title="class in org.apache.p
                          org.apache.pulsar.common.policies.data.impl.DispatchRateImpl&nbsp;dispatchRate)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i107" class="rowColor">
+<tr id="i109" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setRetention(javax.ws.rs.container.AsyncResponse,java.lang.String,java.lang.String,java.lang.String,boolean,boolean,org.apache.pulsar.common.policies.data.RetentionPolicies)">setRetention</a></span>&#8203;(javax.ws.rs.container.AsyncResponse&nbsp;asyncResponse,
             java.lang.String&nbsp;tenant,
@@ -1328,7 +1351,7 @@ extends <a href="../impl/PersistentTopicsBase.html" title="class in org.apache.p
             org.apache.pulsar.common.policies.data.RetentionPolicies&nbsp;retention)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i108" class="altColor">
+<tr id="i110" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setSchemaCompatibilityStrategy(javax.ws.rs.container.AsyncResponse,java.lang.String,java.lang.String,java.lang.String,boolean,org.apache.pulsar.common.policies.data.SchemaCompatibilityStrategy)">setSchemaCompatibilityStrategy</a></span>&#8203;(javax.ws.rs.container.AsyncResponse&nbsp;asyncResponse,
                               java.lang.String&nbsp;tenant,
@@ -1338,7 +1361,7 @@ extends <a href="../impl/PersistentTopicsBase.html" title="class in org.apache.p
                               org.apache.pulsar.common.policies.data.SchemaCompatibilityStrategy&nbsp;strategy)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i109" class="rowColor">
+<tr id="i111" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setSubscribeRate(javax.ws.rs.container.AsyncResponse,java.lang.String,java.lang.String,java.lang.String,boolean,boolean,org.apache.pulsar.common.policies.data.SubscribeRate)">setSubscribeRate</a></span>&#8203;(javax.ws.rs.container.AsyncResponse&nbsp;asyncResponse,
                 java.lang.String&nbsp;tenant,
@@ -1349,7 +1372,7 @@ extends <a href="../impl/PersistentTopicsBase.html" title="class in org.apache.p
                 org.apache.pulsar.common.policies.data.SubscribeRate&nbsp;subscribeRate)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i110" class="altColor">
+<tr id="i112" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setSubscriptionDispatchRate(javax.ws.rs.container.AsyncResponse,java.lang.String,java.lang.String,java.lang.String,boolean,boolean,org.apache.pulsar.common.policies.data.impl.DispatchRateImpl)">setSubscriptionDispatchRate</a></span>&#8203;(javax.ws.rs.container.AsyncResponse&nbsp;asyncResponse,
                            java.lang.String&nbsp;tenant,
@@ -1360,7 +1383,19 @@ extends <a href="../impl/PersistentTopicsBase.html" title="class in org.apache.p
                            org.apache.pulsar.common.policies.data.impl.DispatchRateImpl&nbsp;dispatchRate)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i111" class="rowColor">
+<tr id="i113" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setSubscriptionLevelDispatchRate(javax.ws.rs.container.AsyncResponse,java.lang.String,java.lang.String,java.lang.String,java.lang.String,boolean,boolean,org.apache.pulsar.common.policies.data.impl.DispatchRateImpl)">setSubscriptionLevelDispatchRate</a></span>&#8203;(javax.ws.rs.container.AsyncResponse&nbsp;asyncResponse,
+                                java.lang.String&nbsp;tenant,
+                                java.lang.String&nbsp;namespace,
+                                java.lang.String&nbsp;encodedTopic,
+                                java.lang.String&nbsp;encodedSubscriptionName,
+                                boolean&nbsp;authoritative,
+                                boolean&nbsp;isGlobal,
+                                org.apache.pulsar.common.policies.data.impl.DispatchRateImpl&nbsp;dispatchRate)</code></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr id="i114" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setSubscriptionTypesEnabled(javax.ws.rs.container.AsyncResponse,java.lang.String,java.lang.String,java.lang.String,boolean,boolean,java.util.Set)">setSubscriptionTypesEnabled</a></span>&#8203;(javax.ws.rs.container.AsyncResponse&nbsp;asyncResponse,
                            java.lang.String&nbsp;tenant,
@@ -1371,7 +1406,7 @@ extends <a href="../impl/PersistentTopicsBase.html" title="class in org.apache.p
                            java.util.Set&lt;org.apache.pulsar.client.api.SubscriptionType&gt;&nbsp;subscriptionTypesEnabled)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i112" class="altColor">
+<tr id="i115" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#skipAllMessages(javax.ws.rs.container.AsyncResponse,java.lang.String,java.lang.String,java.lang.String,java.lang.String,boolean)">skipAllMessages</a></span>&#8203;(javax.ws.rs.container.AsyncResponse&nbsp;asyncResponse,
                java.lang.String&nbsp;tenant,
@@ -1381,7 +1416,7 @@ extends <a href="../impl/PersistentTopicsBase.html" title="class in org.apache.p
                boolean&nbsp;authoritative)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i113" class="rowColor">
+<tr id="i116" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#skipMessages(javax.ws.rs.container.AsyncResponse,java.lang.String,java.lang.String,java.lang.String,java.lang.String,int,boolean)">skipMessages</a></span>&#8203;(javax.ws.rs.container.AsyncResponse&nbsp;asyncResponse,
             java.lang.String&nbsp;tenant,
@@ -1392,7 +1427,7 @@ extends <a href="../impl/PersistentTopicsBase.html" title="class in org.apache.p
             boolean&nbsp;authoritative)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i114" class="altColor">
+<tr id="i117" class="rowColor">
 <td class="colFirst"><code>org.apache.pulsar.client.api.MessageId</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#terminate(java.lang.String,java.lang.String,java.lang.String,boolean)">terminate</a></span>&#8203;(java.lang.String&nbsp;tenant,
          java.lang.String&nbsp;namespace,
@@ -1400,7 +1435,7 @@ extends <a href="../impl/PersistentTopicsBase.html" title="class in org.apache.p
          boolean&nbsp;authoritative)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i115" class="rowColor">
+<tr id="i118" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#terminatePartitionedTopic(javax.ws.rs.container.AsyncResponse,java.lang.String,java.lang.String,java.lang.String,boolean)">terminatePartitionedTopic</a></span>&#8203;(javax.ws.rs.container.AsyncResponse&nbsp;asyncResponse,
                          java.lang.String&nbsp;tenant,
@@ -1409,7 +1444,7 @@ extends <a href="../impl/PersistentTopicsBase.html" title="class in org.apache.p
                          boolean&nbsp;authoritative)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i116" class="altColor">
+<tr id="i119" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#triggerOffload(javax.ws.rs.container.AsyncResponse,java.lang.String,java.lang.String,java.lang.String,boolean,org.apache.pulsar.client.impl.MessageIdImpl)">triggerOffload</a></span>&#8203;(javax.ws.rs.container.AsyncResponse&nbsp;asyncResponse,
               java.lang.String&nbsp;tenant,
@@ -1419,7 +1454,7 @@ extends <a href="../impl/PersistentTopicsBase.html" title="class in org.apache.p
               org.apache.pulsar.client.impl.MessageIdImpl&nbsp;messageId)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i117" class="rowColor">
+<tr id="i120" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#truncateTopic(javax.ws.rs.container.AsyncResponse,java.lang.String,java.lang.String,java.lang.String,boolean)">truncateTopic</a></span>&#8203;(javax.ws.rs.container.AsyncResponse&nbsp;asyncResponse,
              java.lang.String&nbsp;tenant,
@@ -1428,7 +1463,7 @@ extends <a href="../impl/PersistentTopicsBase.html" title="class in org.apache.p
              boolean&nbsp;authoritative)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i118" class="altColor">
+<tr id="i121" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#unloadTopic(javax.ws.rs.container.AsyncResponse,java.lang.String,java.lang.String,java.lang.String,boolean)">unloadTopic</a></span>&#8203;(javax.ws.rs.container.AsyncResponse&nbsp;asyncResponse,
            java.lang.String&nbsp;tenant,
@@ -1437,7 +1472,7 @@ extends <a href="../impl/PersistentTopicsBase.html" title="class in org.apache.p
            boolean&nbsp;authoritative)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i119" class="rowColor">
+<tr id="i122" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#updatePartitionedTopic(javax.ws.rs.container.AsyncResponse,java.lang.String,java.lang.String,java.lang.String,boolean,boolean,boolean,int)">updatePartitionedTopic</a></span>&#8203;(javax.ws.rs.container.AsyncResponse&nbsp;asyncResponse,
                       java.lang.String&nbsp;tenant,
@@ -1457,7 +1492,7 @@ extends <a href="../impl/PersistentTopicsBase.html" title="class in org.apache.p
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.pulsar.broker.admin.impl.<a href="../impl/PersistentTopicsBase.html" title="class in org.apache.pulsar.broker.admin.impl">PersistentTopicsBase</a></h3>
-<code><a href="../impl/PersistentTopicsBase.html#getPartitionedTopicMetadata(org.apache.pulsar.broker.PulsarService,java.lang.String,java.lang.String,org.apache.pulsar.broker.authentication.AuthenticationDataSource,org.apache.pulsar.common.naming.TopicName)">getPartitionedTopicMetadata</a>, <a href="../impl/PersistentTopicsBase.html#handleTopicPolicyException(java.lang.String,java.lang.Throwable,javax.ws.rs.container.AsyncResponse)">handleTopicPolicyException</a>, <a href="../impl/Persis [...]
+<code><a href="../impl/PersistentTopicsBase.html#getPartitionedTopicMetadata(org.apache.pulsar.broker.PulsarService,java.lang.String,java.lang.String,org.apache.pulsar.broker.authentication.AuthenticationDataSource,org.apache.pulsar.common.naming.TopicName)">getPartitionedTopicMetadata</a>, <a href="../impl/PersistentTopicsBase.html#handleTopicPolicyException(java.lang.String,java.lang.Throwable,javax.ws.rs.container.AsyncResponse)">handleTopicPolicyException</a>, <a href="../impl/Persis [...]
 </ul>
 <ul class="blockList">
 <li class="blockList"><a id="methods.inherited.from.class.org.apache.pulsar.broker.admin.AdminResource">
@@ -3724,6 +3759,81 @@ public&nbsp;void&nbsp;removeSubscriptionDispatchRate&#8203;(@Suspended
                                            boolean&nbsp;authoritative)</pre>
 </li>
 </ul>
+<a id="getSubscriptionLevelDispatchRate(javax.ws.rs.container.AsyncResponse,java.lang.String,java.lang.String,java.lang.String,java.lang.String,boolean,boolean,boolean)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getSubscriptionLevelDispatchRate</h4>
+<pre class="methodSignature">@GET
+@Path("/{tenant}/{namespace}/{topic}/{subName}/dispatchRate")
+public&nbsp;void&nbsp;getSubscriptionLevelDispatchRate&#8203;(@Suspended
+                                             javax.ws.rs.container.AsyncResponse&nbsp;asyncResponse,
+                                             @PathParam("tenant")
+                                             java.lang.String&nbsp;tenant,
+                                             @PathParam("namespace")
+                                             java.lang.String&nbsp;namespace,
+                                             @PathParam("topic") @Encoded
+                                             java.lang.String&nbsp;encodedTopic,
+                                             @PathParam("subName") @Encoded
+                                             java.lang.String&nbsp;encodedSubscriptionName,
+                                             @QueryParam("applied") @DefaultValue("false")
+                                             boolean&nbsp;applied,
+                                             @QueryParam("isGlobal") @DefaultValue("false")
+                                             boolean&nbsp;isGlobal,
+                                             @QueryParam("authoritative") @DefaultValue("false")
+                                             boolean&nbsp;authoritative)</pre>
+</li>
+</ul>
+<a id="setSubscriptionLevelDispatchRate(javax.ws.rs.container.AsyncResponse,java.lang.String,java.lang.String,java.lang.String,java.lang.String,boolean,boolean,org.apache.pulsar.common.policies.data.impl.DispatchRateImpl)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setSubscriptionLevelDispatchRate</h4>
+<pre class="methodSignature">@POST
+@Path("/{tenant}/{namespace}/{topic}/{subName}/dispatchRate")
+public&nbsp;void&nbsp;setSubscriptionLevelDispatchRate&#8203;(@Suspended
+                                             javax.ws.rs.container.AsyncResponse&nbsp;asyncResponse,
+                                             @PathParam("tenant")
+                                             java.lang.String&nbsp;tenant,
+                                             @PathParam("namespace")
+                                             java.lang.String&nbsp;namespace,
+                                             @PathParam("topic") @Encoded
+                                             java.lang.String&nbsp;encodedTopic,
+                                             @PathParam("subName") @Encoded
+                                             java.lang.String&nbsp;encodedSubscriptionName,
+                                             @QueryParam("authoritative") @DefaultValue("false")
+                                             boolean&nbsp;authoritative,
+                                             @QueryParam("isGlobal") @DefaultValue("false")
+                                             boolean&nbsp;isGlobal,
+                                             org.apache.pulsar.common.policies.data.impl.DispatchRateImpl&nbsp;dispatchRate)</pre>
+</li>
+</ul>
+<a id="removeSubscriptionLevelDispatchRate(javax.ws.rs.container.AsyncResponse,java.lang.String,java.lang.String,java.lang.String,java.lang.String,boolean,boolean)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>removeSubscriptionLevelDispatchRate</h4>
+<pre class="methodSignature">@DELETE
+@Path("/{tenant}/{namespace}/{topic}/{subName}/dispatchRate")
+public&nbsp;void&nbsp;removeSubscriptionLevelDispatchRate&#8203;(@Suspended
+                                                javax.ws.rs.container.AsyncResponse&nbsp;asyncResponse,
+                                                @PathParam("tenant")
+                                                java.lang.String&nbsp;tenant,
+                                                @PathParam("namespace")
+                                                java.lang.String&nbsp;namespace,
+                                                @PathParam("topic") @Encoded
+                                                java.lang.String&nbsp;encodedTopic,
+                                                @PathParam("subName") @Encoded
+                                                java.lang.String&nbsp;encodedSubscriptionName,
+                                                @QueryParam("isGlobal") @DefaultValue("false")
+                                                boolean&nbsp;isGlobal,
+                                                @QueryParam("authoritative") @DefaultValue("false")
+                                                boolean&nbsp;authoritative)</pre>
+</li>
+</ul>
 <a id="getCompactionThreshold(javax.ws.rs.container.AsyncResponse,java.lang.String,java.lang.String,java.lang.String,boolean,boolean,boolean)">
 <!--   -->
 </a>
diff --git a/content/api/pulsar-broker/2.11.0-SNAPSHOT/org/apache/pulsar/broker/rest/Topics.html b/content/api/pulsar-broker/2.11.0-SNAPSHOT/org/apache/pulsar/broker/rest/Topics.html
index f15e55948be..54471fcbbb3 100644
--- a/content/api/pulsar-broker/2.11.0-SNAPSHOT/org/apache/pulsar/broker/rest/Topics.html
+++ b/content/api/pulsar-broker/2.11.0-SNAPSHOT/org/apache/pulsar/broker/rest/Topics.html
@@ -276,7 +276,7 @@ extends <a href="TopicsBase.html" title="class in org.apache.pulsar.broker.rest"
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.pulsar.broker.admin.impl.<a href="../admin/impl/PersistentTopicsBase.html" title="class in org.apache.pulsar.broker.admin.impl">PersistentTopicsBase</a></h3>
-<code><a href="../admin/impl/PersistentTopicsBase.html#getPartitionedTopicMetadata(org.apache.pulsar.broker.PulsarService,java.lang.String,java.lang.String,org.apache.pulsar.broker.authentication.AuthenticationDataSource,org.apache.pulsar.common.naming.TopicName)">getPartitionedTopicMetadata</a>, <a href="../admin/impl/PersistentTopicsBase.html#handleTopicPolicyException(java.lang.String,java.lang.Throwable,javax.ws.rs.container.AsyncResponse)">handleTopicPolicyException</a>, <a href=".. [...]
+<code><a href="../admin/impl/PersistentTopicsBase.html#getPartitionedTopicMetadata(org.apache.pulsar.broker.PulsarService,java.lang.String,java.lang.String,org.apache.pulsar.broker.authentication.AuthenticationDataSource,org.apache.pulsar.common.naming.TopicName)">getPartitionedTopicMetadata</a>, <a href="../admin/impl/PersistentTopicsBase.html#handleTopicPolicyException(java.lang.String,java.lang.Throwable,javax.ws.rs.container.AsyncResponse)">handleTopicPolicyException</a>, <a href=".. [...]
 </ul>
 <ul class="blockList">
 <li class="blockList"><a id="methods.inherited.from.class.org.apache.pulsar.broker.admin.AdminResource">
diff --git a/content/api/pulsar-broker/2.11.0-SNAPSHOT/org/apache/pulsar/broker/rest/TopicsBase.html b/content/api/pulsar-broker/2.11.0-SNAPSHOT/org/apache/pulsar/broker/rest/TopicsBase.html
index 3dd954852a0..82ff1f3c204 100644
--- a/content/api/pulsar-broker/2.11.0-SNAPSHOT/org/apache/pulsar/broker/rest/TopicsBase.html
+++ b/content/api/pulsar-broker/2.11.0-SNAPSHOT/org/apache/pulsar/broker/rest/TopicsBase.html
@@ -249,7 +249,7 @@ extends <a href="../admin/impl/PersistentTopicsBase.html" title="class in org.ap
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.pulsar.broker.admin.impl.<a href="../admin/impl/PersistentTopicsBase.html" title="class in org.apache.pulsar.broker.admin.impl">PersistentTopicsBase</a></h3>
-<code><a href="../admin/impl/PersistentTopicsBase.html#getPartitionedTopicMetadata(org.apache.pulsar.broker.PulsarService,java.lang.String,java.lang.String,org.apache.pulsar.broker.authentication.AuthenticationDataSource,org.apache.pulsar.common.naming.TopicName)">getPartitionedTopicMetadata</a>, <a href="../admin/impl/PersistentTopicsBase.html#handleTopicPolicyException(java.lang.String,java.lang.Throwable,javax.ws.rs.container.AsyncResponse)">handleTopicPolicyException</a>, <a href=".. [...]
+<code><a href="../admin/impl/PersistentTopicsBase.html#getPartitionedTopicMetadata(org.apache.pulsar.broker.PulsarService,java.lang.String,java.lang.String,org.apache.pulsar.broker.authentication.AuthenticationDataSource,org.apache.pulsar.common.naming.TopicName)">getPartitionedTopicMetadata</a>, <a href="../admin/impl/PersistentTopicsBase.html#handleTopicPolicyException(java.lang.String,java.lang.Throwable,javax.ws.rs.container.AsyncResponse)">handleTopicPolicyException</a>, <a href=".. [...]
 </ul>
 <ul class="blockList">
 <li class="blockList"><a id="methods.inherited.from.class.org.apache.pulsar.broker.admin.AdminResource">
diff --git a/content/api/pulsar-broker/2.11.0-SNAPSHOT/org/apache/pulsar/broker/service/AbstractBaseDispatcher.html b/content/api/pulsar-broker/2.11.0-SNAPSHOT/org/apache/pulsar/broker/service/AbstractBaseDispatcher.html
index 93111559d98..3de851c8e49 100644
--- a/content/api/pulsar-broker/2.11.0-SNAPSHOT/org/apache/pulsar/broker/service/AbstractBaseDispatcher.html
+++ b/content/api/pulsar-broker/2.11.0-SNAPSHOT/org/apache/pulsar/broker/service/AbstractBaseDispatcher.html
@@ -26,7 +26,7 @@
     catch(err) {
     }
 //-->
-var data = {"i0":9,"i1":10,"i2":10,"i3":6,"i4":10,"i5":10,"i6":10,"i7":6,"i8":10,"i9":10,"i10":10};
+var data = {"i0":9,"i1":10,"i2":10,"i3":10,"i4":6,"i5":10,"i6":10,"i7":10,"i8":6,"i9":10,"i10":10,"i11":10};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -264,39 +264,44 @@ implements <a href="Dispatcher.html" title="interface in org.apache.pulsar.broke
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr id="i3" class="rowColor">
+<td class="colFirst"><code>protected java.lang.String</code></td>
+<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getSubscriptionName()">getSubscriptionName</a></span>()</code></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr id="i4" class="altColor">
 <td class="colFirst"><code>protected abstract boolean</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isConsumersExceededOnSubscription()">isConsumersExceededOnSubscription</a></span>()</code></th>
 <td class="colLast">
 <div class="block">Determine whether the number of consumers on the subscription reaches the threshold.</div>
 </td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code>protected boolean</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isConsumersExceededOnSubscription(org.apache.pulsar.broker.service.AbstractTopic,int)">isConsumersExceededOnSubscription</a></span>&#8203;(<a href="AbstractTopic.html" title="class in org.apache.pulsar.broker.service">AbstractTopic</a>&nbsp;topic,
                                  int&nbsp;consumerSize)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>protected byte[]</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#peekStickyKey(io.netty.buffer.ByteBuf)">peekStickyKey</a></span>&#8203;(io.netty.buffer.ByteBuf&nbsp;metadataAndPayload)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code>protected boolean</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#reachDispatchRateLimit(org.apache.pulsar.broker.service.persistent.DispatchRateLimiter)">reachDispatchRateLimit</a></span>&#8203;(<a href="persistent/DispatchRateLimiter.html" title="class in org.apache.pulsar.broker.service.persistent">DispatchRateLimiter</a>&nbsp;dispatchRateLimiter)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code>protected abstract void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#reScheduleRead()">reScheduleRead</a></span>()</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#resetCloseFuture()">resetCloseFuture</a></span>()</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i10" class="altColor">
 <td class="colFirst"><code>protected int</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#updateEntryWrapperWithMetadata(org.apache.pulsar.broker.service.EntryWrapper%5B%5D,java.util.List)">updateEntryWrapperWithMetadata</a></span>&#8203;(<a href="EntryWrapper.html" title="class in org.apache.pulsar.broker.service">EntryWrapper</a>[]&nbsp;entryWrappers,
                               java.util.List&lt;org.apache.bookkeeper.mledger.Entry&gt;&nbsp;entries)</code></th>
@@ -304,7 +309,7 @@ implements <a href="Dispatcher.html" title="interface in org.apache.pulsar.broke
 <div class="block">Update Entries with the metadata of each entry.</div>
 </td>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i11" class="rowColor">
 <td class="colFirst"><code>protected org.apache.commons.lang3.tuple.Pair&lt;java.lang.Integer,&#8203;java.lang.Long&gt;</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#updateMessagesToRead(org.apache.pulsar.broker.service.persistent.DispatchRateLimiter,int,long)">updateMessagesToRead</a></span>&#8203;(<a href="persistent/DispatchRateLimiter.html" title="class in org.apache.pulsar.broker.service.persistent">DispatchRateLimiter</a>&nbsp;dispatchRateLimiter,
                     int&nbsp;messagesToRead,
@@ -560,12 +565,21 @@ implements <a href="Dispatcher.html" title="interface in org.apache.pulsar.broke
 <a id="peekStickyKey(io.netty.buffer.ByteBuf)">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>peekStickyKey</h4>
 <pre class="methodSignature">protected&nbsp;byte[]&nbsp;peekStickyKey&#8203;(io.netty.buffer.ByteBuf&nbsp;metadataAndPayload)</pre>
 </li>
 </ul>
+<a id="getSubscriptionName()">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getSubscriptionName</h4>
+<pre class="methodSignature">protected&nbsp;java.lang.String&nbsp;getSubscriptionName()</pre>
+</li>
+</ul>
 </li>
 </ul>
 </section>
diff --git a/content/api/pulsar-broker/2.11.0-SNAPSHOT/org/apache/pulsar/broker/service/AbstractDispatcherMultipleConsumers.html b/content/api/pulsar-broker/2.11.0-SNAPSHOT/org/apache/pulsar/broker/service/AbstractDispatcherMultipleConsumers.html
index fd15b56052d..7576467440e 100644
--- a/content/api/pulsar-broker/2.11.0-SNAPSHOT/org/apache/pulsar/broker/service/AbstractDispatcherMultipleConsumers.html
+++ b/content/api/pulsar-broker/2.11.0-SNAPSHOT/org/apache/pulsar/broker/service/AbstractDispatcherMultipleConsumers.html
@@ -301,7 +301,7 @@ extends <a href="AbstractBaseDispatcher.html" title="class in org.apache.pulsar.
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.pulsar.broker.service.<a href="AbstractBaseDispatcher.html" title="class in org.apache.pulsar.broker.service">AbstractBaseDispatcher</a></h3>
-<code><a href="AbstractBaseDispatcher.html#computeReadLimits(int,int,long,long)">computeReadLimits</a>, <a href="AbstractBaseDispatcher.html#filterEntriesForConsumer(java.util.List,org.apache.pulsar.broker.service.EntryBatchSizes,org.apache.pulsar.broker.service.SendMessageInfo,org.apache.pulsar.broker.service.EntryBatchIndexesAcks,org.apache.bookkeeper.mledger.ManagedCursor,boolean)">filterEntriesForConsumer</a>, <a href="AbstractBaseDispatcher.html#filterEntriesForConsumer(java.util.Op [...]
+<code><a href="AbstractBaseDispatcher.html#computeReadLimits(int,int,long,long)">computeReadLimits</a>, <a href="AbstractBaseDispatcher.html#filterEntriesForConsumer(java.util.List,org.apache.pulsar.broker.service.EntryBatchSizes,org.apache.pulsar.broker.service.SendMessageInfo,org.apache.pulsar.broker.service.EntryBatchIndexesAcks,org.apache.bookkeeper.mledger.ManagedCursor,boolean)">filterEntriesForConsumer</a>, <a href="AbstractBaseDispatcher.html#filterEntriesForConsumer(java.util.Op [...]
 </ul>
 <ul class="blockList">
 <li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
diff --git a/content/api/pulsar-broker/2.11.0-SNAPSHOT/org/apache/pulsar/broker/service/AbstractDispatcherSingleActiveConsumer.html b/content/api/pulsar-broker/2.11.0-SNAPSHOT/org/apache/pulsar/broker/service/AbstractDispatcherSingleActiveConsumer.html
index 63cdd9e7c5f..6962df2a0ee 100644
--- a/content/api/pulsar-broker/2.11.0-SNAPSHOT/org/apache/pulsar/broker/service/AbstractDispatcherSingleActiveConsumer.html
+++ b/content/api/pulsar-broker/2.11.0-SNAPSHOT/org/apache/pulsar/broker/service/AbstractDispatcherSingleActiveConsumer.html
@@ -391,7 +391,7 @@ extends <a href="AbstractBaseDispatcher.html" title="class in org.apache.pulsar.
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.pulsar.broker.service.<a href="AbstractBaseDispatcher.html" title="class in org.apache.pulsar.broker.service">AbstractBaseDispatcher</a></h3>
-<code><a href="AbstractBaseDispatcher.html#computeReadLimits(int,int,long,long)">computeReadLimits</a>, <a href="AbstractBaseDispatcher.html#filterEntriesForConsumer(java.util.List,org.apache.pulsar.broker.service.EntryBatchSizes,org.apache.pulsar.broker.service.SendMessageInfo,org.apache.pulsar.broker.service.EntryBatchIndexesAcks,org.apache.bookkeeper.mledger.ManagedCursor,boolean)">filterEntriesForConsumer</a>, <a href="AbstractBaseDispatcher.html#filterEntriesForConsumer(java.util.Op [...]
+<code><a href="AbstractBaseDispatcher.html#computeReadLimits(int,int,long,long)">computeReadLimits</a>, <a href="AbstractBaseDispatcher.html#filterEntriesForConsumer(java.util.List,org.apache.pulsar.broker.service.EntryBatchSizes,org.apache.pulsar.broker.service.SendMessageInfo,org.apache.pulsar.broker.service.EntryBatchIndexesAcks,org.apache.bookkeeper.mledger.ManagedCursor,boolean)">filterEntriesForConsumer</a>, <a href="AbstractBaseDispatcher.html#filterEntriesForConsumer(java.util.Op [...]
 </ul>
 <ul class="blockList">
 <li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
diff --git a/content/api/pulsar-broker/2.11.0-SNAPSHOT/org/apache/pulsar/broker/service/AbstractTopic.html b/content/api/pulsar-broker/2.11.0-SNAPSHOT/org/apache/pulsar/broker/service/AbstractTopic.html
index 4ffd6c2fade..f87322fbfb5 100644
--- a/content/api/pulsar-broker/2.11.0-SNAPSHOT/org/apache/pulsar/broker/service/AbstractTopic.html
+++ b/content/api/pulsar-broker/2.11.0-SNAPSHOT/org/apache/pulsar/broker/service/AbstractTopic.html
@@ -533,7 +533,7 @@ implements <a href="Topic.html" title="interface in org.apache.pulsar.broker.ser
 </tr>
 <tr id="i39" class="rowColor">
 <td class="colFirst"><code>org.apache.pulsar.common.policies.data.impl.DispatchRateImpl</code></td>
-<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getSubscriptionDispatchRate()">getSubscriptionDispatchRate</a></span>()</code></th>
+<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getSubscriptionDispatchRate(java.lang.String)">getSubscriptionDispatchRate</a></span>&#8203;(java.lang.String&nbsp;subscriptionName)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr id="i40" class="altColor">
@@ -1034,13 +1034,13 @@ implements <a href="Topic.html" title="interface in org.apache.pulsar.broker.ser
 <pre class="methodSignature">public&nbsp;org.apache.pulsar.common.policies.data.SubscribeRate&nbsp;getSubscribeRate()</pre>
 </li>
 </ul>
-<a id="getSubscriptionDispatchRate()">
+<a id="getSubscriptionDispatchRate(java.lang.String)">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>getSubscriptionDispatchRate</h4>
-<pre class="methodSignature">public&nbsp;org.apache.pulsar.common.policies.data.impl.DispatchRateImpl&nbsp;getSubscriptionDispatchRate()</pre>
+<pre class="methodSignature">public&nbsp;org.apache.pulsar.common.policies.data.impl.DispatchRateImpl&nbsp;getSubscriptionDispatchRate&#8203;(java.lang.String&nbsp;subscriptionName)</pre>
 </li>
 </ul>
 <a id="getSchemaCompatibilityStrategy()">
diff --git a/content/api/pulsar-broker/2.11.0-SNAPSHOT/org/apache/pulsar/broker/service/nonpersistent/NonPersistentDispatcherMultipleConsumers.html b/content/api/pulsar-broker/2.11.0-SNAPSHOT/org/apache/pulsar/broker/service/nonpersistent/NonPersistentDispatcherMultipleConsumers.html
index 464036917dc..cfd9442f40f 100644
--- a/content/api/pulsar-broker/2.11.0-SNAPSHOT/org/apache/pulsar/broker/service/nonpersistent/NonPersistentDispatcherMultipleConsumers.html
+++ b/content/api/pulsar-broker/2.11.0-SNAPSHOT/org/apache/pulsar/broker/service/nonpersistent/NonPersistentDispatcherMultipleConsumers.html
@@ -362,7 +362,7 @@ implements <a href="NonPersistentDispatcher.html" title="interface in org.apache
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.pulsar.broker.service.<a href="../AbstractBaseDispatcher.html" title="class in org.apache.pulsar.broker.service">AbstractBaseDispatcher</a></h3>
-<code><a href="../AbstractBaseDispatcher.html#computeReadLimits(int,int,long,long)">computeReadLimits</a>, <a href="../AbstractBaseDispatcher.html#filterEntriesForConsumer(java.util.List,org.apache.pulsar.broker.service.EntryBatchSizes,org.apache.pulsar.broker.service.SendMessageInfo,org.apache.pulsar.broker.service.EntryBatchIndexesAcks,org.apache.bookkeeper.mledger.ManagedCursor,boolean)">filterEntriesForConsumer</a>, <a href="../AbstractBaseDispatcher.html#filterEntriesForConsumer(jav [...]
+<code><a href="../AbstractBaseDispatcher.html#computeReadLimits(int,int,long,long)">computeReadLimits</a>, <a href="../AbstractBaseDispatcher.html#filterEntriesForConsumer(java.util.List,org.apache.pulsar.broker.service.EntryBatchSizes,org.apache.pulsar.broker.service.SendMessageInfo,org.apache.pulsar.broker.service.EntryBatchIndexesAcks,org.apache.bookkeeper.mledger.ManagedCursor,boolean)">filterEntriesForConsumer</a>, <a href="../AbstractBaseDispatcher.html#filterEntriesForConsumer(jav [...]
 </ul>
 <ul class="blockList">
 <li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
diff --git a/content/api/pulsar-broker/2.11.0-SNAPSHOT/org/apache/pulsar/broker/service/nonpersistent/NonPersistentDispatcherSingleActiveConsumer.html b/content/api/pulsar-broker/2.11.0-SNAPSHOT/org/apache/pulsar/broker/service/nonpersistent/NonPersistentDispatcherSingleActiveConsumer.html
index 82f8ddf519c..69d5b372617 100644
--- a/content/api/pulsar-broker/2.11.0-SNAPSHOT/org/apache/pulsar/broker/service/nonpersistent/NonPersistentDispatcherSingleActiveConsumer.html
+++ b/content/api/pulsar-broker/2.11.0-SNAPSHOT/org/apache/pulsar/broker/service/nonpersistent/NonPersistentDispatcherSingleActiveConsumer.html
@@ -284,7 +284,7 @@ implements <a href="NonPersistentDispatcher.html" title="interface in org.apache
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.pulsar.broker.service.<a href="../AbstractBaseDispatcher.html" title="class in org.apache.pulsar.broker.service">AbstractBaseDispatcher</a></h3>
-<code><a href="../AbstractBaseDispatcher.html#computeReadLimits(int,int,long,long)">computeReadLimits</a>, <a href="../AbstractBaseDispatcher.html#filterEntriesForConsumer(java.util.List,org.apache.pulsar.broker.service.EntryBatchSizes,org.apache.pulsar.broker.service.SendMessageInfo,org.apache.pulsar.broker.service.EntryBatchIndexesAcks,org.apache.bookkeeper.mledger.ManagedCursor,boolean)">filterEntriesForConsumer</a>, <a href="../AbstractBaseDispatcher.html#filterEntriesForConsumer(jav [...]
+<code><a href="../AbstractBaseDispatcher.html#computeReadLimits(int,int,long,long)">computeReadLimits</a>, <a href="../AbstractBaseDispatcher.html#filterEntriesForConsumer(java.util.List,org.apache.pulsar.broker.service.EntryBatchSizes,org.apache.pulsar.broker.service.SendMessageInfo,org.apache.pulsar.broker.service.EntryBatchIndexesAcks,org.apache.bookkeeper.mledger.ManagedCursor,boolean)">filterEntriesForConsumer</a>, <a href="../AbstractBaseDispatcher.html#filterEntriesForConsumer(jav [...]
 </ul>
 <ul class="blockList">
 <li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
diff --git a/content/api/pulsar-broker/2.11.0-SNAPSHOT/org/apache/pulsar/broker/service/nonpersistent/NonPersistentStickyKeyDispatcherMultipleConsumers.html b/content/api/pulsar-broker/2.11.0-SNAPSHOT/org/apache/pulsar/broker/service/nonpersistent/NonPersistentStickyKeyDispatcherMultipleConsumers.html
index 2e5a94984d0..ff4addc9368 100644
--- a/content/api/pulsar-broker/2.11.0-SNAPSHOT/org/apache/pulsar/broker/service/nonpersistent/NonPersistentStickyKeyDispatcherMultipleConsumers.html
+++ b/content/api/pulsar-broker/2.11.0-SNAPSHOT/org/apache/pulsar/broker/service/nonpersistent/NonPersistentStickyKeyDispatcherMultipleConsumers.html
@@ -276,7 +276,7 @@ extends <a href="NonPersistentDispatcherMultipleConsumers.html" title="class in
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.pulsar.broker.service.<a href="../AbstractBaseDispatcher.html" title="class in org.apache.pulsar.broker.service">AbstractBaseDispatcher</a></h3>
-<code><a href="../AbstractBaseDispatcher.html#computeReadLimits(int,int,long,long)">computeReadLimits</a>, <a href="../AbstractBaseDispatcher.html#filterEntriesForConsumer(java.util.List,org.apache.pulsar.broker.service.EntryBatchSizes,org.apache.pulsar.broker.service.SendMessageInfo,org.apache.pulsar.broker.service.EntryBatchIndexesAcks,org.apache.bookkeeper.mledger.ManagedCursor,boolean)">filterEntriesForConsumer</a>, <a href="../AbstractBaseDispatcher.html#filterEntriesForConsumer(jav [...]
+<code><a href="../AbstractBaseDispatcher.html#computeReadLimits(int,int,long,long)">computeReadLimits</a>, <a href="../AbstractBaseDispatcher.html#filterEntriesForConsumer(java.util.List,org.apache.pulsar.broker.service.EntryBatchSizes,org.apache.pulsar.broker.service.SendMessageInfo,org.apache.pulsar.broker.service.EntryBatchIndexesAcks,org.apache.bookkeeper.mledger.ManagedCursor,boolean)">filterEntriesForConsumer</a>, <a href="../AbstractBaseDispatcher.html#filterEntriesForConsumer(jav [...]
 </ul>
 <ul class="blockList">
 <li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
diff --git a/content/api/pulsar-broker/2.11.0-SNAPSHOT/org/apache/pulsar/broker/service/nonpersistent/NonPersistentTopic.html b/content/api/pulsar-broker/2.11.0-SNAPSHOT/org/apache/pulsar/broker/service/nonpersistent/NonPersistentTopic.html
index 452c25264ab..6698b44012d 100644
--- a/content/api/pulsar-broker/2.11.0-SNAPSHOT/org/apache/pulsar/broker/service/nonpersistent/NonPersistentTopic.html
+++ b/content/api/pulsar-broker/2.11.0-SNAPSHOT/org/apache/pulsar/broker/service/nonpersistent/NonPersistentTopic.html
@@ -507,7 +507,7 @@ implements <a href="../Topic.html" title="interface in org.apache.pulsar.broker.
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.pulsar.broker.service.<a href="../AbstractTopic.html" title="class in org.apache.pulsar.broker.service">AbstractTopic</a></h3>
-<code><a href="../AbstractTopic.html#addConsumerToSubscription(org.apache.pulsar.broker.service.Subscription,org.apache.pulsar.broker.service.Consumer)">addConsumerToSubscription</a>, <a href="../AbstractTopic.html#addFilteredEntriesCount(int)">addFilteredEntriesCount</a>, <a href="../AbstractTopic.html#addProducer(org.apache.pulsar.broker.service.Producer,java.util.concurrent.CompletableFuture)">addProducer</a>, <a href="../AbstractTopic.html#addSchema(org.apache.pulsar.common.protocol. [...]
+<code><a href="../AbstractTopic.html#addConsumerToSubscription(org.apache.pulsar.broker.service.Subscription,org.apache.pulsar.broker.service.Consumer)">addConsumerToSubscription</a>, <a href="../AbstractTopic.html#addFilteredEntriesCount(int)">addFilteredEntriesCount</a>, <a href="../AbstractTopic.html#addProducer(org.apache.pulsar.broker.service.Producer,java.util.concurrent.CompletableFuture)">addProducer</a>, <a href="../AbstractTopic.html#addSchema(org.apache.pulsar.common.protocol. [...]
 </ul>
 <ul class="blockList">
 <li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
diff --git a/content/api/pulsar-broker/2.11.0-SNAPSHOT/org/apache/pulsar/broker/service/persistent/DispatchRateLimiter.html b/content/api/pulsar-broker/2.11.0-SNAPSHOT/org/apache/pulsar/broker/service/persistent/DispatchRateLimiter.html
index 74c22388809..f7518ff7b95 100644
--- a/content/api/pulsar-broker/2.11.0-SNAPSHOT/org/apache/pulsar/broker/service/persistent/DispatchRateLimiter.html
+++ b/content/api/pulsar-broker/2.11.0-SNAPSHOT/org/apache/pulsar/broker/service/persistent/DispatchRateLimiter.html
@@ -180,6 +180,12 @@ extends java.lang.Object</pre>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(org.apache.pulsar.broker.service.persistent.PersistentTopic,java.lang.String,org.apache.pulsar.broker.service.persistent.DispatchRateLimiter.Type)">DispatchRateLimiter</a></span>&#8203;(<a href="PersistentTopic.html" title="class in org.apache.pulsar.broker.service.persistent">PersistentTopic</a>&nbsp;topic,
+                   java.lang.String&nbsp;subscriptionName,
+                   <a href="DispatchRateLimiter.Type.html" title="enum in org.apache.pulsar.broker.service.persistent">DispatchRateLimiter.Type</a>&nbsp;type)</code></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
 <th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(org.apache.pulsar.broker.service.persistent.PersistentTopic,org.apache.pulsar.broker.service.persistent.DispatchRateLimiter.Type)">DispatchRateLimiter</a></span>&#8203;(<a href="PersistentTopic.html" title="class in org.apache.pulsar.broker.service.persistent">PersistentTopic</a>&nbsp;topic,
                    <a href="DispatchRateLimiter.Type.html" title="enum in org.apache.pulsar.broker.service.persistent">DispatchRateLimiter.Type</a>&nbsp;type)</code></th>
 <td class="colLast">&nbsp;</td>
@@ -357,6 +363,17 @@ extends java.lang.Object</pre>
                            <a href="DispatchRateLimiter.Type.html" title="enum in org.apache.pulsar.broker.service.persistent">DispatchRateLimiter.Type</a>&nbsp;type)</pre>
 </li>
 </ul>
+<a id="&lt;init&gt;(org.apache.pulsar.broker.service.persistent.PersistentTopic,java.lang.String,org.apache.pulsar.broker.service.persistent.DispatchRateLimiter.Type)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>DispatchRateLimiter</h4>
+<pre>public&nbsp;DispatchRateLimiter&#8203;(<a href="PersistentTopic.html" title="class in org.apache.pulsar.broker.service.persistent">PersistentTopic</a>&nbsp;topic,
+                           java.lang.String&nbsp;subscriptionName,
+                           <a href="DispatchRateLimiter.Type.html" title="enum in org.apache.pulsar.broker.service.persistent">DispatchRateLimiter.Type</a>&nbsp;type)</pre>
+</li>
+</ul>
 <a id="&lt;init&gt;(org.apache.pulsar.broker.service.BrokerService)">
 <!--   -->
 </a>
diff --git a/content/api/pulsar-broker/2.11.0-SNAPSHOT/org/apache/pulsar/broker/service/persistent/PersistentDispatcherMultipleConsumers.html b/content/api/pulsar-broker/2.11.0-SNAPSHOT/org/apache/pulsar/broker/service/persistent/PersistentDispatcherMultipleConsumers.html
index e2dac386a74..b3dca1a8d55 100644
--- a/content/api/pulsar-broker/2.11.0-SNAPSHOT/org/apache/pulsar/broker/service/persistent/PersistentDispatcherMultipleConsumers.html
+++ b/content/api/pulsar-broker/2.11.0-SNAPSHOT/org/apache/pulsar/broker/service/persistent/PersistentDispatcherMultipleConsumers.html
@@ -620,7 +620,7 @@ implements <a href="../Dispatcher.html" title="interface in org.apache.pulsar.br
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.pulsar.broker.service.<a href="../AbstractBaseDispatcher.html" title="class in org.apache.pulsar.broker.service">AbstractBaseDispatcher</a></h3>
-<code><a href="../AbstractBaseDispatcher.html#computeReadLimits(int,int,long,long)">computeReadLimits</a>, <a href="../AbstractBaseDispatcher.html#filterEntriesForConsumer(java.util.List,org.apache.pulsar.broker.service.EntryBatchSizes,org.apache.pulsar.broker.service.SendMessageInfo,org.apache.pulsar.broker.service.EntryBatchIndexesAcks,org.apache.bookkeeper.mledger.ManagedCursor,boolean)">filterEntriesForConsumer</a>, <a href="../AbstractBaseDispatcher.html#filterEntriesForConsumer(jav [...]
+<code><a href="../AbstractBaseDispatcher.html#computeReadLimits(int,int,long,long)">computeReadLimits</a>, <a href="../AbstractBaseDispatcher.html#filterEntriesForConsumer(java.util.List,org.apache.pulsar.broker.service.EntryBatchSizes,org.apache.pulsar.broker.service.SendMessageInfo,org.apache.pulsar.broker.service.EntryBatchIndexesAcks,org.apache.bookkeeper.mledger.ManagedCursor,boolean)">filterEntriesForConsumer</a>, <a href="../AbstractBaseDispatcher.html#filterEntriesForConsumer(jav [...]
 </ul>
 <ul class="blockList">
 <li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
diff --git a/content/api/pulsar-broker/2.11.0-SNAPSHOT/org/apache/pulsar/broker/service/persistent/PersistentDispatcherSingleActiveConsumer.html b/content/api/pulsar-broker/2.11.0-SNAPSHOT/org/apache/pulsar/broker/service/persistent/PersistentDispatcherSingleActiveConsumer.html
index 862cc577438..9aa2f50fe87 100644
--- a/content/api/pulsar-broker/2.11.0-SNAPSHOT/org/apache/pulsar/broker/service/persistent/PersistentDispatcherSingleActiveConsumer.html
+++ b/content/api/pulsar-broker/2.11.0-SNAPSHOT/org/apache/pulsar/broker/service/persistent/PersistentDispatcherSingleActiveConsumer.html
@@ -409,7 +409,7 @@ implements <a href="../Dispatcher.html" title="interface in org.apache.pulsar.br
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.pulsar.broker.service.<a href="../AbstractBaseDispatcher.html" title="class in org.apache.pulsar.broker.service">AbstractBaseDispatcher</a></h3>
-<code><a href="../AbstractBaseDispatcher.html#computeReadLimits(int,int,long,long)">computeReadLimits</a>, <a href="../AbstractBaseDispatcher.html#filterEntriesForConsumer(java.util.List,org.apache.pulsar.broker.service.EntryBatchSizes,org.apache.pulsar.broker.service.SendMessageInfo,org.apache.pulsar.broker.service.EntryBatchIndexesAcks,org.apache.bookkeeper.mledger.ManagedCursor,boolean)">filterEntriesForConsumer</a>, <a href="../AbstractBaseDispatcher.html#filterEntriesForConsumer(jav [...]
+<code><a href="../AbstractBaseDispatcher.html#computeReadLimits(int,int,long,long)">computeReadLimits</a>, <a href="../AbstractBaseDispatcher.html#filterEntriesForConsumer(java.util.List,org.apache.pulsar.broker.service.EntryBatchSizes,org.apache.pulsar.broker.service.SendMessageInfo,org.apache.pulsar.broker.service.EntryBatchIndexesAcks,org.apache.bookkeeper.mledger.ManagedCursor,boolean)">filterEntriesForConsumer</a>, <a href="../AbstractBaseDispatcher.html#filterEntriesForConsumer(jav [...]
 </ul>
 <ul class="blockList">
 <li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
diff --git a/content/api/pulsar-broker/2.11.0-SNAPSHOT/org/apache/pulsar/broker/service/persistent/PersistentStickyKeyDispatcherMultipleConsumers.html b/content/api/pulsar-broker/2.11.0-SNAPSHOT/org/apache/pulsar/broker/service/persistent/PersistentStickyKeyDispatcherMultipleConsumers.html
index b83e22a1c4c..bececc52446 100644
--- a/content/api/pulsar-broker/2.11.0-SNAPSHOT/org/apache/pulsar/broker/service/persistent/PersistentStickyKeyDispatcherMultipleConsumers.html
+++ b/content/api/pulsar-broker/2.11.0-SNAPSHOT/org/apache/pulsar/broker/service/persistent/PersistentStickyKeyDispatcherMultipleConsumers.html
@@ -301,7 +301,7 @@ extends <a href="PersistentDispatcherMultipleConsumers.html" title="class in org
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.pulsar.broker.service.<a href="../AbstractBaseDispatcher.html" title="class in org.apache.pulsar.broker.service">AbstractBaseDispatcher</a></h3>
-<code><a href="../AbstractBaseDispatcher.html#computeReadLimits(int,int,long,long)">computeReadLimits</a>, <a href="../AbstractBaseDispatcher.html#filterEntriesForConsumer(java.util.List,org.apache.pulsar.broker.service.EntryBatchSizes,org.apache.pulsar.broker.service.SendMessageInfo,org.apache.pulsar.broker.service.EntryBatchIndexesAcks,org.apache.bookkeeper.mledger.ManagedCursor,boolean)">filterEntriesForConsumer</a>, <a href="../AbstractBaseDispatcher.html#filterEntriesForConsumer(jav [...]
+<code><a href="../AbstractBaseDispatcher.html#computeReadLimits(int,int,long,long)">computeReadLimits</a>, <a href="../AbstractBaseDispatcher.html#filterEntriesForConsumer(java.util.List,org.apache.pulsar.broker.service.EntryBatchSizes,org.apache.pulsar.broker.service.SendMessageInfo,org.apache.pulsar.broker.service.EntryBatchIndexesAcks,org.apache.bookkeeper.mledger.ManagedCursor,boolean)">filterEntriesForConsumer</a>, <a href="../AbstractBaseDispatcher.html#filterEntriesForConsumer(jav [...]
 </ul>
 <ul class="blockList">
 <li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
diff --git a/content/api/pulsar-broker/2.11.0-SNAPSHOT/org/apache/pulsar/broker/service/persistent/PersistentStreamingDispatcherMultipleConsumers.html b/content/api/pulsar-broker/2.11.0-SNAPSHOT/org/apache/pulsar/broker/service/persistent/PersistentStreamingDispatcherMultipleConsumers.html
index 4a68a53f789..c161392fac1 100644
--- a/content/api/pulsar-broker/2.11.0-SNAPSHOT/org/apache/pulsar/broker/service/persistent/PersistentStreamingDispatcherMultipleConsumers.html
+++ b/content/api/pulsar-broker/2.11.0-SNAPSHOT/org/apache/pulsar/broker/service/persistent/PersistentStreamingDispatcherMultipleConsumers.html
@@ -298,7 +298,7 @@ implements <a href="../streamingdispatch/StreamingDispatcher.html" title="interf
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.pulsar.broker.service.<a href="../AbstractBaseDispatcher.html" title="class in org.apache.pulsar.broker.service">AbstractBaseDispatcher</a></h3>
-<code><a href="../AbstractBaseDispatcher.html#computeReadLimits(int,int,long,long)">computeReadLimits</a>, <a href="../AbstractBaseDispatcher.html#filterEntriesForConsumer(java.util.List,org.apache.pulsar.broker.service.EntryBatchSizes,org.apache.pulsar.broker.service.SendMessageInfo,org.apache.pulsar.broker.service.EntryBatchIndexesAcks,org.apache.bookkeeper.mledger.ManagedCursor,boolean)">filterEntriesForConsumer</a>, <a href="../AbstractBaseDispatcher.html#filterEntriesForConsumer(jav [...]
+<code><a href="../AbstractBaseDispatcher.html#computeReadLimits(int,int,long,long)">computeReadLimits</a>, <a href="../AbstractBaseDispatcher.html#filterEntriesForConsumer(java.util.List,org.apache.pulsar.broker.service.EntryBatchSizes,org.apache.pulsar.broker.service.SendMessageInfo,org.apache.pulsar.broker.service.EntryBatchIndexesAcks,org.apache.bookkeeper.mledger.ManagedCursor,boolean)">filterEntriesForConsumer</a>, <a href="../AbstractBaseDispatcher.html#filterEntriesForConsumer(jav [...]
 </ul>
 <ul class="blockList">
 <li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
diff --git a/content/api/pulsar-broker/2.11.0-SNAPSHOT/org/apache/pulsar/broker/service/persistent/PersistentStreamingDispatcherSingleActiveConsumer.html b/content/api/pulsar-broker/2.11.0-SNAPSHOT/org/apache/pulsar/broker/service/persistent/PersistentStreamingDispatcherSingleActiveConsumer.html
index 1d2b316b3a4..bd4a9d93da9 100644
--- a/content/api/pulsar-broker/2.11.0-SNAPSHOT/org/apache/pulsar/broker/service/persistent/PersistentStreamingDispatcherSingleActiveConsumer.html
+++ b/content/api/pulsar-broker/2.11.0-SNAPSHOT/org/apache/pulsar/broker/service/persistent/PersistentStreamingDispatcherSingleActiveConsumer.html
@@ -311,7 +311,7 @@ implements <a href="../streamingdispatch/StreamingDispatcher.html" title="interf
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.pulsar.broker.service.<a href="../AbstractBaseDispatcher.html" title="class in org.apache.pulsar.broker.service">AbstractBaseDispatcher</a></h3>
-<code><a href="../AbstractBaseDispatcher.html#computeReadLimits(int,int,long,long)">computeReadLimits</a>, <a href="../AbstractBaseDispatcher.html#filterEntriesForConsumer(java.util.List,org.apache.pulsar.broker.service.EntryBatchSizes,org.apache.pulsar.broker.service.SendMessageInfo,org.apache.pulsar.broker.service.EntryBatchIndexesAcks,org.apache.bookkeeper.mledger.ManagedCursor,boolean)">filterEntriesForConsumer</a>, <a href="../AbstractBaseDispatcher.html#filterEntriesForConsumer(jav [...]
+<code><a href="../AbstractBaseDispatcher.html#computeReadLimits(int,int,long,long)">computeReadLimits</a>, <a href="../AbstractBaseDispatcher.html#filterEntriesForConsumer(java.util.List,org.apache.pulsar.broker.service.EntryBatchSizes,org.apache.pulsar.broker.service.SendMessageInfo,org.apache.pulsar.broker.service.EntryBatchIndexesAcks,org.apache.bookkeeper.mledger.ManagedCursor,boolean)">filterEntriesForConsumer</a>, <a href="../AbstractBaseDispatcher.html#filterEntriesForConsumer(jav [...]
 </ul>
 <ul class="blockList">
 <li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
diff --git a/content/api/pulsar-broker/2.11.0-SNAPSHOT/org/apache/pulsar/broker/service/persistent/PersistentTopic.html b/content/api/pulsar-broker/2.11.0-SNAPSHOT/org/apache/pulsar/broker/service/persistent/PersistentTopic.html
index 24e031d7f18..806eefddb59 100644
--- a/content/api/pulsar-broker/2.11.0-SNAPSHOT/org/apache/pulsar/broker/service/persistent/PersistentTopic.html
+++ b/content/api/pulsar-broker/2.11.0-SNAPSHOT/org/apache/pulsar/broker/service/persistent/PersistentTopic.html
@@ -834,7 +834,7 @@ implements <a href="../Topic.html" title="interface in org.apache.pulsar.broker.
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.pulsar.broker.service.<a href="../AbstractTopic.html" title="class in org.apache.pulsar.broker.service">AbstractTopic</a></h3>
-<code><a href="../AbstractTopic.html#addConsumerToSubscription(org.apache.pulsar.broker.service.Subscription,org.apache.pulsar.broker.service.Consumer)">addConsumerToSubscription</a>, <a href="../AbstractTopic.html#addFilteredEntriesCount(int)">addFilteredEntriesCount</a>, <a href="../AbstractTopic.html#addSchema(org.apache.pulsar.common.protocol.schema.SchemaData)">addSchema</a>, <a href="../AbstractTopic.html#checkSchemaCompatibleForConsumer(org.apache.pulsar.common.protocol.schema.Sch [...]
+<code><a href="../AbstractTopic.html#addConsumerToSubscription(org.apache.pulsar.broker.service.Subscription,org.apache.pulsar.broker.service.Consumer)">addConsumerToSubscription</a>, <a href="../AbstractTopic.html#addFilteredEntriesCount(int)">addFilteredEntriesCount</a>, <a href="../AbstractTopic.html#addSchema(org.apache.pulsar.common.protocol.schema.SchemaData)">addSchema</a>, <a href="../AbstractTopic.html#checkSchemaCompatibleForConsumer(org.apache.pulsar.common.protocol.schema.Sch [...]
 </ul>
 <ul class="blockList">
 <li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
diff --git a/content/api/pulsar-broker/2.11.0-SNAPSHOT/org/apache/pulsar/broker/service/persistent/SystemTopic.html b/content/api/pulsar-broker/2.11.0-SNAPSHOT/org/apache/pulsar/broker/service/persistent/SystemTopic.html
index dfaf5aa44a4..b7930fca280 100644
--- a/content/api/pulsar-broker/2.11.0-SNAPSHOT/org/apache/pulsar/broker/service/persistent/SystemTopic.html
+++ b/content/api/pulsar-broker/2.11.0-SNAPSHOT/org/apache/pulsar/broker/service/persistent/SystemTopic.html
@@ -284,7 +284,7 @@ extends <a href="PersistentTopic.html" title="class in org.apache.pulsar.broker.
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.pulsar.broker.service.<a href="../AbstractTopic.html" title="class in org.apache.pulsar.broker.service">AbstractTopic</a></h3>
-<code><a href="../AbstractTopic.html#addConsumerToSubscription(org.apache.pulsar.broker.service.Subscription,org.apache.pulsar.broker.service.Consumer)">addConsumerToSubscription</a>, <a href="../AbstractTopic.html#addFilteredEntriesCount(int)">addFilteredEntriesCount</a>, <a href="../AbstractTopic.html#addSchema(org.apache.pulsar.common.protocol.schema.SchemaData)">addSchema</a>, <a href="../AbstractTopic.html#checkSchemaCompatibleForConsumer(org.apache.pulsar.common.protocol.schema.Sch [...]
+<code><a href="../AbstractTopic.html#addConsumerToSubscription(org.apache.pulsar.broker.service.Subscription,org.apache.pulsar.broker.service.Consumer)">addConsumerToSubscription</a>, <a href="../AbstractTopic.html#addFilteredEntriesCount(int)">addFilteredEntriesCount</a>, <a href="../AbstractTopic.html#addSchema(org.apache.pulsar.common.protocol.schema.SchemaData)">addSchema</a>, <a href="../AbstractTopic.html#checkSchemaCompatibleForConsumer(org.apache.pulsar.common.protocol.schema.Sch [...]
 </ul>
 <ul class="blockList">
 <li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
diff --git a/content/api/pulsar-broker/2.11.0-SNAPSHOT/org/apache/pulsar/broker/service/persistent/class-use/DispatchRateLimiter.Type.html b/content/api/pulsar-broker/2.11.0-SNAPSHOT/org/apache/pulsar/broker/service/persistent/class-use/DispatchRateLimiter.Type.html
index ebdbc69e8a6..684b839a2b4 100644
--- a/content/api/pulsar-broker/2.11.0-SNAPSHOT/org/apache/pulsar/broker/service/persistent/class-use/DispatchRateLimiter.Type.html
+++ b/content/api/pulsar-broker/2.11.0-SNAPSHOT/org/apache/pulsar/broker/service/persistent/class-use/DispatchRateLimiter.Type.html
@@ -195,6 +195,12 @@ the order they are declared.</div>
 </tr>
 <tbody>
 <tr class="altColor">
+<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../DispatchRateLimiter.html#%3Cinit%3E(org.apache.pulsar.broker.service.persistent.PersistentTopic,java.lang.String,org.apache.pulsar.broker.service.persistent.DispatchRateLimiter.Type)">DispatchRateLimiter</a></span>&#8203;(<a href="../PersistentTopic.html" title="class in org.apache.pulsar.broker.service.persistent">PersistentTopic</a>&nbsp;topic,
+                   java.lang.String&nbsp;subscriptionName,
+                   <a href="../DispatchRateLimiter.Type.html" title="enum in org.apache.pulsar.broker.service.persistent">DispatchRateLimiter.Type</a>&nbsp;type)</code></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../DispatchRateLimiter.html#%3Cinit%3E(org.apache.pulsar.broker.service.persistent.PersistentTopic,org.apache.pulsar.broker.service.persistent.DispatchRateLimiter.Type)">DispatchRateLimiter</a></span>&#8203;(<a href="../PersistentTopic.html" title="class in org.apache.pulsar.broker.service.persistent">PersistentTopic</a>&nbsp;topic,
                    <a href="../DispatchRateLimiter.Type.html" title="enum in org.apache.pulsar.broker.service.persistent">DispatchRateLimiter.Type</a>&nbsp;type)</code></th>
 <td class="colLast">&nbsp;</td>
diff --git a/content/api/pulsar-broker/2.11.0-SNAPSHOT/org/apache/pulsar/broker/service/persistent/class-use/PersistentTopic.html b/content/api/pulsar-broker/2.11.0-SNAPSHOT/org/apache/pulsar/broker/service/persistent/class-use/PersistentTopic.html
index a6f6725d4ff..d329d4cc3ee 100644
--- a/content/api/pulsar-broker/2.11.0-SNAPSHOT/org/apache/pulsar/broker/service/persistent/class-use/PersistentTopic.html
+++ b/content/api/pulsar-broker/2.11.0-SNAPSHOT/org/apache/pulsar/broker/service/persistent/class-use/PersistentTopic.html
@@ -275,30 +275,36 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../DispatchRateLimiter.html#%3Cinit%3E(org.apache.pulsar.broker.service.persistent.PersistentTopic,org.apache.pulsar.broker.service.persistent.DispatchRateLimiter.Type)">DispatchRateLimiter</a></span>&#8203;(<a href="../PersistentTopic.html" title="class in org.apache.pulsar.broker.service.persistent">PersistentTopic</a>&nbsp;topic,
+<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../DispatchRateLimiter.html#%3Cinit%3E(org.apache.pulsar.broker.service.persistent.PersistentTopic,java.lang.String,org.apache.pulsar.broker.service.persistent.DispatchRateLimiter.Type)">DispatchRateLimiter</a></span>&#8203;(<a href="../PersistentTopic.html" title="class in org.apache.pulsar.broker.service.persistent">PersistentTopic</a>&nbsp;topic,
+                   java.lang.String&nbsp;subscriptionName,
                    <a href="../DispatchRateLimiter.Type.html" title="enum in org.apache.pulsar.broker.service.persistent">DispatchRateLimiter.Type</a>&nbsp;type)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="altColor">
+<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../DispatchRateLimiter.html#%3Cinit%3E(org.apache.pulsar.broker.service.persistent.PersistentTopic,org.apache.pulsar.broker.service.persistent.DispatchRateLimiter.Type)">DispatchRateLimiter</a></span>&#8203;(<a href="../PersistentTopic.html" title="class in org.apache.pulsar.broker.service.persistent">PersistentTopic</a>&nbsp;topic,
+                   <a href="../DispatchRateLimiter.Type.html" title="enum in org.apache.pulsar.broker.service.persistent">DispatchRateLimiter.Type</a>&nbsp;type)</code></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../MessageDeduplication.html#%3Cinit%3E(org.apache.pulsar.broker.PulsarService,org.apache.pulsar.broker.service.persistent.PersistentTopic,org.apache.bookkeeper.mledger.ManagedLedger)">MessageDeduplication</a></span>&#8203;(<a href="../../../PulsarService.html" title="class in org.apache.pulsar.broker">PulsarService</a>&nbsp;pulsar,
                     <a href="../PersistentTopic.html" title="class in org.apache.pulsar.broker.service.persistent">PersistentTopic</a>&nbsp;topic,
                     org.apache.bookkeeper.mledger.ManagedLedger&nbsp;managedLedger)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../PersistentDispatcherMultipleConsumers.html#%3Cinit%3E(org.apache.pulsar.broker.service.persistent.PersistentTopic,org.apache.bookkeeper.mledger.ManagedCursor,org.apache.pulsar.broker.service.Subscription)">PersistentDispatcherMultipleConsumers</a></span>&#8203;(<a href="../PersistentTopic.html" title="class in org.apache.pulsar.broker.service.persistent">PersistentTopic</a>&nbsp;topic,
                                      org.apache.bookkeeper.mledger.ManagedCursor&nbsp;cursor,
                                      <a href="../../Subscription.html" title="interface in org.apache.pulsar.broker.service">Subscription</a>&nbsp;subscription)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../PersistentDispatcherMultipleConsumers.html#%3Cinit%3E(org.apache.pulsar.broker.service.persistent.PersistentTopic,org.apache.bookkeeper.mledger.ManagedCursor,org.apache.pulsar.broker.service.Subscription,boolean)">PersistentDispatcherMultipleConsumers</a></span>&#8203;(<a href="../PersistentTopic.html" title="class in org.apache.pulsar.broker.service.persistent">PersistentTopic</a>&nbsp;topic,
                                      org.apache.bookkeeper.mledger.ManagedCursor&nbsp;cursor,
                                      <a href="../../Subscription.html" title="interface in org.apache.pulsar.broker.service">Subscription</a>&nbsp;subscription,
                                      boolean&nbsp;allowOutOfOrderDelivery)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../PersistentDispatcherSingleActiveConsumer.html#%3Cinit%3E(org.apache.bookkeeper.mledger.ManagedCursor,org.apache.pulsar.common.api.proto.CommandSubscribe.SubType,int,org.apache.pulsar.broker.service.persistent.PersistentTopic,org.apache.pulsar.broker.service.Subscription)">PersistentDispatcherSingleActiveConsumer</a></span>&#8203;(org.apache.bookkeeper.mledger.ManagedCursor&nbsp;cursor,
                                         org.apache.pulsar.common.api.proto.CommandSubscribe.SubType&nbsp;subscriptionType,
                                         int&nbsp;partitionIndex,
@@ -306,7 +312,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
                                         <a href="../../Subscription.html" title="interface in org.apache.pulsar.broker.service">Subscription</a>&nbsp;subscription)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../PersistentReplicator.html#%3Cinit%3E(org.apache.pulsar.broker.service.persistent.PersistentTopic,org.apache.bookkeeper.mledger.ManagedCursor,java.lang.String,java.lang.String,org.apache.pulsar.broker.service.BrokerService,org.apache.pulsar.client.impl.PulsarClientImpl)">PersistentReplicator</a></span>&#8203;(<a href="../PersistentTopic.html" title="class in org.apache.pulsar.broker.service.persistent">Persis [...]
                     org.apache.bookkeeper.mledger.ManagedCursor&nbsp;cursor,
                     java.lang.String&nbsp;localCluster,
@@ -315,13 +321,13 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
                     org.apache.pulsar.client.impl.PulsarClientImpl&nbsp;replicationClient)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../PersistentStreamingDispatcherMultipleConsumers.html#%3Cinit%3E(org.apache.pulsar.broker.service.persistent.PersistentTopic,org.apache.bookkeeper.mledger.ManagedCursor,org.apache.pulsar.broker.service.Subscription)">PersistentStreamingDispatcherMultipleConsumers</a></span>&#8203;(<a href="../PersistentTopic.html" title="class in org.apache.pulsar.broker.service.persistent">PersistentTopic</a>&nbsp;topic,
                                               org.apache.bookkeeper.mledger.ManagedCursor&nbsp;cursor,
                                               <a href="../../Subscription.html" title="interface in org.apache.pulsar.broker.service">Subscription</a>&nbsp;subscription)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../PersistentStreamingDispatcherSingleActiveConsumer.html#%3Cinit%3E(org.apache.bookkeeper.mledger.ManagedCursor,org.apache.pulsar.common.api.proto.CommandSubscribe.SubType,int,org.apache.pulsar.broker.service.persistent.PersistentTopic,org.apache.pulsar.broker.service.Subscription)">PersistentStreamingDispatcherSingleActiveConsumer</a></span>&#8203;(org.apache.bookkeeper.mledger.ManagedCursor&nbsp;cursor,
                                                  org.apache.pulsar.common.api.proto.CommandSubscribe.SubType&nbsp;subscriptionType,
                                                  int&nbsp;partitionIndex,
@@ -329,14 +335,14 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
                                                  <a href="../../Subscription.html" title="interface in org.apache.pulsar.broker.service">Subscription</a>&nbsp;subscription)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../PersistentSubscription.html#%3Cinit%3E(org.apache.pulsar.broker.service.persistent.PersistentTopic,java.lang.String,org.apache.bookkeeper.mledger.ManagedCursor,boolean)">PersistentSubscription</a></span>&#8203;(<a href="../PersistentTopic.html" title="class in org.apache.pulsar.broker.service.persistent">PersistentTopic</a>&nbsp;topic,
                       java.lang.String&nbsp;subscriptionName,
                       org.apache.bookkeeper.mledger.ManagedCursor&nbsp;cursor,
                       boolean&nbsp;replicated)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../PersistentSubscription.html#%3Cinit%3E(org.apache.pulsar.broker.service.persistent.PersistentTopic,java.lang.String,org.apache.bookkeeper.mledger.ManagedCursor,boolean,java.util.Map)">PersistentSubscription</a></span>&#8203;(<a href="../PersistentTopic.html" title="class in org.apache.pulsar.broker.service.persistent">PersistentTopic</a>&nbsp;topic,
                       java.lang.String&nbsp;subscriptionName,
                       org.apache.bookkeeper.mledger.ManagedCursor&nbsp;cursor,
@@ -344,12 +350,12 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
                       java.util.Map&lt;java.lang.String,&#8203;java.lang.String&gt;&nbsp;subscriptionProperties)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../ReplicatedSubscriptionsController.html#%3Cinit%3E(org.apache.pulsar.broker.service.persistent.PersistentTopic,java.lang.String)">ReplicatedSubscriptionsController</a></span>&#8203;(<a href="../PersistentTopic.html" title="class in org.apache.pulsar.broker.service.persistent">PersistentTopic</a>&nbsp;topic,
                                  java.lang.String&nbsp;localCluster)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../SubscribeRateLimiter.html#%3Cinit%3E(org.apache.pulsar.broker.service.persistent.PersistentTopic)">SubscribeRateLimiter</a></span>&#8203;(<a href="../PersistentTopic.html" title="class in org.apache.pulsar.broker.service.persistent">PersistentTopic</a>&nbsp;topic)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
diff --git a/content/api/pulsar-broker/2.11.0-SNAPSHOT/overview-summary.html b/content/api/pulsar-broker/2.11.0-SNAPSHOT/overview-summary.html
index 5169458a1f7..16e5a0c6429 100644
--- a/content/api/pulsar-broker/2.11.0-SNAPSHOT/overview-summary.html
+++ b/content/api/pulsar-broker/2.11.0-SNAPSHOT/overview-summary.html
@@ -2,7 +2,7 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (11.0.11) on Fri May 06 12:11:33 UTC 2022 -->
+<!-- Generated by javadoc (11.0.11) on Fri May 06 18:10:16 UTC 2022 -->
 <title>Pulsar Broker 2.11.0-SNAPSHOT API</title>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 <script type="text/javascript">window.location.replace('index.html')</script>
diff --git a/content/api/pulsar-broker/2.11.0-SNAPSHOT/package-search-index.zip b/content/api/pulsar-broker/2.11.0-SNAPSHOT/package-search-index.zip
index 4bebd78313f..949351a17cb 100644
Binary files a/content/api/pulsar-broker/2.11.0-SNAPSHOT/package-search-index.zip and b/content/api/pulsar-broker/2.11.0-SNAPSHOT/package-search-index.zip differ
diff --git a/content/api/pulsar-broker/2.11.0-SNAPSHOT/type-search-index.zip b/content/api/pulsar-broker/2.11.0-SNAPSHOT/type-search-index.zip
index a7a71bdba98..1f5f2d46aad 100644
Binary files a/content/api/pulsar-broker/2.11.0-SNAPSHOT/type-search-index.zip and b/content/api/pulsar-broker/2.11.0-SNAPSHOT/type-search-index.zip differ
diff --git a/content/api/pulsar-functions/2.11.0-SNAPSHOT/member-search-index.zip b/content/api/pulsar-functions/2.11.0-SNAPSHOT/member-search-index.zip
index 7c7ba5f5318..6a1f86605ac 100644
Binary files a/content/api/pulsar-functions/2.11.0-SNAPSHOT/member-search-index.zip and b/content/api/pulsar-functions/2.11.0-SNAPSHOT/member-search-index.zip differ
diff --git a/content/api/pulsar-functions/2.11.0-SNAPSHOT/overview-summary.html b/content/api/pulsar-functions/2.11.0-SNAPSHOT/overview-summary.html
index e4a9dad5a3d..62bc7b47670 100644
--- a/content/api/pulsar-functions/2.11.0-SNAPSHOT/overview-summary.html
+++ b/content/api/pulsar-functions/2.11.0-SNAPSHOT/overview-summary.html
@@ -2,7 +2,7 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (11.0.11) on Fri May 06 12:11:22 UTC 2022 -->
+<!-- Generated by javadoc (11.0.11) on Fri May 06 18:10:05 UTC 2022 -->
 <title>Pulsar Functions :: API 2.11.0-SNAPSHOT API</title>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 <script type="text/javascript">window.location.replace('index.html')</script>
diff --git a/content/api/pulsar-functions/2.11.0-SNAPSHOT/package-search-index.zip b/content/api/pulsar-functions/2.11.0-SNAPSHOT/package-search-index.zip
index 9973ac87e63..5bdc2781bb9 100644
Binary files a/content/api/pulsar-functions/2.11.0-SNAPSHOT/package-search-index.zip and b/content/api/pulsar-functions/2.11.0-SNAPSHOT/package-search-index.zip differ
diff --git a/content/api/pulsar-functions/2.11.0-SNAPSHOT/type-search-index.zip b/content/api/pulsar-functions/2.11.0-SNAPSHOT/type-search-index.zip
index 5aa88b57c6a..ff08520e7fa 100644
Binary files a/content/api/pulsar-functions/2.11.0-SNAPSHOT/type-search-index.zip and b/content/api/pulsar-functions/2.11.0-SNAPSHOT/type-search-index.zip differ
diff --git a/content/docs/en/next/reference-configuration.html b/content/docs/en/next/reference-configuration.html
index 4cba8f2b1d5..4c9d71952ca 100644
--- a/content/docs/en/next/reference-configuration.html
+++ b/content/docs/en/next/reference-configuration.html
@@ -404,6 +404,7 @@
 <tr><td>replicationConnectionsPerBroker</td><td>Max number of connections to open for each broker in a remote cluster More connections host-to-host lead to better throughput over high-latency links.</td><td>16</td></tr>
 <tr><td>replicationProducerQueueSize</td><td>Replicator producer queue size</td><td>1000</td></tr>
 <tr><td>replicatorPrefix</td><td>Replicator prefix used for replicator producer name and cursor name pulsar.repl</td><td></td></tr>
+<tr><td>transactionBufferClientOperationTimeoutInMills</td><td>The transaction buffer client's operation timeout in milliseconds.</td><td>3000</td></tr>
 <tr><td>transactionCoordinatorEnabled</td><td>Whether to enable transaction coordinator in broker.</td><td>true</td></tr>
 <tr><td>transactionMetadataStoreProviderClassName</td><td></td><td>org.apache.pulsar.transaction.coordinator.impl.InMemTransactionMetadataStoreProvider</td></tr>
 <tr><td>defaultRetentionTimeInMinutes</td><td>Default message retention time</td><td>0</td></tr>
@@ -781,6 +782,7 @@
 <tr><td>replicationConnectionsPerBroker</td><td></td><td>16</td></tr>
 <tr><td>replicationProducerQueueSize</td><td></td><td>1000</td></tr>
 <tr><td>replicationPolicyCheckDurationSeconds</td><td>Duration to check replication policy to avoid replicator inconsistency due to missing ZooKeeper watch. When the value is set to 0, disable checking replication policy.</td><td>600</td></tr>
+<tr><td>transactionBufferClientOperationTimeoutInMills</td><td>The transaction buffer client's operation timeout in milliseconds.</td><td>3000</td></tr>
 <tr><td>defaultRetentionTimeInMinutes</td><td></td><td>0</td></tr>
 <tr><td>defaultRetentionSizeInMB</td><td></td><td>0</td></tr>
 <tr><td>keepAliveIntervalSeconds</td><td></td><td>30</td></tr>
@@ -906,6 +908,8 @@
 <tr><td>tokenAudienceClaim</td><td>The token audience &quot;claim&quot; name, e.g. &quot;aud&quot;. It is used to get the audience from token. If it is not set, the audience is not verified.</td><td></td></tr>
 <tr><td>tokenAudience</td><td>The token audience stands for this broker. The field <code>tokenAudienceClaim</code> of a valid token need contains this parameter.</td><td></td></tr>
 <tr><td>haProxyProtocolEnabled</td><td>Enable or disable the <a href="http://www.haproxy.org/">HAProxy</a> protocol.</td><td>false</td></tr>
+<tr><td>numIOThreads</td><td>Number of threads used for Netty IO.</td><td>2 * Runtime.getRuntime().availableProcessors()</td></tr>
+<tr><td>numAcceptorThreads</td><td>Number of threads used for Netty Acceptor.</td><td>1</td></tr>
 </tbody>
 </table>
 <h4><a class="anchor" aria-hidden="true" id="deprecated-parameters-of-pulsar-proxy"></a><a href="#deprecated-parameters-of-pulsar-proxy" 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 [...]
diff --git a/content/docs/en/next/reference-configuration/index.html b/content/docs/en/next/reference-configuration/index.html
index 4cba8f2b1d5..4c9d71952ca 100644
--- a/content/docs/en/next/reference-configuration/index.html
+++ b/content/docs/en/next/reference-configuration/index.html
@@ -404,6 +404,7 @@
 <tr><td>replicationConnectionsPerBroker</td><td>Max number of connections to open for each broker in a remote cluster More connections host-to-host lead to better throughput over high-latency links.</td><td>16</td></tr>
 <tr><td>replicationProducerQueueSize</td><td>Replicator producer queue size</td><td>1000</td></tr>
 <tr><td>replicatorPrefix</td><td>Replicator prefix used for replicator producer name and cursor name pulsar.repl</td><td></td></tr>
+<tr><td>transactionBufferClientOperationTimeoutInMills</td><td>The transaction buffer client's operation timeout in milliseconds.</td><td>3000</td></tr>
 <tr><td>transactionCoordinatorEnabled</td><td>Whether to enable transaction coordinator in broker.</td><td>true</td></tr>
 <tr><td>transactionMetadataStoreProviderClassName</td><td></td><td>org.apache.pulsar.transaction.coordinator.impl.InMemTransactionMetadataStoreProvider</td></tr>
 <tr><td>defaultRetentionTimeInMinutes</td><td>Default message retention time</td><td>0</td></tr>
@@ -781,6 +782,7 @@
 <tr><td>replicationConnectionsPerBroker</td><td></td><td>16</td></tr>
 <tr><td>replicationProducerQueueSize</td><td></td><td>1000</td></tr>
 <tr><td>replicationPolicyCheckDurationSeconds</td><td>Duration to check replication policy to avoid replicator inconsistency due to missing ZooKeeper watch. When the value is set to 0, disable checking replication policy.</td><td>600</td></tr>
+<tr><td>transactionBufferClientOperationTimeoutInMills</td><td>The transaction buffer client's operation timeout in milliseconds.</td><td>3000</td></tr>
 <tr><td>defaultRetentionTimeInMinutes</td><td></td><td>0</td></tr>
 <tr><td>defaultRetentionSizeInMB</td><td></td><td>0</td></tr>
 <tr><td>keepAliveIntervalSeconds</td><td></td><td>30</td></tr>
@@ -906,6 +908,8 @@
 <tr><td>tokenAudienceClaim</td><td>The token audience &quot;claim&quot; name, e.g. &quot;aud&quot;. It is used to get the audience from token. If it is not set, the audience is not verified.</td><td></td></tr>
 <tr><td>tokenAudience</td><td>The token audience stands for this broker. The field <code>tokenAudienceClaim</code> of a valid token need contains this parameter.</td><td></td></tr>
 <tr><td>haProxyProtocolEnabled</td><td>Enable or disable the <a href="http://www.haproxy.org/">HAProxy</a> protocol.</td><td>false</td></tr>
+<tr><td>numIOThreads</td><td>Number of threads used for Netty IO.</td><td>2 * Runtime.getRuntime().availableProcessors()</td></tr>
+<tr><td>numAcceptorThreads</td><td>Number of threads used for Netty Acceptor.</td><td>1</td></tr>
 </tbody>
 </table>
 <h4><a class="anchor" aria-hidden="true" id="deprecated-parameters-of-pulsar-proxy"></a><a href="#deprecated-parameters-of-pulsar-proxy" 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 [...]
diff --git a/content/swagger/2.11.0-SNAPSHOT/swagger.json b/content/swagger/2.11.0-SNAPSHOT/swagger.json
index f95e7ca947f..c97cb691638 100644
--- a/content/swagger/2.11.0-SNAPSHOT/swagger.json
+++ b/content/swagger/2.11.0-SNAPSHOT/swagger.json
@@ -13018,6 +13018,187 @@
         }
       }
     },
+    "/non-persistent/{tenant}/{namespace}/{topic}/{subName}/dispatchRate" : {
+      "get" : {
+        "tags" : [ "non-persistent topic" ],
+        "summary" : "Get message dispatch rate configuration for specified subscription.",
+        "description" : "",
+        "operationId" : "getSubscriptionLevelDispatchRate",
+        "produces" : [ "application/json" ],
+        "parameters" : [ {
+          "name" : "tenant",
+          "in" : "path",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "namespace",
+          "in" : "path",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "topic",
+          "in" : "path",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "subName",
+          "in" : "path",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "applied",
+          "in" : "query",
+          "required" : false,
+          "type" : "boolean",
+          "default" : false
+        }, {
+          "name" : "isGlobal",
+          "in" : "query",
+          "required" : false,
+          "type" : "boolean",
+          "default" : false
+        }, {
+          "name" : "authoritative",
+          "in" : "query",
+          "description" : "Is authentication required to perform this operation",
+          "required" : false,
+          "type" : "boolean",
+          "default" : false
+        } ],
+        "responses" : {
+          "403" : {
+            "description" : "Don't have admin permission"
+          },
+          "404" : {
+            "description" : "Topic does not exist"
+          },
+          "405" : {
+            "description" : "Topic level policy is disabled, please enable the topic level policy and retry"
+          },
+          "409" : {
+            "description" : "Concurrent modification"
+          }
+        }
+      },
+      "post" : {
+        "tags" : [ "non-persistent topic" ],
+        "summary" : "Set message dispatch rate configuration for specified subscription.",
+        "description" : "",
+        "operationId" : "setSubscriptionLevelDispatchRate",
+        "produces" : [ "application/json" ],
+        "parameters" : [ {
+          "name" : "tenant",
+          "in" : "path",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "namespace",
+          "in" : "path",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "topic",
+          "in" : "path",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "subName",
+          "in" : "path",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "authoritative",
+          "in" : "query",
+          "description" : "Is authentication required to perform this operation",
+          "required" : false,
+          "type" : "boolean",
+          "default" : false
+        }, {
+          "name" : "isGlobal",
+          "in" : "query",
+          "required" : false,
+          "type" : "boolean",
+          "default" : false
+        }, {
+          "in" : "body",
+          "name" : "body",
+          "description" : "Subscription message dispatch rate for the specified topic",
+          "required" : false,
+          "schema" : {
+            "$ref" : "#/definitions/DispatchRateImpl"
+          }
+        } ],
+        "responses" : {
+          "403" : {
+            "description" : "Don't have admin permission"
+          },
+          "404" : {
+            "description" : "Topic does not exist"
+          },
+          "405" : {
+            "description" : "Topic level policy is disabled, please enable the topic level policy and retry"
+          },
+          "409" : {
+            "description" : "Concurrent modification"
+          }
+        }
+      },
+      "delete" : {
+        "tags" : [ "non-persistent topic" ],
+        "summary" : "Remove message dispatch rate configuration for specified subscription.",
+        "description" : "",
+        "operationId" : "removeSubscriptionLevelDispatchRate",
+        "produces" : [ "application/json" ],
+        "parameters" : [ {
+          "name" : "tenant",
+          "in" : "path",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "namespace",
+          "in" : "path",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "topic",
+          "in" : "path",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "subName",
+          "in" : "path",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "isGlobal",
+          "in" : "query",
+          "required" : false,
+          "type" : "boolean",
+          "default" : false
+        }, {
+          "name" : "authoritative",
+          "in" : "query",
+          "description" : "Is authentication required to perform this operation",
+          "required" : false,
+          "type" : "boolean",
+          "default" : false
+        } ],
+        "responses" : {
+          "403" : {
+            "description" : "Don't have admin permission"
+          },
+          "404" : {
+            "description" : "Topic does not exist"
+          },
+          "405" : {
+            "description" : "Topic level policy is disabled, please enable the topic level policy and retry"
+          },
+          "409" : {
+            "description" : "Concurrent modification"
+          }
+        }
+      }
+    },
     "/persistent/{tenant}/{namespace}" : {
       "get" : {
         "tags" : [ "persistent topic" ],
@@ -16923,6 +17104,7 @@
         "summary" : "Create a partitioned topic.",
         "description" : "It needs to be called before creating a producer on a partitioned topic.",
         "operationId" : "createPartitionedTopic",
+        "consumes" : [ "application/vnd.partitioned-topic-metadata+json" ],
         "produces" : [ "application/json" ],
         "parameters" : [ {
           "name" : "tenant",
@@ -16945,12 +17127,10 @@
         }, {
           "in" : "body",
           "name" : "body",
-          "description" : "The number of partitions for the topic",
+          "description" : "The metadata for the topic",
           "required" : true,
           "schema" : {
-            "type" : "integer",
-            "format" : "int32",
-            "default" : 0
+            "$ref" : "#/definitions/PartitionedTopicMetadata"
           }
         }, {
           "name" : "createLocalTopicOnly",
@@ -19885,96 +20065,277 @@
         }
       }
     },
-    "/resource-quotas" : {
-      "get" : {
-        "tags" : [ "resource-quotas" ],
-        "summary" : "Get the default quota",
-        "description" : "",
-        "operationId" : "getDefaultResourceQuota",
-        "consumes" : [ "application/json" ],
-        "produces" : [ "application/json" ],
-        "responses" : {
-          "200" : {
-            "description" : "successful operation",
-            "schema" : {
-              "type" : "array",
-              "uniqueItems" : true,
-              "items" : {
-                "type" : "string"
-              }
-            }
-          },
-          "403" : {
-            "description" : "Don't have admin permission"
-          }
-        }
-      },
-      "post" : {
-        "tags" : [ "resource-quotas" ],
-        "summary" : "Set the default quota",
-        "description" : "",
-        "operationId" : "setDefaultResourceQuota",
-        "consumes" : [ "application/json" ],
-        "produces" : [ "application/json" ],
-        "parameters" : [ {
-          "in" : "body",
-          "name" : "body",
-          "description" : "Default resource quota",
-          "required" : false,
-          "schema" : {
-            "$ref" : "#/definitions/ResourceQuota"
-          }
-        } ],
-        "responses" : {
-          "200" : {
-            "description" : "successful operation",
-            "schema" : {
-              "type" : "array",
-              "uniqueItems" : true,
-              "items" : {
-                "type" : "string"
-              }
-            }
-          },
-          "403" : {
-            "description" : "Don't have admin permission"
-          }
-        }
-      }
-    },
-    "/resource-quotas/{tenant}/{namespace}/{bundle}" : {
+    "/persistent/{tenant}/{namespace}/{topic}/{subName}/dispatchRate" : {
       "get" : {
-        "tags" : [ "resource-quotas" ],
-        "summary" : "Get resource quota of a namespace bundle.",
+        "tags" : [ "persistent topic" ],
+        "summary" : "Get message dispatch rate configuration for specified subscription.",
         "description" : "",
-        "operationId" : "getNamespaceBundleResourceQuota",
-        "consumes" : [ "application/json" ],
+        "operationId" : "getSubscriptionLevelDispatchRate",
         "produces" : [ "application/json" ],
         "parameters" : [ {
           "name" : "tenant",
           "in" : "path",
-          "description" : "Tenant name",
           "required" : true,
           "type" : "string"
         }, {
           "name" : "namespace",
           "in" : "path",
-          "description" : "Namespace name within the specified tenant",
           "required" : true,
           "type" : "string"
         }, {
-          "name" : "bundle",
+          "name" : "topic",
           "in" : "path",
-          "description" : "Namespace bundle range",
           "required" : true,
           "type" : "string"
-        } ],
-        "responses" : {
-          "200" : {
-            "description" : "successful operation",
-            "schema" : {
-              "$ref" : "#/definitions/ResourceQuota"
-            }
+        }, {
+          "name" : "subName",
+          "in" : "path",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "applied",
+          "in" : "query",
+          "required" : false,
+          "type" : "boolean",
+          "default" : false
+        }, {
+          "name" : "isGlobal",
+          "in" : "query",
+          "required" : false,
+          "type" : "boolean",
+          "default" : false
+        }, {
+          "name" : "authoritative",
+          "in" : "query",
+          "description" : "Is authentication required to perform this operation",
+          "required" : false,
+          "type" : "boolean",
+          "default" : false
+        } ],
+        "responses" : {
+          "403" : {
+            "description" : "Don't have admin permission"
+          },
+          "404" : {
+            "description" : "Topic does not exist"
+          },
+          "405" : {
+            "description" : "Topic level policy is disabled, please enable the topic level policy and retry"
+          },
+          "409" : {
+            "description" : "Concurrent modification"
+          }
+        }
+      },
+      "post" : {
+        "tags" : [ "persistent topic" ],
+        "summary" : "Set message dispatch rate configuration for specified subscription.",
+        "description" : "",
+        "operationId" : "setSubscriptionLevelDispatchRate",
+        "produces" : [ "application/json" ],
+        "parameters" : [ {
+          "name" : "tenant",
+          "in" : "path",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "namespace",
+          "in" : "path",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "topic",
+          "in" : "path",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "subName",
+          "in" : "path",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "authoritative",
+          "in" : "query",
+          "description" : "Is authentication required to perform this operation",
+          "required" : false,
+          "type" : "boolean",
+          "default" : false
+        }, {
+          "name" : "isGlobal",
+          "in" : "query",
+          "required" : false,
+          "type" : "boolean",
+          "default" : false
+        }, {
+          "in" : "body",
+          "name" : "body",
+          "description" : "Subscription message dispatch rate for the specified topic",
+          "required" : false,
+          "schema" : {
+            "$ref" : "#/definitions/DispatchRateImpl"
+          }
+        } ],
+        "responses" : {
+          "403" : {
+            "description" : "Don't have admin permission"
+          },
+          "404" : {
+            "description" : "Topic does not exist"
+          },
+          "405" : {
+            "description" : "Topic level policy is disabled, please enable the topic level policy and retry"
+          },
+          "409" : {
+            "description" : "Concurrent modification"
+          }
+        }
+      },
+      "delete" : {
+        "tags" : [ "persistent topic" ],
+        "summary" : "Remove message dispatch rate configuration for specified subscription.",
+        "description" : "",
+        "operationId" : "removeSubscriptionLevelDispatchRate",
+        "produces" : [ "application/json" ],
+        "parameters" : [ {
+          "name" : "tenant",
+          "in" : "path",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "namespace",
+          "in" : "path",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "topic",
+          "in" : "path",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "subName",
+          "in" : "path",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "isGlobal",
+          "in" : "query",
+          "required" : false,
+          "type" : "boolean",
+          "default" : false
+        }, {
+          "name" : "authoritative",
+          "in" : "query",
+          "description" : "Is authentication required to perform this operation",
+          "required" : false,
+          "type" : "boolean",
+          "default" : false
+        } ],
+        "responses" : {
+          "403" : {
+            "description" : "Don't have admin permission"
+          },
+          "404" : {
+            "description" : "Topic does not exist"
+          },
+          "405" : {
+            "description" : "Topic level policy is disabled, please enable the topic level policy and retry"
+          },
+          "409" : {
+            "description" : "Concurrent modification"
+          }
+        }
+      }
+    },
+    "/resource-quotas" : {
+      "get" : {
+        "tags" : [ "resource-quotas" ],
+        "summary" : "Get the default quota",
+        "description" : "",
+        "operationId" : "getDefaultResourceQuota",
+        "consumes" : [ "application/json" ],
+        "produces" : [ "application/json" ],
+        "responses" : {
+          "200" : {
+            "description" : "successful operation",
+            "schema" : {
+              "type" : "array",
+              "uniqueItems" : true,
+              "items" : {
+                "type" : "string"
+              }
+            }
+          },
+          "403" : {
+            "description" : "Don't have admin permission"
+          }
+        }
+      },
+      "post" : {
+        "tags" : [ "resource-quotas" ],
+        "summary" : "Set the default quota",
+        "description" : "",
+        "operationId" : "setDefaultResourceQuota",
+        "consumes" : [ "application/json" ],
+        "produces" : [ "application/json" ],
+        "parameters" : [ {
+          "in" : "body",
+          "name" : "body",
+          "description" : "Default resource quota",
+          "required" : false,
+          "schema" : {
+            "$ref" : "#/definitions/ResourceQuota"
+          }
+        } ],
+        "responses" : {
+          "200" : {
+            "description" : "successful operation",
+            "schema" : {
+              "type" : "array",
+              "uniqueItems" : true,
+              "items" : {
+                "type" : "string"
+              }
+            }
+          },
+          "403" : {
+            "description" : "Don't have admin permission"
+          }
+        }
+      }
+    },
+    "/resource-quotas/{tenant}/{namespace}/{bundle}" : {
+      "get" : {
+        "tags" : [ "resource-quotas" ],
+        "summary" : "Get resource quota of a namespace bundle.",
+        "description" : "",
+        "operationId" : "getNamespaceBundleResourceQuota",
+        "consumes" : [ "application/json" ],
+        "produces" : [ "application/json" ],
+        "parameters" : [ {
+          "name" : "tenant",
+          "in" : "path",
+          "description" : "Tenant name",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "namespace",
+          "in" : "path",
+          "description" : "Namespace name within the specified tenant",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "bundle",
+          "in" : "path",
+          "description" : "Namespace bundle range",
+          "required" : true,
+          "type" : "string"
+        } ],
+        "responses" : {
+          "200" : {
+            "description" : "successful operation",
+            "schema" : {
+              "$ref" : "#/definitions/ResourceQuota"
+            }
           },
           "307" : {
             "description" : "Current broker doesn't serve the namespace"
@@ -21254,6 +21615,10 @@
           "type" : "string",
           "enum" : [ "producer_request_hold", "producer_exception", "consumer_backlog_eviction" ]
         },
+        "limit" : {
+          "type" : "integer",
+          "format" : "int64"
+        },
         "limitSize" : {
           "type" : "integer",
           "format" : "int64"
@@ -21261,10 +21626,6 @@
         "limitTime" : {
           "type" : "integer",
           "format" : "int32"
-        },
-        "limit" : {
-          "type" : "integer",
-          "format" : "int64"
         }
       }
     },
@@ -21301,11 +21662,11 @@
     "BookieInfo" : {
       "type" : "object",
       "properties" : {
-        "hostname" : {
-          "type" : "string"
-        },
         "rack" : {
           "type" : "string"
+        },
+        "hostname" : {
+          "type" : "string"
         }
       }
     },
@@ -21646,6 +22007,12 @@
             "type" : "string"
           }
         },
+        "consumerName" : {
+          "type" : "string"
+        },
+        "connectedSince" : {
+          "type" : "string"
+        },
         "msgRateOut" : {
           "type" : "number",
           "format" : "double"
@@ -21662,11 +22029,11 @@
           "type" : "integer",
           "format" : "int64"
         },
-        "msgRateRedeliver" : {
-          "type" : "number",
-          "format" : "double"
+        "availablePermits" : {
+          "type" : "integer",
+          "format" : "int32"
         },
-        "chunkedMessageRate" : {
+        "msgRateRedeliver" : {
           "type" : "number",
           "format" : "double"
         },
@@ -21682,13 +22049,6 @@
           "type" : "integer",
           "format" : "int64"
         },
-        "consumerName" : {
-          "type" : "string"
-        },
-        "availablePermits" : {
-          "type" : "integer",
-          "format" : "int32"
-        },
         "avgMessagesPerEntry" : {
           "type" : "integer",
           "format" : "int32"
@@ -21699,17 +22059,18 @@
         "readPositionWhenJoining" : {
           "type" : "string"
         },
-        "connectedSince" : {
-          "type" : "string"
-        },
-        "clientVersion" : {
-          "type" : "string"
-        },
         "keyHashRanges" : {
           "type" : "array",
           "items" : {
             "type" : "string"
           }
+        },
+        "chunkedMessageRate" : {
+          "type" : "number",
+          "format" : "double"
+        },
+        "clientVersion" : {
+          "type" : "string"
         }
       }
     },
@@ -21878,12 +22239,12 @@
         "rootName" : {
           "type" : "string"
         },
-        "fullRootName" : {
-          "$ref" : "#/definitions/PropertyName"
-        },
         "subtypeResolver" : {
           "$ref" : "#/definitions/SubtypeResolver"
         },
+        "fullRootName" : {
+          "$ref" : "#/definitions/PropertyName"
+        },
         "defaultVisibilityChecker" : {
           "$ref" : "#/definitions/VisibilityCheckerObject"
         },
@@ -21964,10 +22325,6 @@
     "DispatchRate" : {
       "type" : "object",
       "properties" : {
-        "dispatchThrottlingRateInByte" : {
-          "type" : "integer",
-          "format" : "int64"
-        },
         "relativeToPublishRate" : {
           "type" : "boolean"
         },
@@ -21978,6 +22335,10 @@
         "dispatchThrottlingRateInMsg" : {
           "type" : "integer",
           "format" : "int32"
+        },
+        "dispatchThrottlingRateInByte" : {
+          "type" : "integer",
+          "format" : "int64"
         }
       }
     },
@@ -22261,9 +22622,6 @@
         "abstract" : {
           "type" : "boolean"
         },
-        "contentType" : {
-          "$ref" : "#/definitions/JavaType"
-        },
         "bindings" : {
           "$ref" : "#/definitions/TypeBindings"
         },
@@ -22315,6 +22673,9 @@
         "mapLikeType" : {
           "type" : "boolean"
         },
+        "contentType" : {
+          "$ref" : "#/definitions/JavaType"
+        },
         "typeName" : {
           "type" : "string"
         },
@@ -22364,9 +22725,6 @@
         "prettyPrinter" : {
           "$ref" : "#/definitions/PrettyPrinter"
         },
-        "currentValue" : {
-          "type" : "object"
-        },
         "featureMask" : {
           "type" : "integer",
           "format" : "int32"
@@ -22375,6 +22733,9 @@
           "type" : "integer",
           "format" : "int32"
         },
+        "currentValue" : {
+          "type" : "object"
+        },
         "highestEscapedChar" : {
           "type" : "integer",
           "format" : "int32"
@@ -22398,13 +22759,6 @@
           "type" : "integer",
           "format" : "int64"
         },
-        "sourceRef" : {
-          "type" : "object"
-        },
-        "lineNr" : {
-          "type" : "integer",
-          "format" : "int32"
-        },
         "columnNr" : {
           "type" : "integer",
           "format" : "int32"
@@ -22412,6 +22766,13 @@
         "charOffset" : {
           "type" : "integer",
           "format" : "int64"
+        },
+        "sourceRef" : {
+          "type" : "object"
+        },
+        "lineNr" : {
+          "type" : "integer",
+          "format" : "int32"
         }
       }
     },
@@ -22428,9 +22789,6 @@
         "text" : {
           "type" : "string"
         },
-        "typeId" : {
-          "type" : "object"
-        },
         "textCharacters" : {
           "type" : "array",
           "items" : {
@@ -22460,6 +22818,9 @@
           "type" : "integer",
           "format" : "int32"
         },
+        "typeId" : {
+          "type" : "object"
+        },
         "closed" : {
           "type" : "boolean"
         },
@@ -22483,6 +22844,14 @@
         "tokenLocation" : {
           "$ref" : "#/definitions/JsonLocation"
         },
+        "featureMask" : {
+          "type" : "integer",
+          "format" : "int32"
+        },
+        "formatFeatures" : {
+          "type" : "integer",
+          "format" : "int32"
+        },
         "currentTokenId" : {
           "type" : "integer",
           "format" : "int32"
@@ -22556,14 +22925,6 @@
         },
         "currentValue" : {
           "type" : "object"
-        },
-        "featureMask" : {
-          "type" : "integer",
-          "format" : "int32"
-        },
-        "formatFeatures" : {
-          "type" : "integer",
-          "format" : "int32"
         }
       }
     },
@@ -22578,11 +22939,11 @@
     "JsonSerializerObject" : {
       "type" : "object",
       "properties" : {
-        "unwrappingSerializer" : {
-          "type" : "boolean"
-        },
         "delegatee" : {
           "$ref" : "#/definitions/JsonSerializerObject"
+        },
+        "unwrappingSerializer" : {
+          "type" : "boolean"
         }
       }
     },
@@ -22592,20 +22953,20 @@
         "parent" : {
           "$ref" : "#/definitions/JsonStreamContext"
         },
-        "currentName" : {
+        "typeDesc" : {
           "type" : "string"
         },
-        "currentValue" : {
-          "type" : "object"
-        },
-        "entryCount" : {
+        "currentIndex" : {
           "type" : "integer",
           "format" : "int32"
         },
-        "typeDesc" : {
+        "currentName" : {
           "type" : "string"
         },
-        "currentIndex" : {
+        "currentValue" : {
+          "type" : "object"
+        },
+        "entryCount" : {
           "type" : "integer",
           "format" : "int32"
         }
@@ -22895,41 +23256,41 @@
           "type" : "number",
           "format" : "double"
         },
-        "cpu" : {
-          "$ref" : "#/definitions/ResourceUsage"
+        "underLoaded" : {
+          "type" : "boolean"
         },
-        "memory" : {
-          "$ref" : "#/definitions/ResourceUsage"
+        "overLoaded" : {
+          "type" : "boolean"
         },
-        "directMemory" : {
-          "$ref" : "#/definitions/ResourceUsage"
+        "loadReportType" : {
+          "type" : "string"
         },
-        "bandwidthIn" : {
+        "msgThroughputOut" : {
+          "type" : "number",
+          "format" : "double"
+        },
+        "msgThroughputIn" : {
+          "type" : "number",
+          "format" : "double"
+        },
+        "cpu" : {
           "$ref" : "#/definitions/ResourceUsage"
         },
-        "bandwidthOut" : {
+        "directMemory" : {
           "$ref" : "#/definitions/ResourceUsage"
         },
         "lastUpdate" : {
           "type" : "integer",
           "format" : "int64"
         },
-        "msgThroughputIn" : {
-          "type" : "number",
-          "format" : "double"
-        },
-        "msgThroughputOut" : {
-          "type" : "number",
-          "format" : "double"
-        },
-        "underLoaded" : {
-          "type" : "boolean"
+        "memory" : {
+          "$ref" : "#/definitions/ResourceUsage"
         },
-        "overLoaded" : {
-          "type" : "boolean"
+        "bandwidthIn" : {
+          "$ref" : "#/definitions/ResourceUsage"
         },
-        "loadReportType" : {
-          "type" : "string"
+        "bandwidthOut" : {
+          "$ref" : "#/definitions/ResourceUsage"
         }
       }
     },
@@ -23202,10 +23563,17 @@
             "type" : "string"
           }
         },
-        "producerName" : {
+        "supportsPartialProducer" : {
+          "type" : "boolean"
+        },
+        "accessMode" : {
+          "type" : "string",
+          "enum" : [ "Shared", "Exclusive", "WaitForExclusive" ]
+        },
+        "connectedSince" : {
           "type" : "string"
         },
-        "msgRateIn" : {
+        "averageMsgSize" : {
           "type" : "number",
           "format" : "double"
         },
@@ -23213,30 +23581,23 @@
           "type" : "number",
           "format" : "double"
         },
-        "averageMsgSize" : {
+        "msgRateIn" : {
           "type" : "number",
           "format" : "double"
         },
+        "producerName" : {
+          "type" : "string"
+        },
         "chunkedMessageRate" : {
           "type" : "number",
           "format" : "double"
         },
-        "connectedSince" : {
-          "type" : "string"
-        },
-        "clientVersion" : {
-          "type" : "string"
-        },
-        "accessMode" : {
-          "type" : "string",
-          "enum" : [ "Shared", "Exclusive", "WaitForExclusive" ]
-        },
         "producerId" : {
           "type" : "integer",
           "format" : "int64"
         },
-        "supportsPartialProducer" : {
-          "type" : "boolean"
+        "clientVersion" : {
+          "type" : "string"
         }
       }
     },
@@ -23250,14 +23611,6 @@
         "connected" : {
           "type" : "boolean"
         },
-        "msgRateIn" : {
-          "type" : "number",
-          "format" : "double"
-        },
-        "msgThroughputIn" : {
-          "type" : "number",
-          "format" : "double"
-        },
         "msgRateOut" : {
           "type" : "number",
           "format" : "double"
@@ -23266,13 +23619,13 @@
           "type" : "number",
           "format" : "double"
         },
-        "msgRateExpired" : {
+        "msgThroughputIn" : {
           "type" : "number",
           "format" : "double"
         },
-        "replicationBacklog" : {
-          "type" : "integer",
-          "format" : "int64"
+        "msgRateIn" : {
+          "type" : "number",
+          "format" : "double"
         },
         "replicationDelayInSeconds" : {
           "type" : "integer",
@@ -23289,6 +23642,14 @@
         },
         "outboundConnectedSince" : {
           "type" : "string"
+        },
+        "msgRateExpired" : {
+          "type" : "number",
+          "format" : "double"
+        },
+        "replicationBacklog" : {
+          "type" : "integer",
+          "format" : "int64"
         }
       }
     },
@@ -23302,17 +23663,13 @@
         "type" : {
           "type" : "string"
         },
-        "replicated" : {
-          "type" : "boolean"
-        },
-        "durable" : {
-          "type" : "boolean"
+        "backlogSize" : {
+          "type" : "integer",
+          "format" : "int64"
         },
-        "consumers" : {
-          "type" : "array",
-          "items" : {
-            "$ref" : "#/definitions/ConsumerStats"
-          }
+        "nonContiguousDeletedMessagesRangesSerializedSize" : {
+          "type" : "integer",
+          "format" : "int32"
         },
         "msgRateOut" : {
           "type" : "number",
@@ -23330,26 +23687,38 @@
           "type" : "integer",
           "format" : "int64"
         },
-        "backlogSize" : {
-          "type" : "integer",
-          "format" : "int64"
+        "subscriptionProperties" : {
+          "type" : "object",
+          "additionalProperties" : {
+            "type" : "string"
+          }
         },
         "nonContiguousDeletedMessagesRanges" : {
           "type" : "integer",
           "format" : "int32"
         },
-        "nonContiguousDeletedMessagesRangesSerializedSize" : {
-          "type" : "integer",
-          "format" : "int32"
+        "consumers" : {
+          "type" : "array",
+          "items" : {
+            "$ref" : "#/definitions/ConsumerStats"
+          }
+        },
+        "replicated" : {
+          "type" : "boolean"
+        },
+        "durable" : {
+          "type" : "boolean"
+        },
+        "allowOutOfOrderDelivery" : {
+          "type" : "boolean"
+        },
+        "keySharedMode" : {
+          "type" : "string"
         },
         "msgRateRedeliver" : {
           "type" : "number",
           "format" : "double"
         },
-        "chunkedMessageRate" : {
-          "type" : "integer",
-          "format" : "int32"
-        },
         "msgBacklog" : {
           "type" : "integer",
           "format" : "int64"
@@ -23376,10 +23745,6 @@
         "activeConsumerName" : {
           "type" : "string"
         },
-        "msgRateExpired" : {
-          "type" : "number",
-          "format" : "double"
-        },
         "totalMsgExpired" : {
           "type" : "integer",
           "format" : "int64"
@@ -23404,35 +23769,25 @@
           "type" : "integer",
           "format" : "int64"
         },
-        "allowOutOfOrderDelivery" : {
-          "type" : "boolean"
-        },
-        "keySharedMode" : {
-          "type" : "string"
-        },
         "consumersAfterMarkDeletePosition" : {
           "type" : "object",
           "additionalProperties" : {
             "type" : "string"
           }
         },
-        "subscriptionProperties" : {
-          "type" : "object",
-          "additionalProperties" : {
-            "type" : "string"
-          }
+        "chunkedMessageRate" : {
+          "type" : "integer",
+          "format" : "int32"
+        },
+        "msgRateExpired" : {
+          "type" : "number",
+          "format" : "double"
         }
       }
     },
     "NonPersistentTopicStats" : {
       "type" : "object",
       "properties" : {
-        "subscriptions" : {
-          "type" : "object",
-          "additionalProperties" : {
-            "$ref" : "#/definitions/NonPersistentSubscriptionStats"
-          }
-        },
         "msgDropRate" : {
           "type" : "number",
           "format" : "double"
@@ -23449,13 +23804,38 @@
             "$ref" : "#/definitions/NonPersistentReplicatorStats"
           }
         },
-        "msgRateIn" : {
-          "type" : "number",
-          "format" : "double"
+        "subscriptions" : {
+          "type" : "object",
+          "additionalProperties" : {
+            "$ref" : "#/definitions/NonPersistentSubscriptionStats"
+          }
         },
-        "msgThroughputIn" : {
-          "type" : "number",
-          "format" : "double"
+        "storageSize" : {
+          "type" : "integer",
+          "format" : "int64"
+        },
+        "backlogSize" : {
+          "type" : "integer",
+          "format" : "int64"
+        },
+        "earliestMsgPublishTimeInBacklogs" : {
+          "type" : "integer",
+          "format" : "int64"
+        },
+        "offloadedStorageSize" : {
+          "type" : "integer",
+          "format" : "int64"
+        },
+        "waitingPublishers" : {
+          "type" : "integer",
+          "format" : "int32"
+        },
+        "deduplicationStatus" : {
+          "type" : "string"
+        },
+        "nonContiguousDeletedMessagesRangesSerializedSize" : {
+          "type" : "integer",
+          "format" : "int32"
         },
         "msgRateOut" : {
           "type" : "number",
@@ -23488,28 +23868,12 @@
         "msgChunkPublished" : {
           "type" : "boolean"
         },
-        "storageSize" : {
-          "type" : "integer",
-          "format" : "int64"
-        },
-        "backlogSize" : {
-          "type" : "integer",
-          "format" : "int64"
-        },
-        "earliestMsgPublishTimeInBacklogs" : {
-          "type" : "integer",
-          "format" : "int64"
-        },
-        "offloadedStorageSize" : {
-          "type" : "integer",
-          "format" : "int64"
-        },
-        "waitingPublishers" : {
-          "type" : "integer",
-          "format" : "int32"
+        "compaction" : {
+          "$ref" : "#/definitions/CompactionStats"
         },
-        "deduplicationStatus" : {
-          "type" : "string"
+        "msgThroughputIn" : {
+          "type" : "number",
+          "format" : "double"
         },
         "topicEpoch" : {
           "type" : "integer",
@@ -23519,12 +23883,9 @@
           "type" : "integer",
           "format" : "int32"
         },
-        "nonContiguousDeletedMessagesRangesSerializedSize" : {
-          "type" : "integer",
-          "format" : "int32"
-        },
-        "compaction" : {
-          "$ref" : "#/definitions/CompactionStats"
+        "msgRateIn" : {
+          "type" : "number",
+          "format" : "double"
         }
       }
     },
@@ -23629,31 +23990,32 @@
     "OffloadPolicies" : {
       "type" : "object",
       "properties" : {
-        "managedLedgerOffloadThresholdInBytes" : {
-          "type" : "integer",
-          "format" : "int64"
+        "s3ManagedLedgerOffloadRoleSessionName" : {
+          "type" : "string"
         },
-        "managedLedgerOffloadDeletionLagInMillis" : {
+        "s3ManagedLedgerOffloadReadBufferSizeInBytes" : {
           "type" : "integer",
-          "format" : "int64"
+          "format" : "int32"
         },
-        "managedLedgerOffloadDriver" : {
+        "gcsManagedLedgerOffloadRegion" : {
           "type" : "string"
         },
-        "offloadersDirectory" : {
+        "gcsManagedLedgerOffloadBucket" : {
           "type" : "string"
         },
-        "managedLedgerOffloadMaxThreads" : {
+        "gcsManagedLedgerOffloadMaxBlockSizeInBytes" : {
           "type" : "integer",
           "format" : "int32"
         },
-        "managedLedgerOffloadPrefetchRounds" : {
+        "gcsManagedLedgerOffloadReadBufferSizeInBytes" : {
           "type" : "integer",
           "format" : "int32"
         },
-        "managedLedgerOffloadedReadPriority" : {
-          "type" : "string",
-          "enum" : [ "BOOKKEEPER_FIRST", "TIERED_STORAGE_FIRST" ]
+        "gcsManagedLedgerOffloadServiceAccountKeyFile" : {
+          "type" : "string"
+        },
+        "fileSystemProfilePath" : {
+          "type" : "string"
         },
         "s3ManagedLedgerOffloadRegion" : {
           "type" : "string"
@@ -23674,34 +24036,7 @@
         "s3ManagedLedgerOffloadCredentialSecret" : {
           "type" : "string"
         },
-        "s3ManagedLedgerOffloadRole" : {
-          "type" : "string"
-        },
-        "s3ManagedLedgerOffloadRoleSessionName" : {
-          "type" : "string"
-        },
-        "s3ManagedLedgerOffloadReadBufferSizeInBytes" : {
-          "type" : "integer",
-          "format" : "int32"
-        },
-        "gcsManagedLedgerOffloadRegion" : {
-          "type" : "string"
-        },
-        "gcsManagedLedgerOffloadBucket" : {
-          "type" : "string"
-        },
-        "gcsManagedLedgerOffloadMaxBlockSizeInBytes" : {
-          "type" : "integer",
-          "format" : "int32"
-        },
-        "gcsManagedLedgerOffloadReadBufferSizeInBytes" : {
-          "type" : "integer",
-          "format" : "int32"
-        },
-        "gcsManagedLedgerOffloadServiceAccountKeyFile" : {
-          "type" : "string"
-        },
-        "fileSystemProfilePath" : {
+        "s3ManagedLedgerOffloadRole" : {
           "type" : "string"
         },
         "fileSystemURI" : {
@@ -23723,6 +24058,32 @@
         "managedLedgerOffloadReadBufferSizeInBytes" : {
           "type" : "integer",
           "format" : "int32"
+        },
+        "managedLedgerOffloadedReadPriority" : {
+          "type" : "string",
+          "enum" : [ "BOOKKEEPER_FIRST", "TIERED_STORAGE_FIRST" ]
+        },
+        "managedLedgerOffloadThresholdInBytes" : {
+          "type" : "integer",
+          "format" : "int64"
+        },
+        "managedLedgerOffloadDeletionLagInMillis" : {
+          "type" : "integer",
+          "format" : "int64"
+        },
+        "managedLedgerOffloadDriver" : {
+          "type" : "string"
+        },
+        "offloadersDirectory" : {
+          "type" : "string"
+        },
+        "managedLedgerOffloadMaxThreads" : {
+          "type" : "integer",
+          "format" : "int32"
+        },
+        "managedLedgerOffloadPrefetchRounds" : {
+          "type" : "integer",
+          "format" : "int32"
         }
       }
     },
@@ -24478,10 +24839,17 @@
             "type" : "string"
           }
         },
-        "producerName" : {
+        "supportsPartialProducer" : {
+          "type" : "boolean"
+        },
+        "accessMode" : {
+          "type" : "string",
+          "enum" : [ "Shared", "Exclusive", "WaitForExclusive" ]
+        },
+        "connectedSince" : {
           "type" : "string"
         },
-        "msgRateIn" : {
+        "averageMsgSize" : {
           "type" : "number",
           "format" : "double"
         },
@@ -24489,30 +24857,23 @@
           "type" : "number",
           "format" : "double"
         },
-        "averageMsgSize" : {
+        "msgRateIn" : {
           "type" : "number",
           "format" : "double"
         },
+        "producerName" : {
+          "type" : "string"
+        },
         "chunkedMessageRate" : {
           "type" : "number",
           "format" : "double"
         },
-        "connectedSince" : {
-          "type" : "string"
-        },
-        "clientVersion" : {
-          "type" : "string"
-        },
-        "accessMode" : {
-          "type" : "string",
-          "enum" : [ "Shared", "Exclusive", "WaitForExclusive" ]
-        },
         "producerId" : {
           "type" : "integer",
           "format" : "int64"
         },
-        "supportsPartialProducer" : {
-          "type" : "boolean"
+        "clientVersion" : {
+          "type" : "string"
         }
       }
     },
@@ -24530,14 +24891,6 @@
         "connected" : {
           "type" : "boolean"
         },
-        "msgRateIn" : {
-          "type" : "number",
-          "format" : "double"
-        },
-        "msgThroughputIn" : {
-          "type" : "number",
-          "format" : "double"
-        },
         "msgRateOut" : {
           "type" : "number",
           "format" : "double"
@@ -24546,13 +24899,13 @@
           "type" : "number",
           "format" : "double"
         },
-        "msgRateExpired" : {
+        "msgThroughputIn" : {
           "type" : "number",
           "format" : "double"
         },
-        "replicationBacklog" : {
-          "type" : "integer",
-          "format" : "int64"
+        "msgRateIn" : {
+          "type" : "number",
+          "format" : "double"
         },
         "replicationDelayInSeconds" : {
           "type" : "integer",
@@ -24569,6 +24922,14 @@
         },
         "outboundConnectedSince" : {
           "type" : "string"
+        },
+        "msgRateExpired" : {
+          "type" : "number",
+          "format" : "double"
+        },
+        "replicationBacklog" : {
+          "type" : "integer",
+          "format" : "int64"
         }
       }
     },
@@ -24746,12 +25107,12 @@
         "rootName" : {
           "type" : "string"
         },
-        "fullRootName" : {
-          "$ref" : "#/definitions/PropertyName"
-        },
         "subtypeResolver" : {
           "$ref" : "#/definitions/SubtypeResolver"
         },
+        "fullRootName" : {
+          "$ref" : "#/definitions/PropertyName"
+        },
         "defaultVisibilityChecker" : {
           "$ref" : "#/definitions/VisibilityCheckerObject"
         },
@@ -24912,17 +25273,13 @@
         "type" : {
           "type" : "string"
         },
-        "replicated" : {
-          "type" : "boolean"
-        },
-        "durable" : {
-          "type" : "boolean"
+        "backlogSize" : {
+          "type" : "integer",
+          "format" : "int64"
         },
-        "consumers" : {
-          "type" : "array",
-          "items" : {
-            "$ref" : "#/definitions/ConsumerStats"
-          }
+        "nonContiguousDeletedMessagesRangesSerializedSize" : {
+          "type" : "integer",
+          "format" : "int32"
         },
         "msgRateOut" : {
           "type" : "number",
@@ -24940,26 +25297,38 @@
           "type" : "integer",
           "format" : "int64"
         },
-        "backlogSize" : {
-          "type" : "integer",
-          "format" : "int64"
+        "subscriptionProperties" : {
+          "type" : "object",
+          "additionalProperties" : {
+            "type" : "string"
+          }
         },
         "nonContiguousDeletedMessagesRanges" : {
           "type" : "integer",
           "format" : "int32"
         },
-        "nonContiguousDeletedMessagesRangesSerializedSize" : {
-          "type" : "integer",
-          "format" : "int32"
+        "consumers" : {
+          "type" : "array",
+          "items" : {
+            "$ref" : "#/definitions/ConsumerStats"
+          }
+        },
+        "replicated" : {
+          "type" : "boolean"
+        },
+        "durable" : {
+          "type" : "boolean"
+        },
+        "allowOutOfOrderDelivery" : {
+          "type" : "boolean"
+        },
+        "keySharedMode" : {
+          "type" : "string"
         },
         "msgRateRedeliver" : {
           "type" : "number",
           "format" : "double"
         },
-        "chunkedMessageRate" : {
-          "type" : "integer",
-          "format" : "int32"
-        },
         "msgBacklog" : {
           "type" : "integer",
           "format" : "int64"
@@ -24986,10 +25355,6 @@
         "activeConsumerName" : {
           "type" : "string"
         },
-        "msgRateExpired" : {
-          "type" : "number",
-          "format" : "double"
-        },
         "totalMsgExpired" : {
           "type" : "integer",
           "format" : "int64"
@@ -25014,23 +25379,19 @@
           "type" : "integer",
           "format" : "int64"
         },
-        "allowOutOfOrderDelivery" : {
-          "type" : "boolean"
-        },
-        "keySharedMode" : {
-          "type" : "string"
-        },
         "consumersAfterMarkDeletePosition" : {
           "type" : "object",
           "additionalProperties" : {
             "type" : "string"
           }
         },
-        "subscriptionProperties" : {
-          "type" : "object",
-          "additionalProperties" : {
-            "type" : "string"
-          }
+        "chunkedMessageRate" : {
+          "type" : "integer",
+          "format" : "int32"
+        },
+        "msgRateExpired" : {
+          "type" : "number",
+          "format" : "double"
         }
       }
     },
@@ -25112,19 +25473,38 @@
     "TopicStats" : {
       "type" : "object",
       "properties" : {
-        "subscriptions" : {
-          "type" : "object",
-          "additionalProperties" : {
-            "$ref" : "#/definitions/SubscriptionStats"
+        "storageSize" : {
+          "type" : "integer",
+          "format" : "int64"
+        },
+        "backlogSize" : {
+          "type" : "integer",
+          "format" : "int64"
+        },
+        "earliestMsgPublishTimeInBacklogs" : {
+          "type" : "integer",
+          "format" : "int64"
+        },
+        "offloadedStorageSize" : {
+          "type" : "integer",
+          "format" : "int64"
+        },
+        "publishers" : {
+          "type" : "array",
+          "items" : {
+            "$ref" : "#/definitions/PublisherStats"
           }
         },
-        "msgRateIn" : {
-          "type" : "number",
-          "format" : "double"
+        "waitingPublishers" : {
+          "type" : "integer",
+          "format" : "int32"
         },
-        "msgThroughputIn" : {
-          "type" : "number",
-          "format" : "double"
+        "deduplicationStatus" : {
+          "type" : "string"
+        },
+        "nonContiguousDeletedMessagesRangesSerializedSize" : {
+          "type" : "integer",
+          "format" : "int32"
         },
         "msgRateOut" : {
           "type" : "number",
@@ -25157,31 +25537,12 @@
         "msgChunkPublished" : {
           "type" : "boolean"
         },
-        "storageSize" : {
-          "type" : "integer",
-          "format" : "int64"
-        },
-        "backlogSize" : {
-          "type" : "integer",
-          "format" : "int64"
-        },
-        "earliestMsgPublishTimeInBacklogs" : {
-          "type" : "integer",
-          "format" : "int64"
-        },
-        "offloadedStorageSize" : {
-          "type" : "integer",
-          "format" : "int64"
-        },
-        "publishers" : {
-          "type" : "array",
-          "items" : {
-            "$ref" : "#/definitions/PublisherStats"
-          }
+        "compaction" : {
+          "$ref" : "#/definitions/CompactionStats"
         },
-        "waitingPublishers" : {
-          "type" : "integer",
-          "format" : "int32"
+        "msgThroughputIn" : {
+          "type" : "number",
+          "format" : "double"
         },
         "replication" : {
           "type" : "object",
@@ -25189,9 +25550,6 @@
             "$ref" : "#/definitions/ReplicatorStats"
           }
         },
-        "deduplicationStatus" : {
-          "type" : "string"
-        },
         "topicEpoch" : {
           "type" : "integer",
           "format" : "int64"
@@ -25200,12 +25558,15 @@
           "type" : "integer",
           "format" : "int32"
         },
-        "nonContiguousDeletedMessagesRangesSerializedSize" : {
-          "type" : "integer",
-          "format" : "int32"
+        "msgRateIn" : {
+          "type" : "number",
+          "format" : "double"
         },
-        "compaction" : {
-          "$ref" : "#/definitions/CompactionStats"
+        "subscriptions" : {
+          "type" : "object",
+          "additionalProperties" : {
+            "$ref" : "#/definitions/SubscriptionStats"
+          }
         }
       }
     },
@@ -25376,6 +25737,9 @@
           "type" : "integer",
           "format" : "int32"
         },
+        "functionsWorkerEnablePackageManagement" : {
+          "type" : "boolean"
+        },
         "downloadDirectory" : {
           "type" : "string"
         },
@@ -25683,6 +26047,12 @@
         "initialized" : {
           "type" : "boolean"
         },
+        "functions" : {
+          "$ref" : "#/definitions/FunctionsWorkerService"
+        },
+        "sinks" : {
+          "$ref" : "#/definitions/SinksWorkerService"
+        },
         "functionsV2" : {
           "$ref" : "#/definitions/FunctionsV2WorkerService"
         },
@@ -25691,12 +26061,6 @@
         },
         "workerConfig" : {
           "$ref" : "#/definitions/WorkerConfig"
-        },
-        "sinks" : {
-          "$ref" : "#/definitions/SinksWorkerService"
-        },
-        "functions" : {
-          "$ref" : "#/definitions/FunctionsWorkerService"
         }
       }
     },
diff --git a/content/swagger/2.11.0-SNAPSHOT/swaggerfunctions.json b/content/swagger/2.11.0-SNAPSHOT/swaggerfunctions.json
index 3ebef8a08e2..ad16762fdcf 100644
--- a/content/swagger/2.11.0-SNAPSHOT/swaggerfunctions.json
+++ b/content/swagger/2.11.0-SNAPSHOT/swaggerfunctions.json
@@ -1252,12 +1252,12 @@
         "rootName" : {
           "type" : "string"
         },
-        "fullRootName" : {
-          "$ref" : "#/definitions/PropertyName"
-        },
         "subtypeResolver" : {
           "$ref" : "#/definitions/SubtypeResolver"
         },
+        "fullRootName" : {
+          "$ref" : "#/definitions/PropertyName"
+        },
         "defaultVisibilityChecker" : {
           "$ref" : "#/definitions/VisibilityCheckerObject"
         },
@@ -1899,9 +1899,6 @@
         "abstract" : {
           "type" : "boolean"
         },
-        "contentType" : {
-          "$ref" : "#/definitions/JavaType"
-        },
         "bindings" : {
           "$ref" : "#/definitions/TypeBindings"
         },
@@ -1953,6 +1950,9 @@
         "mapLikeType" : {
           "type" : "boolean"
         },
+        "contentType" : {
+          "$ref" : "#/definitions/JavaType"
+        },
         "typeName" : {
           "type" : "string"
         },
@@ -2002,9 +2002,6 @@
         "prettyPrinter" : {
           "$ref" : "#/definitions/PrettyPrinter"
         },
-        "currentValue" : {
-          "type" : "object"
-        },
         "featureMask" : {
           "type" : "integer",
           "format" : "int32"
@@ -2013,6 +2010,9 @@
           "type" : "integer",
           "format" : "int32"
         },
+        "currentValue" : {
+          "type" : "object"
+        },
         "highestEscapedChar" : {
           "type" : "integer",
           "format" : "int32"
@@ -2036,13 +2036,6 @@
           "type" : "integer",
           "format" : "int64"
         },
-        "sourceRef" : {
-          "type" : "object"
-        },
-        "lineNr" : {
-          "type" : "integer",
-          "format" : "int32"
-        },
         "columnNr" : {
           "type" : "integer",
           "format" : "int32"
@@ -2050,6 +2043,13 @@
         "charOffset" : {
           "type" : "integer",
           "format" : "int64"
+        },
+        "sourceRef" : {
+          "type" : "object"
+        },
+        "lineNr" : {
+          "type" : "integer",
+          "format" : "int32"
         }
       }
     },
@@ -2066,9 +2066,6 @@
         "text" : {
           "type" : "string"
         },
-        "typeId" : {
-          "type" : "object"
-        },
         "textCharacters" : {
           "type" : "array",
           "items" : {
@@ -2098,6 +2095,9 @@
           "type" : "integer",
           "format" : "int32"
         },
+        "typeId" : {
+          "type" : "object"
+        },
         "closed" : {
           "type" : "boolean"
         },
@@ -2121,6 +2121,14 @@
         "tokenLocation" : {
           "$ref" : "#/definitions/JsonLocation"
         },
+        "featureMask" : {
+          "type" : "integer",
+          "format" : "int32"
+        },
+        "formatFeatures" : {
+          "type" : "integer",
+          "format" : "int32"
+        },
         "currentTokenId" : {
           "type" : "integer",
           "format" : "int32"
@@ -2194,14 +2202,6 @@
         },
         "currentValue" : {
           "type" : "object"
-        },
-        "featureMask" : {
-          "type" : "integer",
-          "format" : "int32"
-        },
-        "formatFeatures" : {
-          "type" : "integer",
-          "format" : "int32"
         }
       }
     },
@@ -2216,11 +2216,11 @@
     "JsonSerializerObject" : {
       "type" : "object",
       "properties" : {
-        "unwrappingSerializer" : {
-          "type" : "boolean"
-        },
         "delegatee" : {
           "$ref" : "#/definitions/JsonSerializerObject"
+        },
+        "unwrappingSerializer" : {
+          "type" : "boolean"
         }
       }
     },
@@ -2230,20 +2230,20 @@
         "parent" : {
           "$ref" : "#/definitions/JsonStreamContext"
         },
-        "currentName" : {
+        "typeDesc" : {
           "type" : "string"
         },
-        "currentValue" : {
-          "type" : "object"
-        },
-        "entryCount" : {
+        "currentIndex" : {
           "type" : "integer",
           "format" : "int32"
         },
-        "typeDesc" : {
+        "currentName" : {
           "type" : "string"
         },
-        "currentIndex" : {
+        "currentValue" : {
+          "type" : "object"
+        },
+        "entryCount" : {
           "type" : "integer",
           "format" : "int32"
         }
@@ -2343,6 +2343,30 @@
             "format" : "byte"
           }
         },
+        "messageId" : {
+          "$ref" : "#/definitions/MessageId"
+        },
+        "brokerPublishTime" : {
+          "type" : "integer",
+          "format" : "int64"
+        },
+        "keyBytes" : {
+          "type" : "array",
+          "items" : {
+            "type" : "string",
+            "format" : "byte"
+          }
+        },
+        "encryptionCtx" : {
+          "$ref" : "#/definitions/EncryptionContext"
+        },
+        "redeliveryCount" : {
+          "type" : "integer",
+          "format" : "int32"
+        },
+        "readerSchema" : {
+          "$ref" : "#/definitions/SchemaObject"
+        },
         "publishTime" : {
           "type" : "integer",
           "format" : "int64"
@@ -2380,30 +2404,6 @@
         },
         "topicName" : {
           "type" : "string"
-        },
-        "keyBytes" : {
-          "type" : "array",
-          "items" : {
-            "type" : "string",
-            "format" : "byte"
-          }
-        },
-        "encryptionCtx" : {
-          "$ref" : "#/definitions/EncryptionContext"
-        },
-        "redeliveryCount" : {
-          "type" : "integer",
-          "format" : "int32"
-        },
-        "readerSchema" : {
-          "$ref" : "#/definitions/SchemaObject"
-        },
-        "brokerPublishTime" : {
-          "type" : "integer",
-          "format" : "int64"
-        },
-        "messageId" : {
-          "$ref" : "#/definitions/MessageId"
         }
       }
     },
@@ -2685,11 +2685,11 @@
     "Schema" : {
       "type" : "object",
       "properties" : {
-        "schemaInfo" : {
-          "$ref" : "#/definitions/SchemaInfo"
-        },
         "nativeSchema" : {
           "type" : "object"
+        },
+        "schemaInfo" : {
+          "$ref" : "#/definitions/SchemaInfo"
         }
       }
     },
@@ -2709,26 +2709,26 @@
           "type" : "string",
           "enum" : [ "NONE", "STRING", "JSON", "PROTOBUF", "AVRO", "BOOLEAN", "INT8", "INT16", "INT32", "INT64", "FLOAT", "DOUBLE", "DATE", "TIME", "TIMESTAMP", "KEY_VALUE", "INSTANT", "LOCAL_DATE", "LOCAL_TIME", "LOCAL_DATE_TIME", "PROTOBUF_NATIVE", "BYTES", "AUTO", "AUTO_CONSUME", "AUTO_PUBLISH" ]
         },
+        "schemaDefinition" : {
+          "type" : "string"
+        },
         "schema" : {
           "type" : "array",
           "items" : {
             "type" : "string",
             "format" : "byte"
           }
-        },
-        "schemaDefinition" : {
-          "type" : "string"
         }
       }
     },
     "SchemaObject" : {
       "type" : "object",
       "properties" : {
-        "schemaInfo" : {
-          "$ref" : "#/definitions/SchemaInfo"
-        },
         "nativeSchema" : {
           "type" : "object"
+        },
+        "schemaInfo" : {
+          "$ref" : "#/definitions/SchemaInfo"
         }
       }
     },
@@ -2761,12 +2761,12 @@
         "rootName" : {
           "type" : "string"
         },
-        "fullRootName" : {
-          "$ref" : "#/definitions/PropertyName"
-        },
         "subtypeResolver" : {
           "$ref" : "#/definitions/SubtypeResolver"
         },
+        "fullRootName" : {
+          "$ref" : "#/definitions/PropertyName"
+        },
         "defaultVisibilityChecker" : {
           "$ref" : "#/definitions/VisibilityCheckerObject"
         },
diff --git a/content/swagger/2.11.0-SNAPSHOT/swaggerpackages.json b/content/swagger/2.11.0-SNAPSHOT/swaggerpackages.json
index 64190cdf962..ae5dacf2941 100644
--- a/content/swagger/2.11.0-SNAPSHOT/swaggerpackages.json
+++ b/content/swagger/2.11.0-SNAPSHOT/swaggerpackages.json
@@ -637,12 +637,12 @@
         "rootName" : {
           "type" : "string"
         },
-        "fullRootName" : {
-          "$ref" : "#/definitions/PropertyName"
-        },
         "subtypeResolver" : {
           "$ref" : "#/definitions/SubtypeResolver"
         },
+        "fullRootName" : {
+          "$ref" : "#/definitions/PropertyName"
+        },
         "defaultVisibilityChecker" : {
           "$ref" : "#/definitions/VisibilityCheckerObject"
         },
@@ -773,9 +773,6 @@
         "abstract" : {
           "type" : "boolean"
         },
-        "contentType" : {
-          "$ref" : "#/definitions/JavaType"
-        },
         "bindings" : {
           "$ref" : "#/definitions/TypeBindings"
         },
@@ -827,6 +824,9 @@
         "mapLikeType" : {
           "type" : "boolean"
         },
+        "contentType" : {
+          "$ref" : "#/definitions/JavaType"
+        },
         "typeName" : {
           "type" : "string"
         },
@@ -876,9 +876,6 @@
         "prettyPrinter" : {
           "$ref" : "#/definitions/PrettyPrinter"
         },
-        "currentValue" : {
-          "type" : "object"
-        },
         "featureMask" : {
           "type" : "integer",
           "format" : "int32"
@@ -887,6 +884,9 @@
           "type" : "integer",
           "format" : "int32"
         },
+        "currentValue" : {
+          "type" : "object"
+        },
         "highestEscapedChar" : {
           "type" : "integer",
           "format" : "int32"
@@ -910,13 +910,6 @@
           "type" : "integer",
           "format" : "int64"
         },
-        "sourceRef" : {
-          "type" : "object"
-        },
-        "lineNr" : {
-          "type" : "integer",
-          "format" : "int32"
-        },
         "columnNr" : {
           "type" : "integer",
           "format" : "int32"
@@ -924,6 +917,13 @@
         "charOffset" : {
           "type" : "integer",
           "format" : "int64"
+        },
+        "sourceRef" : {
+          "type" : "object"
+        },
+        "lineNr" : {
+          "type" : "integer",
+          "format" : "int32"
         }
       }
     },
@@ -940,9 +940,6 @@
         "text" : {
           "type" : "string"
         },
-        "typeId" : {
-          "type" : "object"
-        },
         "textCharacters" : {
           "type" : "array",
           "items" : {
@@ -972,6 +969,9 @@
           "type" : "integer",
           "format" : "int32"
         },
+        "typeId" : {
+          "type" : "object"
+        },
         "closed" : {
           "type" : "boolean"
         },
@@ -995,6 +995,14 @@
         "tokenLocation" : {
           "$ref" : "#/definitions/JsonLocation"
         },
+        "featureMask" : {
+          "type" : "integer",
+          "format" : "int32"
+        },
+        "formatFeatures" : {
+          "type" : "integer",
+          "format" : "int32"
+        },
         "currentTokenId" : {
           "type" : "integer",
           "format" : "int32"
@@ -1068,14 +1076,6 @@
         },
         "currentValue" : {
           "type" : "object"
-        },
-        "featureMask" : {
-          "type" : "integer",
-          "format" : "int32"
-        },
-        "formatFeatures" : {
-          "type" : "integer",
-          "format" : "int32"
         }
       }
     },
@@ -1090,11 +1090,11 @@
     "JsonSerializerObject" : {
       "type" : "object",
       "properties" : {
-        "unwrappingSerializer" : {
-          "type" : "boolean"
-        },
         "delegatee" : {
           "$ref" : "#/definitions/JsonSerializerObject"
+        },
+        "unwrappingSerializer" : {
+          "type" : "boolean"
         }
       }
     },
@@ -1104,20 +1104,20 @@
         "parent" : {
           "$ref" : "#/definitions/JsonStreamContext"
         },
-        "currentName" : {
+        "typeDesc" : {
           "type" : "string"
         },
-        "currentValue" : {
-          "type" : "object"
-        },
-        "entryCount" : {
+        "currentIndex" : {
           "type" : "integer",
           "format" : "int32"
         },
-        "typeDesc" : {
+        "currentName" : {
           "type" : "string"
         },
-        "currentIndex" : {
+        "currentValue" : {
+          "type" : "object"
+        },
+        "entryCount" : {
           "type" : "integer",
           "format" : "int32"
         }
@@ -1478,12 +1478,12 @@
         "rootName" : {
           "type" : "string"
         },
-        "fullRootName" : {
-          "$ref" : "#/definitions/PropertyName"
-        },
         "subtypeResolver" : {
           "$ref" : "#/definitions/SubtypeResolver"
         },
+        "fullRootName" : {
+          "$ref" : "#/definitions/PropertyName"
+        },
         "defaultVisibilityChecker" : {
           "$ref" : "#/definitions/VisibilityCheckerObject"
         },
diff --git a/content/swagger/2.11.0-SNAPSHOT/swaggersink.json b/content/swagger/2.11.0-SNAPSHOT/swaggersink.json
index 3822a75d60f..c2510e115d3 100644
--- a/content/swagger/2.11.0-SNAPSHOT/swaggersink.json
+++ b/content/swagger/2.11.0-SNAPSHOT/swaggersink.json
@@ -1131,12 +1131,12 @@
         "rootName" : {
           "type" : "string"
         },
-        "fullRootName" : {
-          "$ref" : "#/definitions/PropertyName"
-        },
         "subtypeResolver" : {
           "$ref" : "#/definitions/SubtypeResolver"
         },
+        "fullRootName" : {
+          "$ref" : "#/definitions/PropertyName"
+        },
         "defaultVisibilityChecker" : {
           "$ref" : "#/definitions/VisibilityCheckerObject"
         },
@@ -1279,9 +1279,6 @@
         "abstract" : {
           "type" : "boolean"
         },
-        "contentType" : {
-          "$ref" : "#/definitions/JavaType"
-        },
         "bindings" : {
           "$ref" : "#/definitions/TypeBindings"
         },
@@ -1333,6 +1330,9 @@
         "mapLikeType" : {
           "type" : "boolean"
         },
+        "contentType" : {
+          "$ref" : "#/definitions/JavaType"
+        },
         "typeName" : {
           "type" : "string"
         },
@@ -1382,9 +1382,6 @@
         "prettyPrinter" : {
           "$ref" : "#/definitions/PrettyPrinter"
         },
-        "currentValue" : {
-          "type" : "object"
-        },
         "featureMask" : {
           "type" : "integer",
           "format" : "int32"
@@ -1393,6 +1390,9 @@
           "type" : "integer",
           "format" : "int32"
         },
+        "currentValue" : {
+          "type" : "object"
+        },
         "highestEscapedChar" : {
           "type" : "integer",
           "format" : "int32"
@@ -1416,13 +1416,6 @@
           "type" : "integer",
           "format" : "int64"
         },
-        "sourceRef" : {
-          "type" : "object"
-        },
-        "lineNr" : {
-          "type" : "integer",
-          "format" : "int32"
-        },
         "columnNr" : {
           "type" : "integer",
           "format" : "int32"
@@ -1430,6 +1423,13 @@
         "charOffset" : {
           "type" : "integer",
           "format" : "int64"
+        },
+        "sourceRef" : {
+          "type" : "object"
+        },
+        "lineNr" : {
+          "type" : "integer",
+          "format" : "int32"
         }
       }
     },
@@ -1446,9 +1446,6 @@
         "text" : {
           "type" : "string"
         },
-        "typeId" : {
-          "type" : "object"
-        },
         "textCharacters" : {
           "type" : "array",
           "items" : {
@@ -1478,6 +1475,9 @@
           "type" : "integer",
           "format" : "int32"
         },
+        "typeId" : {
+          "type" : "object"
+        },
         "closed" : {
           "type" : "boolean"
         },
@@ -1501,6 +1501,14 @@
         "tokenLocation" : {
           "$ref" : "#/definitions/JsonLocation"
         },
+        "featureMask" : {
+          "type" : "integer",
+          "format" : "int32"
+        },
+        "formatFeatures" : {
+          "type" : "integer",
+          "format" : "int32"
+        },
         "currentTokenId" : {
           "type" : "integer",
           "format" : "int32"
@@ -1574,14 +1582,6 @@
         },
         "currentValue" : {
           "type" : "object"
-        },
-        "featureMask" : {
-          "type" : "integer",
-          "format" : "int32"
-        },
-        "formatFeatures" : {
-          "type" : "integer",
-          "format" : "int32"
         }
       }
     },
@@ -1596,11 +1596,11 @@
     "JsonSerializerObject" : {
       "type" : "object",
       "properties" : {
-        "unwrappingSerializer" : {
-          "type" : "boolean"
-        },
         "delegatee" : {
           "$ref" : "#/definitions/JsonSerializerObject"
+        },
+        "unwrappingSerializer" : {
+          "type" : "boolean"
         }
       }
     },
@@ -1610,20 +1610,20 @@
         "parent" : {
           "$ref" : "#/definitions/JsonStreamContext"
         },
-        "currentName" : {
+        "typeDesc" : {
           "type" : "string"
         },
-        "currentValue" : {
-          "type" : "object"
-        },
-        "entryCount" : {
+        "currentIndex" : {
           "type" : "integer",
           "format" : "int32"
         },
-        "typeDesc" : {
+        "currentName" : {
           "type" : "string"
         },
-        "currentIndex" : {
+        "currentValue" : {
+          "type" : "object"
+        },
+        "entryCount" : {
           "type" : "integer",
           "format" : "int32"
         }
@@ -1976,12 +1976,12 @@
         "rootName" : {
           "type" : "string"
         },
-        "fullRootName" : {
-          "$ref" : "#/definitions/PropertyName"
-        },
         "subtypeResolver" : {
           "$ref" : "#/definitions/SubtypeResolver"
         },
+        "fullRootName" : {
+          "$ref" : "#/definitions/PropertyName"
+        },
         "defaultVisibilityChecker" : {
           "$ref" : "#/definitions/VisibilityCheckerObject"
         },
diff --git a/content/swagger/2.11.0-SNAPSHOT/swaggersource.json b/content/swagger/2.11.0-SNAPSHOT/swaggersource.json
index 96831c8b9b2..82dee91a6b2 100644
--- a/content/swagger/2.11.0-SNAPSHOT/swaggersource.json
+++ b/content/swagger/2.11.0-SNAPSHOT/swaggersource.json
@@ -1112,12 +1112,12 @@
         "rootName" : {
           "type" : "string"
         },
-        "fullRootName" : {
-          "$ref" : "#/definitions/PropertyName"
-        },
         "subtypeResolver" : {
           "$ref" : "#/definitions/SubtypeResolver"
         },
+        "fullRootName" : {
+          "$ref" : "#/definitions/PropertyName"
+        },
         "defaultVisibilityChecker" : {
           "$ref" : "#/definitions/VisibilityCheckerObject"
         },
@@ -1260,9 +1260,6 @@
         "abstract" : {
           "type" : "boolean"
         },
-        "contentType" : {
-          "$ref" : "#/definitions/JavaType"
-        },
         "bindings" : {
           "$ref" : "#/definitions/TypeBindings"
         },
@@ -1314,6 +1311,9 @@
         "mapLikeType" : {
           "type" : "boolean"
         },
+        "contentType" : {
+          "$ref" : "#/definitions/JavaType"
+        },
         "typeName" : {
           "type" : "string"
         },
@@ -1363,9 +1363,6 @@
         "prettyPrinter" : {
           "$ref" : "#/definitions/PrettyPrinter"
         },
-        "currentValue" : {
-          "type" : "object"
-        },
         "featureMask" : {
           "type" : "integer",
           "format" : "int32"
@@ -1374,6 +1371,9 @@
           "type" : "integer",
           "format" : "int32"
         },
+        "currentValue" : {
+          "type" : "object"
+        },
         "highestEscapedChar" : {
           "type" : "integer",
           "format" : "int32"
@@ -1397,13 +1397,6 @@
           "type" : "integer",
           "format" : "int64"
         },
-        "sourceRef" : {
-          "type" : "object"
-        },
-        "lineNr" : {
-          "type" : "integer",
-          "format" : "int32"
-        },
         "columnNr" : {
           "type" : "integer",
           "format" : "int32"
@@ -1411,6 +1404,13 @@
         "charOffset" : {
           "type" : "integer",
           "format" : "int64"
+        },
+        "sourceRef" : {
+          "type" : "object"
+        },
+        "lineNr" : {
+          "type" : "integer",
+          "format" : "int32"
         }
       }
     },
@@ -1427,9 +1427,6 @@
         "text" : {
           "type" : "string"
         },
-        "typeId" : {
-          "type" : "object"
-        },
         "textCharacters" : {
           "type" : "array",
           "items" : {
@@ -1459,6 +1456,9 @@
           "type" : "integer",
           "format" : "int32"
         },
+        "typeId" : {
+          "type" : "object"
+        },
         "closed" : {
           "type" : "boolean"
         },
@@ -1482,6 +1482,14 @@
         "tokenLocation" : {
           "$ref" : "#/definitions/JsonLocation"
         },
+        "featureMask" : {
+          "type" : "integer",
+          "format" : "int32"
+        },
+        "formatFeatures" : {
+          "type" : "integer",
+          "format" : "int32"
+        },
         "currentTokenId" : {
           "type" : "integer",
           "format" : "int32"
@@ -1555,14 +1563,6 @@
         },
         "currentValue" : {
           "type" : "object"
-        },
-        "featureMask" : {
-          "type" : "integer",
-          "format" : "int32"
-        },
-        "formatFeatures" : {
-          "type" : "integer",
-          "format" : "int32"
         }
       }
     },
@@ -1577,11 +1577,11 @@
     "JsonSerializerObject" : {
       "type" : "object",
       "properties" : {
-        "unwrappingSerializer" : {
-          "type" : "boolean"
-        },
         "delegatee" : {
           "$ref" : "#/definitions/JsonSerializerObject"
+        },
+        "unwrappingSerializer" : {
+          "type" : "boolean"
         }
       }
     },
@@ -1591,20 +1591,20 @@
         "parent" : {
           "$ref" : "#/definitions/JsonStreamContext"
         },
-        "currentName" : {
+        "typeDesc" : {
           "type" : "string"
         },
-        "currentValue" : {
-          "type" : "object"
-        },
-        "entryCount" : {
+        "currentIndex" : {
           "type" : "integer",
           "format" : "int32"
         },
-        "typeDesc" : {
+        "currentName" : {
           "type" : "string"
         },
-        "currentIndex" : {
+        "currentValue" : {
+          "type" : "object"
+        },
+        "entryCount" : {
           "type" : "integer",
           "format" : "int32"
         }
@@ -1979,12 +1979,12 @@
         "rootName" : {
           "type" : "string"
         },
-        "fullRootName" : {
-          "$ref" : "#/definitions/PropertyName"
-        },
         "subtypeResolver" : {
           "$ref" : "#/definitions/SubtypeResolver"
         },
+        "fullRootName" : {
+          "$ref" : "#/definitions/PropertyName"
+        },
         "defaultVisibilityChecker" : {
           "$ref" : "#/definitions/VisibilityCheckerObject"
         },
diff --git a/content/swagger/2.11.0-SNAPSHOT/v2/swagger.json b/content/swagger/2.11.0-SNAPSHOT/v2/swagger.json
index 2695f082421..c1c020102a2 100644
--- a/content/swagger/2.11.0-SNAPSHOT/v2/swagger.json
+++ b/content/swagger/2.11.0-SNAPSHOT/v2/swagger.json
@@ -15844,6 +15844,222 @@
                 }
             }
         },
+        "/non-persistent/{tenant}/{namespace}/{topic}/{subName}/dispatchRate": {
+            "get": {
+                "tags": [
+                    "non-persistent topic"
+                ],
+                "summary": "Get message dispatch rate configuration for specified subscription.",
+                "description": "",
+                "operationId": "getSubscriptionLevelDispatchRate",
+                "produces": [
+                    "application/json"
+                ],
+                "parameters": [
+                    {
+                        "name": "tenant",
+                        "in": "path",
+                        "required": true,
+                        "type": "string"
+                    },
+                    {
+                        "name": "namespace",
+                        "in": "path",
+                        "required": true,
+                        "type": "string"
+                    },
+                    {
+                        "name": "topic",
+                        "in": "path",
+                        "required": true,
+                        "type": "string"
+                    },
+                    {
+                        "name": "subName",
+                        "in": "path",
+                        "required": true,
+                        "type": "string"
+                    },
+                    {
+                        "name": "applied",
+                        "in": "query",
+                        "required": false,
+                        "type": "boolean",
+                        "default": false
+                    },
+                    {
+                        "name": "isGlobal",
+                        "in": "query",
+                        "required": false,
+                        "type": "boolean",
+                        "default": false
+                    },
+                    {
+                        "name": "authoritative",
+                        "in": "query",
+                        "description": "Is authentication required to perform this operation",
+                        "required": false,
+                        "type": "boolean",
+                        "default": false
+                    }
+                ],
+                "responses": {
+                    "403": {
+                        "description": "Don't have admin permission"
+                    },
+                    "404": {
+                        "description": "Topic does not exist"
+                    },
+                    "405": {
+                        "description": "Topic level policy is disabled, please enable the topic level policy and retry"
+                    },
+                    "409": {
+                        "description": "Concurrent modification"
+                    }
+                }
+            },
+            "post": {
+                "tags": [
+                    "non-persistent topic"
+                ],
+                "summary": "Set message dispatch rate configuration for specified subscription.",
+                "description": "",
+                "operationId": "setSubscriptionLevelDispatchRate",
+                "produces": [
+                    "application/json"
+                ],
+                "parameters": [
+                    {
+                        "name": "tenant",
+                        "in": "path",
+                        "required": true,
+                        "type": "string"
+                    },
+                    {
+                        "name": "namespace",
+                        "in": "path",
+                        "required": true,
+                        "type": "string"
+                    },
+                    {
+                        "name": "topic",
+                        "in": "path",
+                        "required": true,
+                        "type": "string"
+                    },
+                    {
+                        "name": "subName",
+                        "in": "path",
+                        "required": true,
+                        "type": "string"
+                    },
+                    {
+                        "name": "authoritative",
+                        "in": "query",
+                        "description": "Is authentication required to perform this operation",
+                        "required": false,
+                        "type": "boolean",
+                        "default": false
+                    },
+                    {
+                        "name": "isGlobal",
+                        "in": "query",
+                        "required": false,
+                        "type": "boolean",
+                        "default": false
+                    },
+                    {
+                        "in": "body",
+                        "name": "body",
+                        "description": "Subscription message dispatch rate for the specified topic",
+                        "required": false,
+                        "schema": {
+                            "$ref": "#/definitions/DispatchRateImpl"
+                        }
+                    }
+                ],
+                "responses": {
+                    "403": {
+                        "description": "Don't have admin permission"
+                    },
+                    "404": {
+                        "description": "Topic does not exist"
+                    },
+                    "405": {
+                        "description": "Topic level policy is disabled, please enable the topic level policy and retry"
+                    },
+                    "409": {
+                        "description": "Concurrent modification"
+                    }
+                }
+            },
+            "delete": {
+                "tags": [
+                    "non-persistent topic"
+                ],
+                "summary": "Remove message dispatch rate configuration for specified subscription.",
+                "description": "",
+                "operationId": "removeSubscriptionLevelDispatchRate",
+                "produces": [
+                    "application/json"
+                ],
+                "parameters": [
+                    {
+                        "name": "tenant",
+                        "in": "path",
+                        "required": true,
+                        "type": "string"
+                    },
+                    {
+                        "name": "namespace",
+                        "in": "path",
+                        "required": true,
+                        "type": "string"
+                    },
+                    {
+                        "name": "topic",
+                        "in": "path",
+                        "required": true,
+                        "type": "string"
+                    },
+                    {
+                        "name": "subName",
+                        "in": "path",
+                        "required": true,
+                        "type": "string"
+                    },
+                    {
+                        "name": "isGlobal",
+                        "in": "query",
+                        "required": false,
+                        "type": "boolean",
+                        "default": false
+                    },
+                    {
+                        "name": "authoritative",
+                        "in": "query",
+                        "description": "Is authentication required to perform this operation",
+                        "required": false,
+                        "type": "boolean",
+                        "default": false
+                    }
+                ],
+                "responses": {
+                    "403": {
+                        "description": "Don't have admin permission"
+                    },
+                    "404": {
+                        "description": "Topic does not exist"
+                    },
+                    "405": {
+                        "description": "Topic level policy is disabled, please enable the topic level policy and retry"
+                    },
+                    "409": {
+                        "description": "Concurrent modification"
+                    }
+                }
+            }
+        },
         "/persistent/{tenant}/{namespace}": {
             "get": {
                 "tags": [
@@ -20471,6 +20687,9 @@
                 "summary": "Create a partitioned topic.",
                 "description": "It needs to be called before creating a producer on a partitioned topic.",
                 "operationId": "createPartitionedTopic",
+                "consumes": [
+                    "application/vnd.partitioned-topic-metadata+json"
+                ],
                 "produces": [
                     "application/json"
                 ],
@@ -20499,12 +20718,10 @@
                     {
                         "in": "body",
                         "name": "body",
-                        "description": "The number of partitions for the topic",
+                        "description": "The metadata for the topic",
                         "required": true,
                         "schema": {
-                            "type": "integer",
-                            "format": "int32",
-                            "default": 0
+                            "$ref": "#/definitions/PartitionedTopicMetadata"
                         }
                     },
                     {
@@ -23953,52 +24170,268 @@
                 }
             }
         },
-        "/resource-quotas": {
+        "/persistent/{tenant}/{namespace}/{topic}/{subName}/dispatchRate": {
             "get": {
                 "tags": [
-                    "resource-quotas"
-                ],
-                "summary": "Get the default quota",
-                "description": "",
-                "operationId": "getDefaultResourceQuota",
-                "consumes": [
-                    "application/json"
-                ],
-                "produces": [
-                    "application/json"
-                ],
-                "responses": {
-                    "200": {
-                        "description": "successful operation",
-                        "schema": {
-                            "type": "array",
-                            "uniqueItems": true,
-                            "items": {
-                                "type": "string"
-                            }
-                        }
-                    },
-                    "403": {
-                        "description": "Don't have admin permission"
-                    }
-                }
-            },
-            "post": {
-                "tags": [
-                    "resource-quotas"
+                    "persistent topic"
                 ],
-                "summary": "Set the default quota",
+                "summary": "Get message dispatch rate configuration for specified subscription.",
                 "description": "",
-                "operationId": "setDefaultResourceQuota",
-                "consumes": [
-                    "application/json"
-                ],
+                "operationId": "getSubscriptionLevelDispatchRate",
                 "produces": [
                     "application/json"
                 ],
                 "parameters": [
                     {
-                        "in": "body",
+                        "name": "tenant",
+                        "in": "path",
+                        "required": true,
+                        "type": "string"
+                    },
+                    {
+                        "name": "namespace",
+                        "in": "path",
+                        "required": true,
+                        "type": "string"
+                    },
+                    {
+                        "name": "topic",
+                        "in": "path",
+                        "required": true,
+                        "type": "string"
+                    },
+                    {
+                        "name": "subName",
+                        "in": "path",
+                        "required": true,
+                        "type": "string"
+                    },
+                    {
+                        "name": "applied",
+                        "in": "query",
+                        "required": false,
+                        "type": "boolean",
+                        "default": false
+                    },
+                    {
+                        "name": "isGlobal",
+                        "in": "query",
+                        "required": false,
+                        "type": "boolean",
+                        "default": false
+                    },
+                    {
+                        "name": "authoritative",
+                        "in": "query",
+                        "description": "Is authentication required to perform this operation",
+                        "required": false,
+                        "type": "boolean",
+                        "default": false
+                    }
+                ],
+                "responses": {
+                    "403": {
+                        "description": "Don't have admin permission"
+                    },
+                    "404": {
+                        "description": "Topic does not exist"
+                    },
+                    "405": {
+                        "description": "Topic level policy is disabled, please enable the topic level policy and retry"
+                    },
+                    "409": {
+                        "description": "Concurrent modification"
+                    }
+                }
+            },
+            "post": {
+                "tags": [
+                    "persistent topic"
+                ],
+                "summary": "Set message dispatch rate configuration for specified subscription.",
+                "description": "",
+                "operationId": "setSubscriptionLevelDispatchRate",
+                "produces": [
+                    "application/json"
+                ],
+                "parameters": [
+                    {
+                        "name": "tenant",
+                        "in": "path",
+                        "required": true,
+                        "type": "string"
+                    },
+                    {
+                        "name": "namespace",
+                        "in": "path",
+                        "required": true,
+                        "type": "string"
+                    },
+                    {
+                        "name": "topic",
+                        "in": "path",
+                        "required": true,
+                        "type": "string"
+                    },
+                    {
+                        "name": "subName",
+                        "in": "path",
+                        "required": true,
+                        "type": "string"
+                    },
+                    {
+                        "name": "authoritative",
+                        "in": "query",
+                        "description": "Is authentication required to perform this operation",
+                        "required": false,
+                        "type": "boolean",
+                        "default": false
+                    },
+                    {
+                        "name": "isGlobal",
+                        "in": "query",
+                        "required": false,
+                        "type": "boolean",
+                        "default": false
+                    },
+                    {
+                        "in": "body",
+                        "name": "body",
+                        "description": "Subscription message dispatch rate for the specified topic",
+                        "required": false,
+                        "schema": {
+                            "$ref": "#/definitions/DispatchRateImpl"
+                        }
+                    }
+                ],
+                "responses": {
+                    "403": {
+                        "description": "Don't have admin permission"
+                    },
+                    "404": {
+                        "description": "Topic does not exist"
+                    },
+                    "405": {
+                        "description": "Topic level policy is disabled, please enable the topic level policy and retry"
+                    },
+                    "409": {
+                        "description": "Concurrent modification"
+                    }
+                }
+            },
+            "delete": {
+                "tags": [
+                    "persistent topic"
+                ],
+                "summary": "Remove message dispatch rate configuration for specified subscription.",
+                "description": "",
+                "operationId": "removeSubscriptionLevelDispatchRate",
+                "produces": [
+                    "application/json"
+                ],
+                "parameters": [
+                    {
+                        "name": "tenant",
+                        "in": "path",
+                        "required": true,
+                        "type": "string"
+                    },
+                    {
+                        "name": "namespace",
+                        "in": "path",
+                        "required": true,
+                        "type": "string"
+                    },
+                    {
+                        "name": "topic",
+                        "in": "path",
+                        "required": true,
+                        "type": "string"
+                    },
+                    {
+                        "name": "subName",
+                        "in": "path",
+                        "required": true,
+                        "type": "string"
+                    },
+                    {
+                        "name": "isGlobal",
+                        "in": "query",
+                        "required": false,
+                        "type": "boolean",
+                        "default": false
+                    },
+                    {
+                        "name": "authoritative",
+                        "in": "query",
+                        "description": "Is authentication required to perform this operation",
+                        "required": false,
+                        "type": "boolean",
+                        "default": false
+                    }
+                ],
+                "responses": {
+                    "403": {
+                        "description": "Don't have admin permission"
+                    },
+                    "404": {
+                        "description": "Topic does not exist"
+                    },
+                    "405": {
+                        "description": "Topic level policy is disabled, please enable the topic level policy and retry"
+                    },
+                    "409": {
+                        "description": "Concurrent modification"
+                    }
+                }
+            }
+        },
+        "/resource-quotas": {
+            "get": {
+                "tags": [
+                    "resource-quotas"
+                ],
+                "summary": "Get the default quota",
+                "description": "",
+                "operationId": "getDefaultResourceQuota",
+                "consumes": [
+                    "application/json"
+                ],
+                "produces": [
+                    "application/json"
+                ],
+                "responses": {
+                    "200": {
+                        "description": "successful operation",
+                        "schema": {
+                            "type": "array",
+                            "uniqueItems": true,
+                            "items": {
+                                "type": "string"
+                            }
+                        }
+                    },
+                    "403": {
+                        "description": "Don't have admin permission"
+                    }
+                }
+            },
+            "post": {
+                "tags": [
+                    "resource-quotas"
+                ],
+                "summary": "Set the default quota",
+                "description": "",
+                "operationId": "setDefaultResourceQuota",
+                "consumes": [
+                    "application/json"
+                ],
+                "produces": [
+                    "application/json"
+                ],
+                "parameters": [
+                    {
+                        "in": "body",
                         "name": "body",
                         "description": "Default resource quota",
                         "required": false,
@@ -25549,6 +25982,10 @@
                         "consumer_backlog_eviction"
                     ]
                 },
+                "limit": {
+                    "type": "integer",
+                    "format": "int64"
+                },
                 "limitSize": {
                     "type": "integer",
                     "format": "int64"
@@ -25556,10 +25993,6 @@
                 "limitTime": {
                     "type": "integer",
                     "format": "int32"
-                },
-                "limit": {
-                    "type": "integer",
-                    "format": "int64"
                 }
             }
         },
@@ -25596,11 +26029,11 @@
         "BookieInfo": {
             "type": "object",
             "properties": {
-                "hostname": {
-                    "type": "string"
-                },
                 "rack": {
                     "type": "string"
+                },
+                "hostname": {
+                    "type": "string"
                 }
             }
         },
@@ -25943,6 +26376,12 @@
                         "type": "string"
                     }
                 },
+                "consumerName": {
+                    "type": "string"
+                },
+                "connectedSince": {
+                    "type": "string"
+                },
                 "msgRateOut": {
                     "type": "number",
                     "format": "double"
@@ -25959,11 +26398,11 @@
                     "type": "integer",
                     "format": "int64"
                 },
-                "msgRateRedeliver": {
-                    "type": "number",
-                    "format": "double"
+                "availablePermits": {
+                    "type": "integer",
+                    "format": "int32"
                 },
-                "chunkedMessageRate": {
+                "msgRateRedeliver": {
                     "type": "number",
                     "format": "double"
                 },
@@ -25979,13 +26418,6 @@
                     "type": "integer",
                     "format": "int64"
                 },
-                "consumerName": {
-                    "type": "string"
-                },
-                "availablePermits": {
-                    "type": "integer",
-                    "format": "int32"
-                },
                 "avgMessagesPerEntry": {
                     "type": "integer",
                     "format": "int32"
@@ -25996,17 +26428,18 @@
                 "readPositionWhenJoining": {
                     "type": "string"
                 },
-                "connectedSince": {
-                    "type": "string"
-                },
-                "clientVersion": {
-                    "type": "string"
-                },
                 "keyHashRanges": {
                     "type": "array",
                     "items": {
                         "type": "string"
                     }
+                },
+                "chunkedMessageRate": {
+                    "type": "number",
+                    "format": "double"
+                },
+                "clientVersion": {
+                    "type": "string"
                 }
             }
         },
@@ -26175,12 +26608,12 @@
                 "rootName": {
                     "type": "string"
                 },
-                "fullRootName": {
-                    "$ref": "#/definitions/PropertyName"
-                },
                 "subtypeResolver": {
                     "$ref": "#/definitions/SubtypeResolver"
                 },
+                "fullRootName": {
+                    "$ref": "#/definitions/PropertyName"
+                },
                 "defaultVisibilityChecker": {
                     "$ref": "#/definitions/VisibilityCheckerObject"
                 },
@@ -26261,10 +26694,6 @@
         "DispatchRate": {
             "type": "object",
             "properties": {
-                "dispatchThrottlingRateInByte": {
-                    "type": "integer",
-                    "format": "int64"
-                },
                 "relativeToPublishRate": {
                     "type": "boolean"
                 },
@@ -26275,6 +26704,10 @@
                 "dispatchThrottlingRateInMsg": {
                     "type": "integer",
                     "format": "int32"
+                },
+                "dispatchThrottlingRateInByte": {
+                    "type": "integer",
+                    "format": "int64"
                 }
             }
         },
@@ -26587,9 +27020,6 @@
                 "abstract": {
                     "type": "boolean"
                 },
-                "contentType": {
-                    "$ref": "#/definitions/JavaType"
-                },
                 "bindings": {
                     "$ref": "#/definitions/TypeBindings"
                 },
@@ -26641,6 +27071,9 @@
                 "mapLikeType": {
                     "type": "boolean"
                 },
+                "contentType": {
+                    "$ref": "#/definitions/JavaType"
+                },
                 "typeName": {
                     "type": "string"
                 },
@@ -26690,9 +27123,6 @@
                 "prettyPrinter": {
                     "$ref": "#/definitions/PrettyPrinter"
                 },
-                "currentValue": {
-                    "type": "object"
-                },
                 "featureMask": {
                     "type": "integer",
                     "format": "int32"
@@ -26701,6 +27131,9 @@
                     "type": "integer",
                     "format": "int32"
                 },
+                "currentValue": {
+                    "type": "object"
+                },
                 "highestEscapedChar": {
                     "type": "integer",
                     "format": "int32"
@@ -26724,13 +27157,6 @@
                     "type": "integer",
                     "format": "int64"
                 },
-                "sourceRef": {
-                    "type": "object"
-                },
-                "lineNr": {
-                    "type": "integer",
-                    "format": "int32"
-                },
                 "columnNr": {
                     "type": "integer",
                     "format": "int32"
@@ -26738,6 +27164,13 @@
                 "charOffset": {
                     "type": "integer",
                     "format": "int64"
+                },
+                "sourceRef": {
+                    "type": "object"
+                },
+                "lineNr": {
+                    "type": "integer",
+                    "format": "int32"
                 }
             }
         },
@@ -26754,9 +27187,6 @@
                 "text": {
                     "type": "string"
                 },
-                "typeId": {
-                    "type": "object"
-                },
                 "textCharacters": {
                     "type": "array",
                     "items": {
@@ -26786,6 +27216,9 @@
                     "type": "integer",
                     "format": "int32"
                 },
+                "typeId": {
+                    "type": "object"
+                },
                 "closed": {
                     "type": "boolean"
                 },
@@ -26823,6 +27256,14 @@
                 "tokenLocation": {
                     "$ref": "#/definitions/JsonLocation"
                 },
+                "featureMask": {
+                    "type": "integer",
+                    "format": "int32"
+                },
+                "formatFeatures": {
+                    "type": "integer",
+                    "format": "int32"
+                },
                 "currentTokenId": {
                     "type": "integer",
                     "format": "int32"
@@ -26917,14 +27358,6 @@
                 },
                 "currentValue": {
                     "type": "object"
-                },
-                "featureMask": {
-                    "type": "integer",
-                    "format": "int32"
-                },
-                "formatFeatures": {
-                    "type": "integer",
-                    "format": "int32"
                 }
             }
         },
@@ -26939,11 +27372,11 @@
         "JsonSerializerObject": {
             "type": "object",
             "properties": {
-                "unwrappingSerializer": {
-                    "type": "boolean"
-                },
                 "delegatee": {
                     "$ref": "#/definitions/JsonSerializerObject"
+                },
+                "unwrappingSerializer": {
+                    "type": "boolean"
                 }
             }
         },
@@ -26953,20 +27386,20 @@
                 "parent": {
                     "$ref": "#/definitions/JsonStreamContext"
                 },
-                "currentName": {
+                "typeDesc": {
                     "type": "string"
                 },
-                "currentValue": {
-                    "type": "object"
-                },
-                "entryCount": {
+                "currentIndex": {
                     "type": "integer",
                     "format": "int32"
                 },
-                "typeDesc": {
+                "currentName": {
                     "type": "string"
                 },
-                "currentIndex": {
+                "currentValue": {
+                    "type": "object"
+                },
+                "entryCount": {
                     "type": "integer",
                     "format": "int32"
                 }
@@ -27256,41 +27689,41 @@
                     "type": "number",
                     "format": "double"
                 },
-                "cpu": {
-                    "$ref": "#/definitions/ResourceUsage"
+                "underLoaded": {
+                    "type": "boolean"
                 },
-                "memory": {
-                    "$ref": "#/definitions/ResourceUsage"
+                "overLoaded": {
+                    "type": "boolean"
                 },
-                "directMemory": {
-                    "$ref": "#/definitions/ResourceUsage"
+                "loadReportType": {
+                    "type": "string"
                 },
-                "bandwidthIn": {
+                "msgThroughputOut": {
+                    "type": "number",
+                    "format": "double"
+                },
+                "msgThroughputIn": {
+                    "type": "number",
+                    "format": "double"
+                },
+                "cpu": {
                     "$ref": "#/definitions/ResourceUsage"
                 },
-                "bandwidthOut": {
+                "directMemory": {
                     "$ref": "#/definitions/ResourceUsage"
                 },
                 "lastUpdate": {
                     "type": "integer",
                     "format": "int64"
                 },
-                "msgThroughputIn": {
-                    "type": "number",
-                    "format": "double"
-                },
-                "msgThroughputOut": {
-                    "type": "number",
-                    "format": "double"
-                },
-                "underLoaded": {
-                    "type": "boolean"
+                "memory": {
+                    "$ref": "#/definitions/ResourceUsage"
                 },
-                "overLoaded": {
-                    "type": "boolean"
+                "bandwidthIn": {
+                    "$ref": "#/definitions/ResourceUsage"
                 },
-                "loadReportType": {
-                    "type": "string"
+                "bandwidthOut": {
+                    "$ref": "#/definitions/ResourceUsage"
                 }
             }
         },
@@ -27572,10 +28005,21 @@
                         "type": "string"
                     }
                 },
-                "producerName": {
+                "supportsPartialProducer": {
+                    "type": "boolean"
+                },
+                "accessMode": {
+                    "type": "string",
+                    "enum": [
+                        "Shared",
+                        "Exclusive",
+                        "WaitForExclusive"
+                    ]
+                },
+                "connectedSince": {
                     "type": "string"
                 },
-                "msgRateIn": {
+                "averageMsgSize": {
                     "type": "number",
                     "format": "double"
                 },
@@ -27583,34 +28027,23 @@
                     "type": "number",
                     "format": "double"
                 },
-                "averageMsgSize": {
+                "msgRateIn": {
                     "type": "number",
                     "format": "double"
                 },
+                "producerName": {
+                    "type": "string"
+                },
                 "chunkedMessageRate": {
                     "type": "number",
                     "format": "double"
                 },
-                "connectedSince": {
-                    "type": "string"
-                },
-                "clientVersion": {
-                    "type": "string"
-                },
-                "accessMode": {
-                    "type": "string",
-                    "enum": [
-                        "Shared",
-                        "Exclusive",
-                        "WaitForExclusive"
-                    ]
-                },
                 "producerId": {
                     "type": "integer",
                     "format": "int64"
                 },
-                "supportsPartialProducer": {
-                    "type": "boolean"
+                "clientVersion": {
+                    "type": "string"
                 }
             }
         },
@@ -27624,14 +28057,6 @@
                 "connected": {
                     "type": "boolean"
                 },
-                "msgRateIn": {
-                    "type": "number",
-                    "format": "double"
-                },
-                "msgThroughputIn": {
-                    "type": "number",
-                    "format": "double"
-                },
                 "msgRateOut": {
                     "type": "number",
                     "format": "double"
@@ -27640,13 +28065,13 @@
                     "type": "number",
                     "format": "double"
                 },
-                "msgRateExpired": {
+                "msgThroughputIn": {
                     "type": "number",
                     "format": "double"
                 },
-                "replicationBacklog": {
-                    "type": "integer",
-                    "format": "int64"
+                "msgRateIn": {
+                    "type": "number",
+                    "format": "double"
                 },
                 "replicationDelayInSeconds": {
                     "type": "integer",
@@ -27663,6 +28088,14 @@
                 },
                 "outboundConnectedSince": {
                     "type": "string"
+                },
+                "msgRateExpired": {
+                    "type": "number",
+                    "format": "double"
+                },
+                "replicationBacklog": {
+                    "type": "integer",
+                    "format": "int64"
                 }
             }
         },
@@ -27676,17 +28109,13 @@
                 "type": {
                     "type": "string"
                 },
-                "replicated": {
-                    "type": "boolean"
-                },
-                "durable": {
-                    "type": "boolean"
+                "backlogSize": {
+                    "type": "integer",
+                    "format": "int64"
                 },
-                "consumers": {
-                    "type": "array",
-                    "items": {
-                        "$ref": "#/definitions/ConsumerStats"
-                    }
+                "nonContiguousDeletedMessagesRangesSerializedSize": {
+                    "type": "integer",
+                    "format": "int32"
                 },
                 "msgRateOut": {
                     "type": "number",
@@ -27704,26 +28133,38 @@
                     "type": "integer",
                     "format": "int64"
                 },
-                "backlogSize": {
-                    "type": "integer",
-                    "format": "int64"
+                "subscriptionProperties": {
+                    "type": "object",
+                    "additionalProperties": {
+                        "type": "string"
+                    }
                 },
                 "nonContiguousDeletedMessagesRanges": {
                     "type": "integer",
                     "format": "int32"
                 },
-                "nonContiguousDeletedMessagesRangesSerializedSize": {
-                    "type": "integer",
-                    "format": "int32"
+                "consumers": {
+                    "type": "array",
+                    "items": {
+                        "$ref": "#/definitions/ConsumerStats"
+                    }
+                },
+                "replicated": {
+                    "type": "boolean"
+                },
+                "durable": {
+                    "type": "boolean"
+                },
+                "allowOutOfOrderDelivery": {
+                    "type": "boolean"
+                },
+                "keySharedMode": {
+                    "type": "string"
                 },
                 "msgRateRedeliver": {
                     "type": "number",
                     "format": "double"
                 },
-                "chunkedMessageRate": {
-                    "type": "integer",
-                    "format": "int32"
-                },
                 "msgBacklog": {
                     "type": "integer",
                     "format": "int64"
@@ -27750,10 +28191,6 @@
                 "activeConsumerName": {
                     "type": "string"
                 },
-                "msgRateExpired": {
-                    "type": "number",
-                    "format": "double"
-                },
                 "totalMsgExpired": {
                     "type": "integer",
                     "format": "int64"
@@ -27778,35 +28215,25 @@
                     "type": "integer",
                     "format": "int64"
                 },
-                "allowOutOfOrderDelivery": {
-                    "type": "boolean"
-                },
-                "keySharedMode": {
-                    "type": "string"
-                },
                 "consumersAfterMarkDeletePosition": {
                     "type": "object",
                     "additionalProperties": {
                         "type": "string"
                     }
                 },
-                "subscriptionProperties": {
-                    "type": "object",
-                    "additionalProperties": {
-                        "type": "string"
-                    }
+                "chunkedMessageRate": {
+                    "type": "integer",
+                    "format": "int32"
+                },
+                "msgRateExpired": {
+                    "type": "number",
+                    "format": "double"
                 }
             }
         },
         "NonPersistentTopicStats": {
             "type": "object",
             "properties": {
-                "subscriptions": {
-                    "type": "object",
-                    "additionalProperties": {
-                        "$ref": "#/definitions/NonPersistentSubscriptionStats"
-                    }
-                },
                 "msgDropRate": {
                     "type": "number",
                     "format": "double"
@@ -27823,13 +28250,38 @@
                         "$ref": "#/definitions/NonPersistentReplicatorStats"
                     }
                 },
-                "msgRateIn": {
-                    "type": "number",
-                    "format": "double"
+                "subscriptions": {
+                    "type": "object",
+                    "additionalProperties": {
+                        "$ref": "#/definitions/NonPersistentSubscriptionStats"
+                    }
                 },
-                "msgThroughputIn": {
-                    "type": "number",
-                    "format": "double"
+                "storageSize": {
+                    "type": "integer",
+                    "format": "int64"
+                },
+                "backlogSize": {
+                    "type": "integer",
+                    "format": "int64"
+                },
+                "earliestMsgPublishTimeInBacklogs": {
+                    "type": "integer",
+                    "format": "int64"
+                },
+                "offloadedStorageSize": {
+                    "type": "integer",
+                    "format": "int64"
+                },
+                "waitingPublishers": {
+                    "type": "integer",
+                    "format": "int32"
+                },
+                "deduplicationStatus": {
+                    "type": "string"
+                },
+                "nonContiguousDeletedMessagesRangesSerializedSize": {
+                    "type": "integer",
+                    "format": "int32"
                 },
                 "msgRateOut": {
                     "type": "number",
@@ -27862,28 +28314,12 @@
                 "msgChunkPublished": {
                     "type": "boolean"
                 },
-                "storageSize": {
-                    "type": "integer",
-                    "format": "int64"
-                },
-                "backlogSize": {
-                    "type": "integer",
-                    "format": "int64"
-                },
-                "earliestMsgPublishTimeInBacklogs": {
-                    "type": "integer",
-                    "format": "int64"
-                },
-                "offloadedStorageSize": {
-                    "type": "integer",
-                    "format": "int64"
-                },
-                "waitingPublishers": {
-                    "type": "integer",
-                    "format": "int32"
+                "compaction": {
+                    "$ref": "#/definitions/CompactionStats"
                 },
-                "deduplicationStatus": {
-                    "type": "string"
+                "msgThroughputIn": {
+                    "type": "number",
+                    "format": "double"
                 },
                 "topicEpoch": {
                     "type": "integer",
@@ -27893,12 +28329,9 @@
                     "type": "integer",
                     "format": "int32"
                 },
-                "nonContiguousDeletedMessagesRangesSerializedSize": {
-                    "type": "integer",
-                    "format": "int32"
-                },
-                "compaction": {
-                    "$ref": "#/definitions/CompactionStats"
+                "msgRateIn": {
+                    "type": "number",
+                    "format": "double"
                 }
             }
         },
@@ -28012,34 +28445,32 @@
         "OffloadPolicies": {
             "type": "object",
             "properties": {
-                "managedLedgerOffloadThresholdInBytes": {
-                    "type": "integer",
-                    "format": "int64"
+                "s3ManagedLedgerOffloadRoleSessionName": {
+                    "type": "string"
                 },
-                "managedLedgerOffloadDeletionLagInMillis": {
+                "s3ManagedLedgerOffloadReadBufferSizeInBytes": {
                     "type": "integer",
-                    "format": "int64"
+                    "format": "int32"
                 },
-                "managedLedgerOffloadDriver": {
+                "gcsManagedLedgerOffloadRegion": {
                     "type": "string"
                 },
-                "offloadersDirectory": {
+                "gcsManagedLedgerOffloadBucket": {
                     "type": "string"
                 },
-                "managedLedgerOffloadMaxThreads": {
+                "gcsManagedLedgerOffloadMaxBlockSizeInBytes": {
                     "type": "integer",
                     "format": "int32"
                 },
-                "managedLedgerOffloadPrefetchRounds": {
+                "gcsManagedLedgerOffloadReadBufferSizeInBytes": {
                     "type": "integer",
                     "format": "int32"
                 },
-                "managedLedgerOffloadedReadPriority": {
-                    "type": "string",
-                    "enum": [
-                        "BOOKKEEPER_FIRST",
-                        "TIERED_STORAGE_FIRST"
-                    ]
+                "gcsManagedLedgerOffloadServiceAccountKeyFile": {
+                    "type": "string"
+                },
+                "fileSystemProfilePath": {
+                    "type": "string"
                 },
                 "s3ManagedLedgerOffloadRegion": {
                     "type": "string"
@@ -28063,50 +28494,52 @@
                 "s3ManagedLedgerOffloadRole": {
                     "type": "string"
                 },
-                "s3ManagedLedgerOffloadRoleSessionName": {
+                "fileSystemURI": {
                     "type": "string"
                 },
-                "s3ManagedLedgerOffloadReadBufferSizeInBytes": {
-                    "type": "integer",
-                    "format": "int32"
+                "managedLedgerOffloadBucket": {
+                    "type": "string"
                 },
-                "gcsManagedLedgerOffloadRegion": {
+                "managedLedgerOffloadRegion": {
                     "type": "string"
                 },
-                "gcsManagedLedgerOffloadBucket": {
+                "managedLedgerOffloadServiceEndpoint": {
                     "type": "string"
                 },
-                "gcsManagedLedgerOffloadMaxBlockSizeInBytes": {
+                "managedLedgerOffloadMaxBlockSizeInBytes": {
                     "type": "integer",
                     "format": "int32"
                 },
-                "gcsManagedLedgerOffloadReadBufferSizeInBytes": {
+                "managedLedgerOffloadReadBufferSizeInBytes": {
                     "type": "integer",
                     "format": "int32"
                 },
-                "gcsManagedLedgerOffloadServiceAccountKeyFile": {
-                    "type": "string"
-                },
-                "fileSystemProfilePath": {
-                    "type": "string"
+                "managedLedgerOffloadedReadPriority": {
+                    "type": "string",
+                    "enum": [
+                        "BOOKKEEPER_FIRST",
+                        "TIERED_STORAGE_FIRST"
+                    ]
                 },
-                "fileSystemURI": {
-                    "type": "string"
+                "managedLedgerOffloadThresholdInBytes": {
+                    "type": "integer",
+                    "format": "int64"
                 },
-                "managedLedgerOffloadBucket": {
-                    "type": "string"
+                "managedLedgerOffloadDeletionLagInMillis": {
+                    "type": "integer",
+                    "format": "int64"
                 },
-                "managedLedgerOffloadRegion": {
+                "managedLedgerOffloadDriver": {
                     "type": "string"
                 },
-                "managedLedgerOffloadServiceEndpoint": {
+                "offloadersDirectory": {
                     "type": "string"
                 },
-                "managedLedgerOffloadMaxBlockSizeInBytes": {
+                "managedLedgerOffloadMaxThreads": {
                     "type": "integer",
                     "format": "int32"
                 },
-                "managedLedgerOffloadReadBufferSizeInBytes": {
+                "managedLedgerOffloadPrefetchRounds": {
                     "type": "integer",
                     "format": "int32"
                 }
@@ -28889,10 +29322,21 @@
                         "type": "string"
                     }
                 },
-                "producerName": {
+                "supportsPartialProducer": {
+                    "type": "boolean"
+                },
+                "accessMode": {
+                    "type": "string",
+                    "enum": [
+                        "Shared",
+                        "Exclusive",
+                        "WaitForExclusive"
+                    ]
+                },
+                "connectedSince": {
                     "type": "string"
                 },
-                "msgRateIn": {
+                "averageMsgSize": {
                     "type": "number",
                     "format": "double"
                 },
@@ -28900,34 +29344,23 @@
                     "type": "number",
                     "format": "double"
                 },
-                "averageMsgSize": {
+                "msgRateIn": {
                     "type": "number",
                     "format": "double"
                 },
+                "producerName": {
+                    "type": "string"
+                },
                 "chunkedMessageRate": {
                     "type": "number",
                     "format": "double"
                 },
-                "connectedSince": {
-                    "type": "string"
-                },
-                "clientVersion": {
-                    "type": "string"
-                },
-                "accessMode": {
-                    "type": "string",
-                    "enum": [
-                        "Shared",
-                        "Exclusive",
-                        "WaitForExclusive"
-                    ]
-                },
                 "producerId": {
                     "type": "integer",
                     "format": "int64"
                 },
-                "supportsPartialProducer": {
-                    "type": "boolean"
+                "clientVersion": {
+                    "type": "string"
                 }
             }
         },
@@ -28945,14 +29378,6 @@
                 "connected": {
                     "type": "boolean"
                 },
-                "msgRateIn": {
-                    "type": "number",
-                    "format": "double"
-                },
-                "msgThroughputIn": {
-                    "type": "number",
-                    "format": "double"
-                },
                 "msgRateOut": {
                     "type": "number",
                     "format": "double"
@@ -28961,13 +29386,13 @@
                     "type": "number",
                     "format": "double"
                 },
-                "msgRateExpired": {
+                "msgThroughputIn": {
                     "type": "number",
                     "format": "double"
                 },
-                "replicationBacklog": {
-                    "type": "integer",
-                    "format": "int64"
+                "msgRateIn": {
+                    "type": "number",
+                    "format": "double"
                 },
                 "replicationDelayInSeconds": {
                     "type": "integer",
@@ -28984,6 +29409,14 @@
                 },
                 "outboundConnectedSince": {
                     "type": "string"
+                },
+                "msgRateExpired": {
+                    "type": "number",
+                    "format": "double"
+                },
+                "replicationBacklog": {
+                    "type": "integer",
+                    "format": "int64"
                 }
             }
         },
@@ -29168,12 +29601,12 @@
                 "rootName": {
                     "type": "string"
                 },
-                "fullRootName": {
-                    "$ref": "#/definitions/PropertyName"
-                },
                 "subtypeResolver": {
                     "$ref": "#/definitions/SubtypeResolver"
                 },
+                "fullRootName": {
+                    "$ref": "#/definitions/PropertyName"
+                },
                 "defaultVisibilityChecker": {
                     "$ref": "#/definitions/VisibilityCheckerObject"
                 },
@@ -29334,17 +29767,13 @@
                 "type": {
                     "type": "string"
                 },
-                "replicated": {
-                    "type": "boolean"
-                },
-                "durable": {
-                    "type": "boolean"
+                "backlogSize": {
+                    "type": "integer",
+                    "format": "int64"
                 },
-                "consumers": {
-                    "type": "array",
-                    "items": {
-                        "$ref": "#/definitions/ConsumerStats"
-                    }
+                "nonContiguousDeletedMessagesRangesSerializedSize": {
+                    "type": "integer",
+                    "format": "int32"
                 },
                 "msgRateOut": {
                     "type": "number",
@@ -29362,26 +29791,38 @@
                     "type": "integer",
                     "format": "int64"
                 },
-                "backlogSize": {
-                    "type": "integer",
-                    "format": "int64"
+                "subscriptionProperties": {
+                    "type": "object",
+                    "additionalProperties": {
+                        "type": "string"
+                    }
                 },
                 "nonContiguousDeletedMessagesRanges": {
                     "type": "integer",
                     "format": "int32"
                 },
-                "nonContiguousDeletedMessagesRangesSerializedSize": {
-                    "type": "integer",
-                    "format": "int32"
+                "consumers": {
+                    "type": "array",
+                    "items": {
+                        "$ref": "#/definitions/ConsumerStats"
+                    }
+                },
+                "replicated": {
+                    "type": "boolean"
+                },
+                "durable": {
+                    "type": "boolean"
+                },
+                "allowOutOfOrderDelivery": {
+                    "type": "boolean"
+                },
+                "keySharedMode": {
+                    "type": "string"
                 },
                 "msgRateRedeliver": {
                     "type": "number",
                     "format": "double"
                 },
-                "chunkedMessageRate": {
-                    "type": "integer",
-                    "format": "int32"
-                },
                 "msgBacklog": {
                     "type": "integer",
                     "format": "int64"
@@ -29408,10 +29849,6 @@
                 "activeConsumerName": {
                     "type": "string"
                 },
-                "msgRateExpired": {
-                    "type": "number",
-                    "format": "double"
-                },
                 "totalMsgExpired": {
                     "type": "integer",
                     "format": "int64"
@@ -29436,23 +29873,19 @@
                     "type": "integer",
                     "format": "int64"
                 },
-                "allowOutOfOrderDelivery": {
-                    "type": "boolean"
-                },
-                "keySharedMode": {
-                    "type": "string"
-                },
                 "consumersAfterMarkDeletePosition": {
                     "type": "object",
                     "additionalProperties": {
                         "type": "string"
                     }
                 },
-                "subscriptionProperties": {
-                    "type": "object",
-                    "additionalProperties": {
-                        "type": "string"
-                    }
+                "chunkedMessageRate": {
+                    "type": "integer",
+                    "format": "int32"
+                },
+                "msgRateExpired": {
+                    "type": "number",
+                    "format": "double"
                 }
             }
         },
@@ -29534,19 +29967,38 @@
         "TopicStats": {
             "type": "object",
             "properties": {
-                "subscriptions": {
-                    "type": "object",
-                    "additionalProperties": {
-                        "$ref": "#/definitions/SubscriptionStats"
+                "storageSize": {
+                    "type": "integer",
+                    "format": "int64"
+                },
+                "backlogSize": {
+                    "type": "integer",
+                    "format": "int64"
+                },
+                "earliestMsgPublishTimeInBacklogs": {
+                    "type": "integer",
+                    "format": "int64"
+                },
+                "offloadedStorageSize": {
+                    "type": "integer",
+                    "format": "int64"
+                },
+                "publishers": {
+                    "type": "array",
+                    "items": {
+                        "$ref": "#/definitions/PublisherStats"
                     }
                 },
-                "msgRateIn": {
-                    "type": "number",
-                    "format": "double"
+                "waitingPublishers": {
+                    "type": "integer",
+                    "format": "int32"
                 },
-                "msgThroughputIn": {
-                    "type": "number",
-                    "format": "double"
+                "deduplicationStatus": {
+                    "type": "string"
+                },
+                "nonContiguousDeletedMessagesRangesSerializedSize": {
+                    "type": "integer",
+                    "format": "int32"
                 },
                 "msgRateOut": {
                     "type": "number",
@@ -29579,31 +30031,12 @@
                 "msgChunkPublished": {
                     "type": "boolean"
                 },
-                "storageSize": {
-                    "type": "integer",
-                    "format": "int64"
-                },
-                "backlogSize": {
-                    "type": "integer",
-                    "format": "int64"
-                },
-                "earliestMsgPublishTimeInBacklogs": {
-                    "type": "integer",
-                    "format": "int64"
-                },
-                "offloadedStorageSize": {
-                    "type": "integer",
-                    "format": "int64"
-                },
-                "publishers": {
-                    "type": "array",
-                    "items": {
-                        "$ref": "#/definitions/PublisherStats"
-                    }
+                "compaction": {
+                    "$ref": "#/definitions/CompactionStats"
                 },
-                "waitingPublishers": {
-                    "type": "integer",
-                    "format": "int32"
+                "msgThroughputIn": {
+                    "type": "number",
+                    "format": "double"
                 },
                 "replication": {
                     "type": "object",
@@ -29611,9 +30044,6 @@
                         "$ref": "#/definitions/ReplicatorStats"
                     }
                 },
-                "deduplicationStatus": {
-                    "type": "string"
-                },
                 "topicEpoch": {
                     "type": "integer",
                     "format": "int64"
@@ -29622,12 +30052,15 @@
                     "type": "integer",
                     "format": "int32"
                 },
-                "nonContiguousDeletedMessagesRangesSerializedSize": {
-                    "type": "integer",
-                    "format": "int32"
+                "msgRateIn": {
+                    "type": "number",
+                    "format": "double"
                 },
-                "compaction": {
-                    "$ref": "#/definitions/CompactionStats"
+                "subscriptions": {
+                    "type": "object",
+                    "additionalProperties": {
+                        "$ref": "#/definitions/SubscriptionStats"
+                    }
                 }
             }
         },
@@ -29812,6 +30245,9 @@
                     "type": "integer",
                     "format": "int32"
                 },
+                "functionsWorkerEnablePackageManagement": {
+                    "type": "boolean"
+                },
                 "downloadDirectory": {
                     "type": "string"
                 },
@@ -30119,6 +30555,12 @@
                 "initialized": {
                     "type": "boolean"
                 },
+                "functions": {
+                    "$ref": "#/definitions/FunctionsWorkerService"
+                },
+                "sinks": {
+                    "$ref": "#/definitions/SinksWorkerService"
+                },
                 "functionsV2": {
                     "$ref": "#/definitions/FunctionsV2WorkerService"
                 },
@@ -30127,12 +30569,6 @@
                 },
                 "workerConfig": {
                     "$ref": "#/definitions/WorkerConfig"
-                },
-                "sinks": {
-                    "$ref": "#/definitions/SinksWorkerService"
-                },
-                "functions": {
-                    "$ref": "#/definitions/FunctionsWorkerService"
                 }
             }
         },
diff --git a/content/swagger/2.11.0-SNAPSHOT/v3/swaggerfunctions.json b/content/swagger/2.11.0-SNAPSHOT/v3/swaggerfunctions.json
index 0755f0bfe05..0ec8744a709 100644
--- a/content/swagger/2.11.0-SNAPSHOT/v3/swaggerfunctions.json
+++ b/content/swagger/2.11.0-SNAPSHOT/v3/swaggerfunctions.json
@@ -1462,12 +1462,12 @@
                 "rootName": {
                     "type": "string"
                 },
-                "fullRootName": {
-                    "$ref": "#/definitions/PropertyName"
-                },
                 "subtypeResolver": {
                     "$ref": "#/definitions/SubtypeResolver"
                 },
+                "fullRootName": {
+                    "$ref": "#/definitions/PropertyName"
+                },
                 "defaultVisibilityChecker": {
                     "$ref": "#/definitions/VisibilityCheckerObject"
                 },
@@ -2126,9 +2126,6 @@
                 "abstract": {
                     "type": "boolean"
                 },
-                "contentType": {
-                    "$ref": "#/definitions/JavaType"
-                },
                 "bindings": {
                     "$ref": "#/definitions/TypeBindings"
                 },
@@ -2180,6 +2177,9 @@
                 "mapLikeType": {
                     "type": "boolean"
                 },
+                "contentType": {
+                    "$ref": "#/definitions/JavaType"
+                },
                 "typeName": {
                     "type": "string"
                 },
@@ -2229,9 +2229,6 @@
                 "prettyPrinter": {
                     "$ref": "#/definitions/PrettyPrinter"
                 },
-                "currentValue": {
-                    "type": "object"
-                },
                 "featureMask": {
                     "type": "integer",
                     "format": "int32"
@@ -2240,6 +2237,9 @@
                     "type": "integer",
                     "format": "int32"
                 },
+                "currentValue": {
+                    "type": "object"
+                },
                 "highestEscapedChar": {
                     "type": "integer",
                     "format": "int32"
@@ -2263,13 +2263,6 @@
                     "type": "integer",
                     "format": "int64"
                 },
-                "sourceRef": {
-                    "type": "object"
-                },
-                "lineNr": {
-                    "type": "integer",
-                    "format": "int32"
-                },
                 "columnNr": {
                     "type": "integer",
                     "format": "int32"
@@ -2277,6 +2270,13 @@
                 "charOffset": {
                     "type": "integer",
                     "format": "int64"
+                },
+                "sourceRef": {
+                    "type": "object"
+                },
+                "lineNr": {
+                    "type": "integer",
+                    "format": "int32"
                 }
             }
         },
@@ -2293,9 +2293,6 @@
                 "text": {
                     "type": "string"
                 },
-                "typeId": {
-                    "type": "object"
-                },
                 "textCharacters": {
                     "type": "array",
                     "items": {
@@ -2325,6 +2322,9 @@
                     "type": "integer",
                     "format": "int32"
                 },
+                "typeId": {
+                    "type": "object"
+                },
                 "closed": {
                     "type": "boolean"
                 },
@@ -2362,6 +2362,14 @@
                 "tokenLocation": {
                     "$ref": "#/definitions/JsonLocation"
                 },
+                "featureMask": {
+                    "type": "integer",
+                    "format": "int32"
+                },
+                "formatFeatures": {
+                    "type": "integer",
+                    "format": "int32"
+                },
                 "currentTokenId": {
                     "type": "integer",
                     "format": "int32"
@@ -2456,14 +2464,6 @@
                 },
                 "currentValue": {
                     "type": "object"
-                },
-                "featureMask": {
-                    "type": "integer",
-                    "format": "int32"
-                },
-                "formatFeatures": {
-                    "type": "integer",
-                    "format": "int32"
                 }
             }
         },
@@ -2478,11 +2478,11 @@
         "JsonSerializerObject": {
             "type": "object",
             "properties": {
-                "unwrappingSerializer": {
-                    "type": "boolean"
-                },
                 "delegatee": {
                     "$ref": "#/definitions/JsonSerializerObject"
+                },
+                "unwrappingSerializer": {
+                    "type": "boolean"
                 }
             }
         },
@@ -2492,20 +2492,20 @@
                 "parent": {
                     "$ref": "#/definitions/JsonStreamContext"
                 },
-                "currentName": {
+                "typeDesc": {
                     "type": "string"
                 },
-                "currentValue": {
-                    "type": "object"
-                },
-                "entryCount": {
+                "currentIndex": {
                     "type": "integer",
                     "format": "int32"
                 },
-                "typeDesc": {
+                "currentName": {
                     "type": "string"
                 },
-                "currentIndex": {
+                "currentValue": {
+                    "type": "object"
+                },
+                "entryCount": {
                     "type": "integer",
                     "format": "int32"
                 }
@@ -2605,6 +2605,30 @@
                         "format": "byte"
                     }
                 },
+                "messageId": {
+                    "$ref": "#/definitions/MessageId"
+                },
+                "brokerPublishTime": {
+                    "type": "integer",
+                    "format": "int64"
+                },
+                "keyBytes": {
+                    "type": "array",
+                    "items": {
+                        "type": "string",
+                        "format": "byte"
+                    }
+                },
+                "encryptionCtx": {
+                    "$ref": "#/definitions/EncryptionContext"
+                },
+                "redeliveryCount": {
+                    "type": "integer",
+                    "format": "int32"
+                },
+                "readerSchema": {
+                    "$ref": "#/definitions/SchemaObject"
+                },
                 "publishTime": {
                     "type": "integer",
                     "format": "int64"
@@ -2642,30 +2666,6 @@
                 },
                 "topicName": {
                     "type": "string"
-                },
-                "keyBytes": {
-                    "type": "array",
-                    "items": {
-                        "type": "string",
-                        "format": "byte"
-                    }
-                },
-                "encryptionCtx": {
-                    "$ref": "#/definitions/EncryptionContext"
-                },
-                "redeliveryCount": {
-                    "type": "integer",
-                    "format": "int32"
-                },
-                "readerSchema": {
-                    "$ref": "#/definitions/SchemaObject"
-                },
-                "brokerPublishTime": {
-                    "type": "integer",
-                    "format": "int64"
-                },
-                "messageId": {
-                    "$ref": "#/definitions/MessageId"
                 }
             }
         },
@@ -2956,11 +2956,11 @@
         "Schema": {
             "type": "object",
             "properties": {
-                "schemaInfo": {
-                    "$ref": "#/definitions/SchemaInfo"
-                },
                 "nativeSchema": {
                     "type": "object"
+                },
+                "schemaInfo": {
+                    "$ref": "#/definitions/SchemaInfo"
                 }
             }
         },
@@ -3006,26 +3006,26 @@
                         "AUTO_PUBLISH"
                     ]
                 },
+                "schemaDefinition": {
+                    "type": "string"
+                },
                 "schema": {
                     "type": "array",
                     "items": {
                         "type": "string",
                         "format": "byte"
                     }
-                },
-                "schemaDefinition": {
-                    "type": "string"
                 }
             }
         },
         "SchemaObject": {
             "type": "object",
             "properties": {
-                "schemaInfo": {
-                    "$ref": "#/definitions/SchemaInfo"
-                },
                 "nativeSchema": {
                     "type": "object"
+                },
+                "schemaInfo": {
+                    "$ref": "#/definitions/SchemaInfo"
                 }
             }
         },
@@ -3065,12 +3065,12 @@
                 "rootName": {
                     "type": "string"
                 },
-                "fullRootName": {
-                    "$ref": "#/definitions/PropertyName"
-                },
                 "subtypeResolver": {
                     "$ref": "#/definitions/SubtypeResolver"
                 },
+                "fullRootName": {
+                    "$ref": "#/definitions/PropertyName"
+                },
                 "defaultVisibilityChecker": {
                     "$ref": "#/definitions/VisibilityCheckerObject"
                 },
diff --git a/content/swagger/2.11.0-SNAPSHOT/v3/swaggerpackages.json b/content/swagger/2.11.0-SNAPSHOT/v3/swaggerpackages.json
index ec9cd015d80..ad57e29c422 100644
--- a/content/swagger/2.11.0-SNAPSHOT/v3/swaggerpackages.json
+++ b/content/swagger/2.11.0-SNAPSHOT/v3/swaggerpackages.json
@@ -723,12 +723,12 @@
                 "rootName": {
                     "type": "string"
                 },
-                "fullRootName": {
-                    "$ref": "#/definitions/PropertyName"
-                },
                 "subtypeResolver": {
                     "$ref": "#/definitions/SubtypeResolver"
                 },
+                "fullRootName": {
+                    "$ref": "#/definitions/PropertyName"
+                },
                 "defaultVisibilityChecker": {
                     "$ref": "#/definitions/VisibilityCheckerObject"
                 },
@@ -859,9 +859,6 @@
                 "abstract": {
                     "type": "boolean"
                 },
-                "contentType": {
-                    "$ref": "#/definitions/JavaType"
-                },
                 "bindings": {
                     "$ref": "#/definitions/TypeBindings"
                 },
@@ -913,6 +910,9 @@
                 "mapLikeType": {
                     "type": "boolean"
                 },
+                "contentType": {
+                    "$ref": "#/definitions/JavaType"
+                },
                 "typeName": {
                     "type": "string"
                 },
@@ -962,9 +962,6 @@
                 "prettyPrinter": {
                     "$ref": "#/definitions/PrettyPrinter"
                 },
-                "currentValue": {
-                    "type": "object"
-                },
                 "featureMask": {
                     "type": "integer",
                     "format": "int32"
@@ -973,6 +970,9 @@
                     "type": "integer",
                     "format": "int32"
                 },
+                "currentValue": {
+                    "type": "object"
+                },
                 "highestEscapedChar": {
                     "type": "integer",
                     "format": "int32"
@@ -996,13 +996,6 @@
                     "type": "integer",
                     "format": "int64"
                 },
-                "sourceRef": {
-                    "type": "object"
-                },
-                "lineNr": {
-                    "type": "integer",
-                    "format": "int32"
-                },
                 "columnNr": {
                     "type": "integer",
                     "format": "int32"
@@ -1010,6 +1003,13 @@
                 "charOffset": {
                     "type": "integer",
                     "format": "int64"
+                },
+                "sourceRef": {
+                    "type": "object"
+                },
+                "lineNr": {
+                    "type": "integer",
+                    "format": "int32"
                 }
             }
         },
@@ -1026,9 +1026,6 @@
                 "text": {
                     "type": "string"
                 },
-                "typeId": {
-                    "type": "object"
-                },
                 "textCharacters": {
                     "type": "array",
                     "items": {
@@ -1058,6 +1055,9 @@
                     "type": "integer",
                     "format": "int32"
                 },
+                "typeId": {
+                    "type": "object"
+                },
                 "closed": {
                     "type": "boolean"
                 },
@@ -1095,6 +1095,14 @@
                 "tokenLocation": {
                     "$ref": "#/definitions/JsonLocation"
                 },
+                "featureMask": {
+                    "type": "integer",
+                    "format": "int32"
+                },
+                "formatFeatures": {
+                    "type": "integer",
+                    "format": "int32"
+                },
                 "currentTokenId": {
                     "type": "integer",
                     "format": "int32"
@@ -1189,14 +1197,6 @@
                 },
                 "currentValue": {
                     "type": "object"
-                },
-                "featureMask": {
-                    "type": "integer",
-                    "format": "int32"
-                },
-                "formatFeatures": {
-                    "type": "integer",
-                    "format": "int32"
                 }
             }
         },
@@ -1211,11 +1211,11 @@
         "JsonSerializerObject": {
             "type": "object",
             "properties": {
-                "unwrappingSerializer": {
-                    "type": "boolean"
-                },
                 "delegatee": {
                     "$ref": "#/definitions/JsonSerializerObject"
+                },
+                "unwrappingSerializer": {
+                    "type": "boolean"
                 }
             }
         },
@@ -1225,20 +1225,20 @@
                 "parent": {
                     "$ref": "#/definitions/JsonStreamContext"
                 },
-                "currentName": {
+                "typeDesc": {
                     "type": "string"
                 },
-                "currentValue": {
-                    "type": "object"
-                },
-                "entryCount": {
+                "currentIndex": {
                     "type": "integer",
                     "format": "int32"
                 },
-                "typeDesc": {
+                "currentName": {
                     "type": "string"
                 },
-                "currentIndex": {
+                "currentValue": {
+                    "type": "object"
+                },
+                "entryCount": {
                     "type": "integer",
                     "format": "int32"
                 }
@@ -1615,12 +1615,12 @@
                 "rootName": {
                     "type": "string"
                 },
-                "fullRootName": {
-                    "$ref": "#/definitions/PropertyName"
-                },
                 "subtypeResolver": {
                     "$ref": "#/definitions/SubtypeResolver"
                 },
+                "fullRootName": {
+                    "$ref": "#/definitions/PropertyName"
+                },
                 "defaultVisibilityChecker": {
                     "$ref": "#/definitions/VisibilityCheckerObject"
                 },
diff --git a/content/swagger/2.11.0-SNAPSHOT/v3/swaggersink.json b/content/swagger/2.11.0-SNAPSHOT/v3/swaggersink.json
index 58e9c66078b..1bfdae34b2c 100644
--- a/content/swagger/2.11.0-SNAPSHOT/v3/swaggersink.json
+++ b/content/swagger/2.11.0-SNAPSHOT/v3/swaggersink.json
@@ -1299,12 +1299,12 @@
                 "rootName": {
                     "type": "string"
                 },
-                "fullRootName": {
-                    "$ref": "#/definitions/PropertyName"
-                },
                 "subtypeResolver": {
                     "$ref": "#/definitions/SubtypeResolver"
                 },
+                "fullRootName": {
+                    "$ref": "#/definitions/PropertyName"
+                },
                 "defaultVisibilityChecker": {
                     "$ref": "#/definitions/VisibilityCheckerObject"
                 },
@@ -1447,9 +1447,6 @@
                 "abstract": {
                     "type": "boolean"
                 },
-                "contentType": {
-                    "$ref": "#/definitions/JavaType"
-                },
                 "bindings": {
                     "$ref": "#/definitions/TypeBindings"
                 },
@@ -1501,6 +1498,9 @@
                 "mapLikeType": {
                     "type": "boolean"
                 },
+                "contentType": {
+                    "$ref": "#/definitions/JavaType"
+                },
                 "typeName": {
                     "type": "string"
                 },
@@ -1550,9 +1550,6 @@
                 "prettyPrinter": {
                     "$ref": "#/definitions/PrettyPrinter"
                 },
-                "currentValue": {
-                    "type": "object"
-                },
                 "featureMask": {
                     "type": "integer",
                     "format": "int32"
@@ -1561,6 +1558,9 @@
                     "type": "integer",
                     "format": "int32"
                 },
+                "currentValue": {
+                    "type": "object"
+                },
                 "highestEscapedChar": {
                     "type": "integer",
                     "format": "int32"
@@ -1584,13 +1584,6 @@
                     "type": "integer",
                     "format": "int64"
                 },
-                "sourceRef": {
-                    "type": "object"
-                },
-                "lineNr": {
-                    "type": "integer",
-                    "format": "int32"
-                },
                 "columnNr": {
                     "type": "integer",
                     "format": "int32"
@@ -1598,6 +1591,13 @@
                 "charOffset": {
                     "type": "integer",
                     "format": "int64"
+                },
+                "sourceRef": {
+                    "type": "object"
+                },
+                "lineNr": {
+                    "type": "integer",
+                    "format": "int32"
                 }
             }
         },
@@ -1614,9 +1614,6 @@
                 "text": {
                     "type": "string"
                 },
-                "typeId": {
-                    "type": "object"
-                },
                 "textCharacters": {
                     "type": "array",
                     "items": {
@@ -1646,6 +1643,9 @@
                     "type": "integer",
                     "format": "int32"
                 },
+                "typeId": {
+                    "type": "object"
+                },
                 "closed": {
                     "type": "boolean"
                 },
@@ -1683,6 +1683,14 @@
                 "tokenLocation": {
                     "$ref": "#/definitions/JsonLocation"
                 },
+                "featureMask": {
+                    "type": "integer",
+                    "format": "int32"
+                },
+                "formatFeatures": {
+                    "type": "integer",
+                    "format": "int32"
+                },
                 "currentTokenId": {
                     "type": "integer",
                     "format": "int32"
@@ -1777,14 +1785,6 @@
                 },
                 "currentValue": {
                     "type": "object"
-                },
-                "featureMask": {
-                    "type": "integer",
-                    "format": "int32"
-                },
-                "formatFeatures": {
-                    "type": "integer",
-                    "format": "int32"
                 }
             }
         },
@@ -1799,11 +1799,11 @@
         "JsonSerializerObject": {
             "type": "object",
             "properties": {
-                "unwrappingSerializer": {
-                    "type": "boolean"
-                },
                 "delegatee": {
                     "$ref": "#/definitions/JsonSerializerObject"
+                },
+                "unwrappingSerializer": {
+                    "type": "boolean"
                 }
             }
         },
@@ -1813,20 +1813,20 @@
                 "parent": {
                     "$ref": "#/definitions/JsonStreamContext"
                 },
-                "currentName": {
+                "typeDesc": {
                     "type": "string"
                 },
-                "currentValue": {
-                    "type": "object"
-                },
-                "entryCount": {
+                "currentIndex": {
                     "type": "integer",
                     "format": "int32"
                 },
-                "typeDesc": {
+                "currentName": {
                     "type": "string"
                 },
-                "currentIndex": {
+                "currentValue": {
+                    "type": "object"
+                },
+                "entryCount": {
                     "type": "integer",
                     "format": "int32"
                 }
@@ -2195,12 +2195,12 @@
                 "rootName": {
                     "type": "string"
                 },
-                "fullRootName": {
-                    "$ref": "#/definitions/PropertyName"
-                },
                 "subtypeResolver": {
                     "$ref": "#/definitions/SubtypeResolver"
                 },
+                "fullRootName": {
+                    "$ref": "#/definitions/PropertyName"
+                },
                 "defaultVisibilityChecker": {
                     "$ref": "#/definitions/VisibilityCheckerObject"
                 },
diff --git a/content/swagger/2.11.0-SNAPSHOT/v3/swaggersource.json b/content/swagger/2.11.0-SNAPSHOT/v3/swaggersource.json
index 13c9027184f..b40ec339dcf 100644
--- a/content/swagger/2.11.0-SNAPSHOT/v3/swaggersource.json
+++ b/content/swagger/2.11.0-SNAPSHOT/v3/swaggersource.json
@@ -1280,12 +1280,12 @@
                 "rootName": {
                     "type": "string"
                 },
-                "fullRootName": {
-                    "$ref": "#/definitions/PropertyName"
-                },
                 "subtypeResolver": {
                     "$ref": "#/definitions/SubtypeResolver"
                 },
+                "fullRootName": {
+                    "$ref": "#/definitions/PropertyName"
+                },
                 "defaultVisibilityChecker": {
                     "$ref": "#/definitions/VisibilityCheckerObject"
                 },
@@ -1428,9 +1428,6 @@
                 "abstract": {
                     "type": "boolean"
                 },
-                "contentType": {
-                    "$ref": "#/definitions/JavaType"
-                },
                 "bindings": {
                     "$ref": "#/definitions/TypeBindings"
                 },
@@ -1482,6 +1479,9 @@
                 "mapLikeType": {
                     "type": "boolean"
                 },
+                "contentType": {
+                    "$ref": "#/definitions/JavaType"
+                },
                 "typeName": {
                     "type": "string"
                 },
@@ -1531,9 +1531,6 @@
                 "prettyPrinter": {
                     "$ref": "#/definitions/PrettyPrinter"
                 },
-                "currentValue": {
-                    "type": "object"
-                },
                 "featureMask": {
                     "type": "integer",
                     "format": "int32"
@@ -1542,6 +1539,9 @@
                     "type": "integer",
                     "format": "int32"
                 },
+                "currentValue": {
+                    "type": "object"
+                },
                 "highestEscapedChar": {
                     "type": "integer",
                     "format": "int32"
@@ -1565,13 +1565,6 @@
                     "type": "integer",
                     "format": "int64"
                 },
-                "sourceRef": {
-                    "type": "object"
-                },
-                "lineNr": {
-                    "type": "integer",
-                    "format": "int32"
-                },
                 "columnNr": {
                     "type": "integer",
                     "format": "int32"
@@ -1579,6 +1572,13 @@
                 "charOffset": {
                     "type": "integer",
                     "format": "int64"
+                },
+                "sourceRef": {
+                    "type": "object"
+                },
+                "lineNr": {
+                    "type": "integer",
+                    "format": "int32"
                 }
             }
         },
@@ -1595,9 +1595,6 @@
                 "text": {
                     "type": "string"
                 },
-                "typeId": {
-                    "type": "object"
-                },
                 "textCharacters": {
                     "type": "array",
                     "items": {
@@ -1627,6 +1624,9 @@
                     "type": "integer",
                     "format": "int32"
                 },
+                "typeId": {
+                    "type": "object"
+                },
                 "closed": {
                     "type": "boolean"
                 },
@@ -1664,6 +1664,14 @@
                 "tokenLocation": {
                     "$ref": "#/definitions/JsonLocation"
                 },
+                "featureMask": {
+                    "type": "integer",
+                    "format": "int32"
+                },
+                "formatFeatures": {
+                    "type": "integer",
+                    "format": "int32"
+                },
                 "currentTokenId": {
                     "type": "integer",
                     "format": "int32"
@@ -1758,14 +1766,6 @@
                 },
                 "currentValue": {
                     "type": "object"
-                },
-                "featureMask": {
-                    "type": "integer",
-                    "format": "int32"
-                },
-                "formatFeatures": {
-                    "type": "integer",
-                    "format": "int32"
                 }
             }
         },
@@ -1780,11 +1780,11 @@
         "JsonSerializerObject": {
             "type": "object",
             "properties": {
-                "unwrappingSerializer": {
-                    "type": "boolean"
-                },
                 "delegatee": {
                     "$ref": "#/definitions/JsonSerializerObject"
+                },
+                "unwrappingSerializer": {
+                    "type": "boolean"
                 }
             }
         },
@@ -1794,20 +1794,20 @@
                 "parent": {
                     "$ref": "#/definitions/JsonStreamContext"
                 },
-                "currentName": {
+                "typeDesc": {
                     "type": "string"
                 },
-                "currentValue": {
-                    "type": "object"
-                },
-                "entryCount": {
+                "currentIndex": {
                     "type": "integer",
                     "format": "int32"
                 },
-                "typeDesc": {
+                "currentName": {
                     "type": "string"
                 },
-                "currentIndex": {
+                "currentValue": {
+                    "type": "object"
+                },
+                "entryCount": {
                     "type": "integer",
                     "format": "int32"
                 }
@@ -2198,12 +2198,12 @@
                 "rootName": {
                     "type": "string"
                 },
-                "fullRootName": {
-                    "$ref": "#/definitions/PropertyName"
-                },
                 "subtypeResolver": {
                     "$ref": "#/definitions/SubtypeResolver"
                 },
+                "fullRootName": {
+                    "$ref": "#/definitions/PropertyName"
+                },
                 "defaultVisibilityChecker": {
                     "$ref": "#/definitions/VisibilityCheckerObject"
                 },
diff --git a/content/swagger/master/swagger.json b/content/swagger/master/swagger.json
index f95e7ca947f..c97cb691638 100644
--- a/content/swagger/master/swagger.json
+++ b/content/swagger/master/swagger.json
@@ -13018,6 +13018,187 @@
         }
       }
     },
+    "/non-persistent/{tenant}/{namespace}/{topic}/{subName}/dispatchRate" : {
+      "get" : {
+        "tags" : [ "non-persistent topic" ],
+        "summary" : "Get message dispatch rate configuration for specified subscription.",
+        "description" : "",
+        "operationId" : "getSubscriptionLevelDispatchRate",
+        "produces" : [ "application/json" ],
+        "parameters" : [ {
+          "name" : "tenant",
+          "in" : "path",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "namespace",
+          "in" : "path",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "topic",
+          "in" : "path",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "subName",
+          "in" : "path",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "applied",
+          "in" : "query",
+          "required" : false,
+          "type" : "boolean",
+          "default" : false
+        }, {
+          "name" : "isGlobal",
+          "in" : "query",
+          "required" : false,
+          "type" : "boolean",
+          "default" : false
+        }, {
+          "name" : "authoritative",
+          "in" : "query",
+          "description" : "Is authentication required to perform this operation",
+          "required" : false,
+          "type" : "boolean",
+          "default" : false
+        } ],
+        "responses" : {
+          "403" : {
+            "description" : "Don't have admin permission"
+          },
+          "404" : {
+            "description" : "Topic does not exist"
+          },
+          "405" : {
+            "description" : "Topic level policy is disabled, please enable the topic level policy and retry"
+          },
+          "409" : {
+            "description" : "Concurrent modification"
+          }
+        }
+      },
+      "post" : {
+        "tags" : [ "non-persistent topic" ],
+        "summary" : "Set message dispatch rate configuration for specified subscription.",
+        "description" : "",
+        "operationId" : "setSubscriptionLevelDispatchRate",
+        "produces" : [ "application/json" ],
+        "parameters" : [ {
+          "name" : "tenant",
+          "in" : "path",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "namespace",
+          "in" : "path",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "topic",
+          "in" : "path",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "subName",
+          "in" : "path",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "authoritative",
+          "in" : "query",
+          "description" : "Is authentication required to perform this operation",
+          "required" : false,
+          "type" : "boolean",
+          "default" : false
+        }, {
+          "name" : "isGlobal",
+          "in" : "query",
+          "required" : false,
+          "type" : "boolean",
+          "default" : false
+        }, {
+          "in" : "body",
+          "name" : "body",
+          "description" : "Subscription message dispatch rate for the specified topic",
+          "required" : false,
+          "schema" : {
+            "$ref" : "#/definitions/DispatchRateImpl"
+          }
+        } ],
+        "responses" : {
+          "403" : {
+            "description" : "Don't have admin permission"
+          },
+          "404" : {
+            "description" : "Topic does not exist"
+          },
+          "405" : {
+            "description" : "Topic level policy is disabled, please enable the topic level policy and retry"
+          },
+          "409" : {
+            "description" : "Concurrent modification"
+          }
+        }
+      },
+      "delete" : {
+        "tags" : [ "non-persistent topic" ],
+        "summary" : "Remove message dispatch rate configuration for specified subscription.",
+        "description" : "",
+        "operationId" : "removeSubscriptionLevelDispatchRate",
+        "produces" : [ "application/json" ],
+        "parameters" : [ {
+          "name" : "tenant",
+          "in" : "path",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "namespace",
+          "in" : "path",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "topic",
+          "in" : "path",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "subName",
+          "in" : "path",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "isGlobal",
+          "in" : "query",
+          "required" : false,
+          "type" : "boolean",
+          "default" : false
+        }, {
+          "name" : "authoritative",
+          "in" : "query",
+          "description" : "Is authentication required to perform this operation",
+          "required" : false,
+          "type" : "boolean",
+          "default" : false
+        } ],
+        "responses" : {
+          "403" : {
+            "description" : "Don't have admin permission"
+          },
+          "404" : {
+            "description" : "Topic does not exist"
+          },
+          "405" : {
+            "description" : "Topic level policy is disabled, please enable the topic level policy and retry"
+          },
+          "409" : {
+            "description" : "Concurrent modification"
+          }
+        }
+      }
+    },
     "/persistent/{tenant}/{namespace}" : {
       "get" : {
         "tags" : [ "persistent topic" ],
@@ -16923,6 +17104,7 @@
         "summary" : "Create a partitioned topic.",
         "description" : "It needs to be called before creating a producer on a partitioned topic.",
         "operationId" : "createPartitionedTopic",
+        "consumes" : [ "application/vnd.partitioned-topic-metadata+json" ],
         "produces" : [ "application/json" ],
         "parameters" : [ {
           "name" : "tenant",
@@ -16945,12 +17127,10 @@
         }, {
           "in" : "body",
           "name" : "body",
-          "description" : "The number of partitions for the topic",
+          "description" : "The metadata for the topic",
           "required" : true,
           "schema" : {
-            "type" : "integer",
-            "format" : "int32",
-            "default" : 0
+            "$ref" : "#/definitions/PartitionedTopicMetadata"
           }
         }, {
           "name" : "createLocalTopicOnly",
@@ -19885,96 +20065,277 @@
         }
       }
     },
-    "/resource-quotas" : {
-      "get" : {
-        "tags" : [ "resource-quotas" ],
-        "summary" : "Get the default quota",
-        "description" : "",
-        "operationId" : "getDefaultResourceQuota",
-        "consumes" : [ "application/json" ],
-        "produces" : [ "application/json" ],
-        "responses" : {
-          "200" : {
-            "description" : "successful operation",
-            "schema" : {
-              "type" : "array",
-              "uniqueItems" : true,
-              "items" : {
-                "type" : "string"
-              }
-            }
-          },
-          "403" : {
-            "description" : "Don't have admin permission"
-          }
-        }
-      },
-      "post" : {
-        "tags" : [ "resource-quotas" ],
-        "summary" : "Set the default quota",
-        "description" : "",
-        "operationId" : "setDefaultResourceQuota",
-        "consumes" : [ "application/json" ],
-        "produces" : [ "application/json" ],
-        "parameters" : [ {
-          "in" : "body",
-          "name" : "body",
-          "description" : "Default resource quota",
-          "required" : false,
-          "schema" : {
-            "$ref" : "#/definitions/ResourceQuota"
-          }
-        } ],
-        "responses" : {
-          "200" : {
-            "description" : "successful operation",
-            "schema" : {
-              "type" : "array",
-              "uniqueItems" : true,
-              "items" : {
-                "type" : "string"
-              }
-            }
-          },
-          "403" : {
-            "description" : "Don't have admin permission"
-          }
-        }
-      }
-    },
-    "/resource-quotas/{tenant}/{namespace}/{bundle}" : {
+    "/persistent/{tenant}/{namespace}/{topic}/{subName}/dispatchRate" : {
       "get" : {
-        "tags" : [ "resource-quotas" ],
-        "summary" : "Get resource quota of a namespace bundle.",
+        "tags" : [ "persistent topic" ],
+        "summary" : "Get message dispatch rate configuration for specified subscription.",
         "description" : "",
-        "operationId" : "getNamespaceBundleResourceQuota",
-        "consumes" : [ "application/json" ],
+        "operationId" : "getSubscriptionLevelDispatchRate",
         "produces" : [ "application/json" ],
         "parameters" : [ {
           "name" : "tenant",
           "in" : "path",
-          "description" : "Tenant name",
           "required" : true,
           "type" : "string"
         }, {
           "name" : "namespace",
           "in" : "path",
-          "description" : "Namespace name within the specified tenant",
           "required" : true,
           "type" : "string"
         }, {
-          "name" : "bundle",
+          "name" : "topic",
           "in" : "path",
-          "description" : "Namespace bundle range",
           "required" : true,
           "type" : "string"
-        } ],
-        "responses" : {
-          "200" : {
-            "description" : "successful operation",
-            "schema" : {
-              "$ref" : "#/definitions/ResourceQuota"
-            }
+        }, {
+          "name" : "subName",
+          "in" : "path",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "applied",
+          "in" : "query",
+          "required" : false,
+          "type" : "boolean",
+          "default" : false
+        }, {
+          "name" : "isGlobal",
+          "in" : "query",
+          "required" : false,
+          "type" : "boolean",
+          "default" : false
+        }, {
+          "name" : "authoritative",
+          "in" : "query",
+          "description" : "Is authentication required to perform this operation",
+          "required" : false,
+          "type" : "boolean",
+          "default" : false
+        } ],
+        "responses" : {
+          "403" : {
+            "description" : "Don't have admin permission"
+          },
+          "404" : {
+            "description" : "Topic does not exist"
+          },
+          "405" : {
+            "description" : "Topic level policy is disabled, please enable the topic level policy and retry"
+          },
+          "409" : {
+            "description" : "Concurrent modification"
+          }
+        }
+      },
+      "post" : {
+        "tags" : [ "persistent topic" ],
+        "summary" : "Set message dispatch rate configuration for specified subscription.",
+        "description" : "",
+        "operationId" : "setSubscriptionLevelDispatchRate",
+        "produces" : [ "application/json" ],
+        "parameters" : [ {
+          "name" : "tenant",
+          "in" : "path",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "namespace",
+          "in" : "path",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "topic",
+          "in" : "path",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "subName",
+          "in" : "path",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "authoritative",
+          "in" : "query",
+          "description" : "Is authentication required to perform this operation",
+          "required" : false,
+          "type" : "boolean",
+          "default" : false
+        }, {
+          "name" : "isGlobal",
+          "in" : "query",
+          "required" : false,
+          "type" : "boolean",
+          "default" : false
+        }, {
+          "in" : "body",
+          "name" : "body",
+          "description" : "Subscription message dispatch rate for the specified topic",
+          "required" : false,
+          "schema" : {
+            "$ref" : "#/definitions/DispatchRateImpl"
+          }
+        } ],
+        "responses" : {
+          "403" : {
+            "description" : "Don't have admin permission"
+          },
+          "404" : {
+            "description" : "Topic does not exist"
+          },
+          "405" : {
+            "description" : "Topic level policy is disabled, please enable the topic level policy and retry"
+          },
+          "409" : {
+            "description" : "Concurrent modification"
+          }
+        }
+      },
+      "delete" : {
+        "tags" : [ "persistent topic" ],
+        "summary" : "Remove message dispatch rate configuration for specified subscription.",
+        "description" : "",
+        "operationId" : "removeSubscriptionLevelDispatchRate",
+        "produces" : [ "application/json" ],
+        "parameters" : [ {
+          "name" : "tenant",
+          "in" : "path",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "namespace",
+          "in" : "path",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "topic",
+          "in" : "path",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "subName",
+          "in" : "path",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "isGlobal",
+          "in" : "query",
+          "required" : false,
+          "type" : "boolean",
+          "default" : false
+        }, {
+          "name" : "authoritative",
+          "in" : "query",
+          "description" : "Is authentication required to perform this operation",
+          "required" : false,
+          "type" : "boolean",
+          "default" : false
+        } ],
+        "responses" : {
+          "403" : {
+            "description" : "Don't have admin permission"
+          },
+          "404" : {
+            "description" : "Topic does not exist"
+          },
+          "405" : {
+            "description" : "Topic level policy is disabled, please enable the topic level policy and retry"
+          },
+          "409" : {
+            "description" : "Concurrent modification"
+          }
+        }
+      }
+    },
+    "/resource-quotas" : {
+      "get" : {
+        "tags" : [ "resource-quotas" ],
+        "summary" : "Get the default quota",
+        "description" : "",
+        "operationId" : "getDefaultResourceQuota",
+        "consumes" : [ "application/json" ],
+        "produces" : [ "application/json" ],
+        "responses" : {
+          "200" : {
+            "description" : "successful operation",
+            "schema" : {
+              "type" : "array",
+              "uniqueItems" : true,
+              "items" : {
+                "type" : "string"
+              }
+            }
+          },
+          "403" : {
+            "description" : "Don't have admin permission"
+          }
+        }
+      },
+      "post" : {
+        "tags" : [ "resource-quotas" ],
+        "summary" : "Set the default quota",
+        "description" : "",
+        "operationId" : "setDefaultResourceQuota",
+        "consumes" : [ "application/json" ],
+        "produces" : [ "application/json" ],
+        "parameters" : [ {
+          "in" : "body",
+          "name" : "body",
+          "description" : "Default resource quota",
+          "required" : false,
+          "schema" : {
+            "$ref" : "#/definitions/ResourceQuota"
+          }
+        } ],
+        "responses" : {
+          "200" : {
+            "description" : "successful operation",
+            "schema" : {
+              "type" : "array",
+              "uniqueItems" : true,
+              "items" : {
+                "type" : "string"
+              }
+            }
+          },
+          "403" : {
+            "description" : "Don't have admin permission"
+          }
+        }
+      }
+    },
+    "/resource-quotas/{tenant}/{namespace}/{bundle}" : {
+      "get" : {
+        "tags" : [ "resource-quotas" ],
+        "summary" : "Get resource quota of a namespace bundle.",
+        "description" : "",
+        "operationId" : "getNamespaceBundleResourceQuota",
+        "consumes" : [ "application/json" ],
+        "produces" : [ "application/json" ],
+        "parameters" : [ {
+          "name" : "tenant",
+          "in" : "path",
+          "description" : "Tenant name",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "namespace",
+          "in" : "path",
+          "description" : "Namespace name within the specified tenant",
+          "required" : true,
+          "type" : "string"
+        }, {
+          "name" : "bundle",
+          "in" : "path",
+          "description" : "Namespace bundle range",
+          "required" : true,
+          "type" : "string"
+        } ],
+        "responses" : {
+          "200" : {
+            "description" : "successful operation",
+            "schema" : {
+              "$ref" : "#/definitions/ResourceQuota"
+            }
           },
           "307" : {
             "description" : "Current broker doesn't serve the namespace"
@@ -21254,6 +21615,10 @@
           "type" : "string",
           "enum" : [ "producer_request_hold", "producer_exception", "consumer_backlog_eviction" ]
         },
+        "limit" : {
+          "type" : "integer",
+          "format" : "int64"
+        },
         "limitSize" : {
           "type" : "integer",
           "format" : "int64"
@@ -21261,10 +21626,6 @@
         "limitTime" : {
           "type" : "integer",
           "format" : "int32"
-        },
-        "limit" : {
-          "type" : "integer",
-          "format" : "int64"
         }
       }
     },
@@ -21301,11 +21662,11 @@
     "BookieInfo" : {
       "type" : "object",
       "properties" : {
-        "hostname" : {
-          "type" : "string"
-        },
         "rack" : {
           "type" : "string"
+        },
+        "hostname" : {
+          "type" : "string"
         }
       }
     },
@@ -21646,6 +22007,12 @@
             "type" : "string"
           }
         },
+        "consumerName" : {
+          "type" : "string"
+        },
+        "connectedSince" : {
+          "type" : "string"
+        },
         "msgRateOut" : {
           "type" : "number",
           "format" : "double"
@@ -21662,11 +22029,11 @@
           "type" : "integer",
           "format" : "int64"
         },
-        "msgRateRedeliver" : {
-          "type" : "number",
-          "format" : "double"
+        "availablePermits" : {
+          "type" : "integer",
+          "format" : "int32"
         },
-        "chunkedMessageRate" : {
+        "msgRateRedeliver" : {
           "type" : "number",
           "format" : "double"
         },
@@ -21682,13 +22049,6 @@
           "type" : "integer",
           "format" : "int64"
         },
-        "consumerName" : {
-          "type" : "string"
-        },
-        "availablePermits" : {
-          "type" : "integer",
-          "format" : "int32"
-        },
         "avgMessagesPerEntry" : {
           "type" : "integer",
           "format" : "int32"
@@ -21699,17 +22059,18 @@
         "readPositionWhenJoining" : {
           "type" : "string"
         },
-        "connectedSince" : {
-          "type" : "string"
-        },
-        "clientVersion" : {
-          "type" : "string"
-        },
         "keyHashRanges" : {
           "type" : "array",
           "items" : {
             "type" : "string"
           }
+        },
+        "chunkedMessageRate" : {
+          "type" : "number",
+          "format" : "double"
+        },
+        "clientVersion" : {
+          "type" : "string"
         }
       }
     },
@@ -21878,12 +22239,12 @@
         "rootName" : {
           "type" : "string"
         },
-        "fullRootName" : {
-          "$ref" : "#/definitions/PropertyName"
-        },
         "subtypeResolver" : {
           "$ref" : "#/definitions/SubtypeResolver"
         },
+        "fullRootName" : {
+          "$ref" : "#/definitions/PropertyName"
+        },
         "defaultVisibilityChecker" : {
           "$ref" : "#/definitions/VisibilityCheckerObject"
         },
@@ -21964,10 +22325,6 @@
     "DispatchRate" : {
       "type" : "object",
       "properties" : {
-        "dispatchThrottlingRateInByte" : {
-          "type" : "integer",
-          "format" : "int64"
-        },
         "relativeToPublishRate" : {
           "type" : "boolean"
         },
@@ -21978,6 +22335,10 @@
         "dispatchThrottlingRateInMsg" : {
           "type" : "integer",
           "format" : "int32"
+        },
+        "dispatchThrottlingRateInByte" : {
+          "type" : "integer",
+          "format" : "int64"
         }
       }
     },
@@ -22261,9 +22622,6 @@
         "abstract" : {
           "type" : "boolean"
         },
-        "contentType" : {
-          "$ref" : "#/definitions/JavaType"
-        },
         "bindings" : {
           "$ref" : "#/definitions/TypeBindings"
         },
@@ -22315,6 +22673,9 @@
         "mapLikeType" : {
           "type" : "boolean"
         },
+        "contentType" : {
+          "$ref" : "#/definitions/JavaType"
+        },
         "typeName" : {
           "type" : "string"
         },
@@ -22364,9 +22725,6 @@
         "prettyPrinter" : {
           "$ref" : "#/definitions/PrettyPrinter"
         },
-        "currentValue" : {
-          "type" : "object"
-        },
         "featureMask" : {
           "type" : "integer",
           "format" : "int32"
@@ -22375,6 +22733,9 @@
           "type" : "integer",
           "format" : "int32"
         },
+        "currentValue" : {
+          "type" : "object"
+        },
         "highestEscapedChar" : {
           "type" : "integer",
           "format" : "int32"
@@ -22398,13 +22759,6 @@
           "type" : "integer",
           "format" : "int64"
         },
-        "sourceRef" : {
-          "type" : "object"
-        },
-        "lineNr" : {
-          "type" : "integer",
-          "format" : "int32"
-        },
         "columnNr" : {
           "type" : "integer",
           "format" : "int32"
@@ -22412,6 +22766,13 @@
         "charOffset" : {
           "type" : "integer",
           "format" : "int64"
+        },
+        "sourceRef" : {
+          "type" : "object"
+        },
+        "lineNr" : {
+          "type" : "integer",
+          "format" : "int32"
         }
       }
     },
@@ -22428,9 +22789,6 @@
         "text" : {
           "type" : "string"
         },
-        "typeId" : {
-          "type" : "object"
-        },
         "textCharacters" : {
           "type" : "array",
           "items" : {
@@ -22460,6 +22818,9 @@
           "type" : "integer",
           "format" : "int32"
         },
+        "typeId" : {
+          "type" : "object"
+        },
         "closed" : {
           "type" : "boolean"
         },
@@ -22483,6 +22844,14 @@
         "tokenLocation" : {
           "$ref" : "#/definitions/JsonLocation"
         },
+        "featureMask" : {
+          "type" : "integer",
+          "format" : "int32"
+        },
+        "formatFeatures" : {
+          "type" : "integer",
+          "format" : "int32"
+        },
         "currentTokenId" : {
           "type" : "integer",
           "format" : "int32"
@@ -22556,14 +22925,6 @@
         },
         "currentValue" : {
           "type" : "object"
-        },
-        "featureMask" : {
-          "type" : "integer",
-          "format" : "int32"
-        },
-        "formatFeatures" : {
-          "type" : "integer",
-          "format" : "int32"
         }
       }
     },
@@ -22578,11 +22939,11 @@
     "JsonSerializerObject" : {
       "type" : "object",
       "properties" : {
-        "unwrappingSerializer" : {
-          "type" : "boolean"
-        },
         "delegatee" : {
           "$ref" : "#/definitions/JsonSerializerObject"
+        },
+        "unwrappingSerializer" : {
+          "type" : "boolean"
         }
       }
     },
@@ -22592,20 +22953,20 @@
         "parent" : {
           "$ref" : "#/definitions/JsonStreamContext"
         },
-        "currentName" : {
+        "typeDesc" : {
           "type" : "string"
         },
-        "currentValue" : {
-          "type" : "object"
-        },
-        "entryCount" : {
+        "currentIndex" : {
           "type" : "integer",
           "format" : "int32"
         },
-        "typeDesc" : {
+        "currentName" : {
           "type" : "string"
         },
-        "currentIndex" : {
+        "currentValue" : {
+          "type" : "object"
+        },
+        "entryCount" : {
           "type" : "integer",
           "format" : "int32"
         }
@@ -22895,41 +23256,41 @@
           "type" : "number",
           "format" : "double"
         },
-        "cpu" : {
-          "$ref" : "#/definitions/ResourceUsage"
+        "underLoaded" : {
+          "type" : "boolean"
         },
-        "memory" : {
-          "$ref" : "#/definitions/ResourceUsage"
+        "overLoaded" : {
+          "type" : "boolean"
         },
-        "directMemory" : {
-          "$ref" : "#/definitions/ResourceUsage"
+        "loadReportType" : {
+          "type" : "string"
         },
-        "bandwidthIn" : {
+        "msgThroughputOut" : {
+          "type" : "number",
+          "format" : "double"
+        },
+        "msgThroughputIn" : {
+          "type" : "number",
+          "format" : "double"
+        },
+        "cpu" : {
           "$ref" : "#/definitions/ResourceUsage"
         },
-        "bandwidthOut" : {
+        "directMemory" : {
           "$ref" : "#/definitions/ResourceUsage"
         },
         "lastUpdate" : {
           "type" : "integer",
           "format" : "int64"
         },
-        "msgThroughputIn" : {
-          "type" : "number",
-          "format" : "double"
-        },
-        "msgThroughputOut" : {
-          "type" : "number",
-          "format" : "double"
-        },
-        "underLoaded" : {
-          "type" : "boolean"
+        "memory" : {
+          "$ref" : "#/definitions/ResourceUsage"
         },
-        "overLoaded" : {
-          "type" : "boolean"
+        "bandwidthIn" : {
+          "$ref" : "#/definitions/ResourceUsage"
         },
-        "loadReportType" : {
-          "type" : "string"
+        "bandwidthOut" : {
+          "$ref" : "#/definitions/ResourceUsage"
         }
       }
     },
@@ -23202,10 +23563,17 @@
             "type" : "string"
           }
         },
-        "producerName" : {
+        "supportsPartialProducer" : {
+          "type" : "boolean"
+        },
+        "accessMode" : {
+          "type" : "string",
+          "enum" : [ "Shared", "Exclusive", "WaitForExclusive" ]
+        },
+        "connectedSince" : {
           "type" : "string"
         },
-        "msgRateIn" : {
+        "averageMsgSize" : {
           "type" : "number",
           "format" : "double"
         },
@@ -23213,30 +23581,23 @@
           "type" : "number",
           "format" : "double"
         },
-        "averageMsgSize" : {
+        "msgRateIn" : {
           "type" : "number",
           "format" : "double"
         },
+        "producerName" : {
+          "type" : "string"
+        },
         "chunkedMessageRate" : {
           "type" : "number",
           "format" : "double"
         },
-        "connectedSince" : {
-          "type" : "string"
-        },
-        "clientVersion" : {
-          "type" : "string"
-        },
-        "accessMode" : {
-          "type" : "string",
-          "enum" : [ "Shared", "Exclusive", "WaitForExclusive" ]
-        },
         "producerId" : {
           "type" : "integer",
           "format" : "int64"
         },
-        "supportsPartialProducer" : {
-          "type" : "boolean"
+        "clientVersion" : {
+          "type" : "string"
         }
       }
     },
@@ -23250,14 +23611,6 @@
         "connected" : {
           "type" : "boolean"
         },
-        "msgRateIn" : {
-          "type" : "number",
-          "format" : "double"
-        },
-        "msgThroughputIn" : {
-          "type" : "number",
-          "format" : "double"
-        },
         "msgRateOut" : {
           "type" : "number",
           "format" : "double"
@@ -23266,13 +23619,13 @@
           "type" : "number",
           "format" : "double"
         },
-        "msgRateExpired" : {
+        "msgThroughputIn" : {
           "type" : "number",
           "format" : "double"
         },
-        "replicationBacklog" : {
-          "type" : "integer",
-          "format" : "int64"
+        "msgRateIn" : {
+          "type" : "number",
+          "format" : "double"
         },
         "replicationDelayInSeconds" : {
           "type" : "integer",
@@ -23289,6 +23642,14 @@
         },
         "outboundConnectedSince" : {
           "type" : "string"
+        },
+        "msgRateExpired" : {
+          "type" : "number",
+          "format" : "double"
+        },
+        "replicationBacklog" : {
+          "type" : "integer",
+          "format" : "int64"
         }
       }
     },
@@ -23302,17 +23663,13 @@
         "type" : {
           "type" : "string"
         },
-        "replicated" : {
-          "type" : "boolean"
-        },
-        "durable" : {
-          "type" : "boolean"
+        "backlogSize" : {
+          "type" : "integer",
+          "format" : "int64"
         },
-        "consumers" : {
-          "type" : "array",
-          "items" : {
-            "$ref" : "#/definitions/ConsumerStats"
-          }
+        "nonContiguousDeletedMessagesRangesSerializedSize" : {
+          "type" : "integer",
+          "format" : "int32"
         },
         "msgRateOut" : {
           "type" : "number",
@@ -23330,26 +23687,38 @@
           "type" : "integer",
           "format" : "int64"
         },
-        "backlogSize" : {
-          "type" : "integer",
-          "format" : "int64"
+        "subscriptionProperties" : {
+          "type" : "object",
+          "additionalProperties" : {
+            "type" : "string"
+          }
         },
         "nonContiguousDeletedMessagesRanges" : {
           "type" : "integer",
           "format" : "int32"
         },
-        "nonContiguousDeletedMessagesRangesSerializedSize" : {
-          "type" : "integer",
-          "format" : "int32"
+        "consumers" : {
+          "type" : "array",
+          "items" : {
+            "$ref" : "#/definitions/ConsumerStats"
+          }
+        },
+        "replicated" : {
+          "type" : "boolean"
+        },
+        "durable" : {
+          "type" : "boolean"
+        },
+        "allowOutOfOrderDelivery" : {
+          "type" : "boolean"
+        },
+        "keySharedMode" : {
+          "type" : "string"
         },
         "msgRateRedeliver" : {
           "type" : "number",
           "format" : "double"
         },
-        "chunkedMessageRate" : {
-          "type" : "integer",
-          "format" : "int32"
-        },
         "msgBacklog" : {
           "type" : "integer",
           "format" : "int64"
@@ -23376,10 +23745,6 @@
         "activeConsumerName" : {
           "type" : "string"
         },
-        "msgRateExpired" : {
-          "type" : "number",
-          "format" : "double"
-        },
         "totalMsgExpired" : {
           "type" : "integer",
           "format" : "int64"
@@ -23404,35 +23769,25 @@
           "type" : "integer",
           "format" : "int64"
         },
-        "allowOutOfOrderDelivery" : {
-          "type" : "boolean"
-        },
-        "keySharedMode" : {
-          "type" : "string"
-        },
         "consumersAfterMarkDeletePosition" : {
           "type" : "object",
           "additionalProperties" : {
             "type" : "string"
           }
         },
-        "subscriptionProperties" : {
-          "type" : "object",
-          "additionalProperties" : {
-            "type" : "string"
-          }
+        "chunkedMessageRate" : {
+          "type" : "integer",
+          "format" : "int32"
+        },
+        "msgRateExpired" : {
+          "type" : "number",
+          "format" : "double"
         }
       }
     },
     "NonPersistentTopicStats" : {
       "type" : "object",
       "properties" : {
-        "subscriptions" : {
-          "type" : "object",
-          "additionalProperties" : {
-            "$ref" : "#/definitions/NonPersistentSubscriptionStats"
-          }
-        },
         "msgDropRate" : {
           "type" : "number",
           "format" : "double"
@@ -23449,13 +23804,38 @@
             "$ref" : "#/definitions/NonPersistentReplicatorStats"
           }
         },
-        "msgRateIn" : {
-          "type" : "number",
-          "format" : "double"
+        "subscriptions" : {
+          "type" : "object",
+          "additionalProperties" : {
+            "$ref" : "#/definitions/NonPersistentSubscriptionStats"
+          }
         },
-        "msgThroughputIn" : {
-          "type" : "number",
-          "format" : "double"
+        "storageSize" : {
+          "type" : "integer",
+          "format" : "int64"
+        },
+        "backlogSize" : {
+          "type" : "integer",
+          "format" : "int64"
+        },
+        "earliestMsgPublishTimeInBacklogs" : {
+          "type" : "integer",
+          "format" : "int64"
+        },
+        "offloadedStorageSize" : {
+          "type" : "integer",
+          "format" : "int64"
+        },
+        "waitingPublishers" : {
+          "type" : "integer",
+          "format" : "int32"
+        },
+        "deduplicationStatus" : {
+          "type" : "string"
+        },
+        "nonContiguousDeletedMessagesRangesSerializedSize" : {
+          "type" : "integer",
+          "format" : "int32"
         },
         "msgRateOut" : {
           "type" : "number",
@@ -23488,28 +23868,12 @@
         "msgChunkPublished" : {
           "type" : "boolean"
         },
-        "storageSize" : {
-          "type" : "integer",
-          "format" : "int64"
-        },
-        "backlogSize" : {
-          "type" : "integer",
-          "format" : "int64"
-        },
-        "earliestMsgPublishTimeInBacklogs" : {
-          "type" : "integer",
-          "format" : "int64"
-        },
-        "offloadedStorageSize" : {
-          "type" : "integer",
-          "format" : "int64"
-        },
-        "waitingPublishers" : {
-          "type" : "integer",
-          "format" : "int32"
+        "compaction" : {
+          "$ref" : "#/definitions/CompactionStats"
         },
-        "deduplicationStatus" : {
-          "type" : "string"
+        "msgThroughputIn" : {
+          "type" : "number",
+          "format" : "double"
         },
         "topicEpoch" : {
           "type" : "integer",
@@ -23519,12 +23883,9 @@
           "type" : "integer",
           "format" : "int32"
         },
-        "nonContiguousDeletedMessagesRangesSerializedSize" : {
-          "type" : "integer",
-          "format" : "int32"
-        },
-        "compaction" : {
-          "$ref" : "#/definitions/CompactionStats"
+        "msgRateIn" : {
+          "type" : "number",
+          "format" : "double"
         }
       }
     },
@@ -23629,31 +23990,32 @@
     "OffloadPolicies" : {
       "type" : "object",
       "properties" : {
-        "managedLedgerOffloadThresholdInBytes" : {
-          "type" : "integer",
-          "format" : "int64"
+        "s3ManagedLedgerOffloadRoleSessionName" : {
+          "type" : "string"
         },
-        "managedLedgerOffloadDeletionLagInMillis" : {
+        "s3ManagedLedgerOffloadReadBufferSizeInBytes" : {
           "type" : "integer",
-          "format" : "int64"
+          "format" : "int32"
         },
-        "managedLedgerOffloadDriver" : {
+        "gcsManagedLedgerOffloadRegion" : {
           "type" : "string"
         },
-        "offloadersDirectory" : {
+        "gcsManagedLedgerOffloadBucket" : {
           "type" : "string"
         },
-        "managedLedgerOffloadMaxThreads" : {
+        "gcsManagedLedgerOffloadMaxBlockSizeInBytes" : {
           "type" : "integer",
           "format" : "int32"
         },
-        "managedLedgerOffloadPrefetchRounds" : {
+        "gcsManagedLedgerOffloadReadBufferSizeInBytes" : {
           "type" : "integer",
           "format" : "int32"
         },
-        "managedLedgerOffloadedReadPriority" : {
-          "type" : "string",
-          "enum" : [ "BOOKKEEPER_FIRST", "TIERED_STORAGE_FIRST" ]
+        "gcsManagedLedgerOffloadServiceAccountKeyFile" : {
+          "type" : "string"
+        },
+        "fileSystemProfilePath" : {
+          "type" : "string"
         },
         "s3ManagedLedgerOffloadRegion" : {
           "type" : "string"
@@ -23674,34 +24036,7 @@
         "s3ManagedLedgerOffloadCredentialSecret" : {
           "type" : "string"
         },
-        "s3ManagedLedgerOffloadRole" : {
-          "type" : "string"
-        },
-        "s3ManagedLedgerOffloadRoleSessionName" : {
-          "type" : "string"
-        },
-        "s3ManagedLedgerOffloadReadBufferSizeInBytes" : {
-          "type" : "integer",
-          "format" : "int32"
-        },
-        "gcsManagedLedgerOffloadRegion" : {
-          "type" : "string"
-        },
-        "gcsManagedLedgerOffloadBucket" : {
-          "type" : "string"
-        },
-        "gcsManagedLedgerOffloadMaxBlockSizeInBytes" : {
-          "type" : "integer",
-          "format" : "int32"
-        },
-        "gcsManagedLedgerOffloadReadBufferSizeInBytes" : {
-          "type" : "integer",
-          "format" : "int32"
-        },
-        "gcsManagedLedgerOffloadServiceAccountKeyFile" : {
-          "type" : "string"
-        },
-        "fileSystemProfilePath" : {
+        "s3ManagedLedgerOffloadRole" : {
           "type" : "string"
         },
         "fileSystemURI" : {
@@ -23723,6 +24058,32 @@
         "managedLedgerOffloadReadBufferSizeInBytes" : {
           "type" : "integer",
           "format" : "int32"
+        },
+        "managedLedgerOffloadedReadPriority" : {
+          "type" : "string",
+          "enum" : [ "BOOKKEEPER_FIRST", "TIERED_STORAGE_FIRST" ]
+        },
+        "managedLedgerOffloadThresholdInBytes" : {
+          "type" : "integer",
+          "format" : "int64"
+        },
+        "managedLedgerOffloadDeletionLagInMillis" : {
+          "type" : "integer",
+          "format" : "int64"
+        },
+        "managedLedgerOffloadDriver" : {
+          "type" : "string"
+        },
+        "offloadersDirectory" : {
+          "type" : "string"
+        },
+        "managedLedgerOffloadMaxThreads" : {
+          "type" : "integer",
+          "format" : "int32"
+        },
+        "managedLedgerOffloadPrefetchRounds" : {
+          "type" : "integer",
+          "format" : "int32"
         }
       }
     },
@@ -24478,10 +24839,17 @@
             "type" : "string"
           }
         },
-        "producerName" : {
+        "supportsPartialProducer" : {
+          "type" : "boolean"
+        },
+        "accessMode" : {
+          "type" : "string",
+          "enum" : [ "Shared", "Exclusive", "WaitForExclusive" ]
+        },
+        "connectedSince" : {
           "type" : "string"
         },
-        "msgRateIn" : {
+        "averageMsgSize" : {
           "type" : "number",
           "format" : "double"
         },
@@ -24489,30 +24857,23 @@
           "type" : "number",
           "format" : "double"
         },
-        "averageMsgSize" : {
+        "msgRateIn" : {
           "type" : "number",
           "format" : "double"
         },
+        "producerName" : {
+          "type" : "string"
+        },
         "chunkedMessageRate" : {
           "type" : "number",
           "format" : "double"
         },
-        "connectedSince" : {
-          "type" : "string"
-        },
-        "clientVersion" : {
-          "type" : "string"
-        },
-        "accessMode" : {
-          "type" : "string",
-          "enum" : [ "Shared", "Exclusive", "WaitForExclusive" ]
-        },
         "producerId" : {
           "type" : "integer",
           "format" : "int64"
         },
-        "supportsPartialProducer" : {
-          "type" : "boolean"
+        "clientVersion" : {
+          "type" : "string"
         }
       }
     },
@@ -24530,14 +24891,6 @@
         "connected" : {
           "type" : "boolean"
         },
-        "msgRateIn" : {
-          "type" : "number",
-          "format" : "double"
-        },
-        "msgThroughputIn" : {
-          "type" : "number",
-          "format" : "double"
-        },
         "msgRateOut" : {
           "type" : "number",
           "format" : "double"
@@ -24546,13 +24899,13 @@
           "type" : "number",
           "format" : "double"
         },
-        "msgRateExpired" : {
+        "msgThroughputIn" : {
           "type" : "number",
           "format" : "double"
         },
-        "replicationBacklog" : {
-          "type" : "integer",
-          "format" : "int64"
+        "msgRateIn" : {
+          "type" : "number",
+          "format" : "double"
         },
         "replicationDelayInSeconds" : {
           "type" : "integer",
@@ -24569,6 +24922,14 @@
         },
         "outboundConnectedSince" : {
           "type" : "string"
+        },
+        "msgRateExpired" : {
+          "type" : "number",
+          "format" : "double"
+        },
+        "replicationBacklog" : {
+          "type" : "integer",
+          "format" : "int64"
         }
       }
     },
@@ -24746,12 +25107,12 @@
         "rootName" : {
           "type" : "string"
         },
-        "fullRootName" : {
-          "$ref" : "#/definitions/PropertyName"
-        },
         "subtypeResolver" : {
           "$ref" : "#/definitions/SubtypeResolver"
         },
+        "fullRootName" : {
+          "$ref" : "#/definitions/PropertyName"
+        },
         "defaultVisibilityChecker" : {
           "$ref" : "#/definitions/VisibilityCheckerObject"
         },
@@ -24912,17 +25273,13 @@
         "type" : {
           "type" : "string"
         },
-        "replicated" : {
-          "type" : "boolean"
-        },
-        "durable" : {
-          "type" : "boolean"
+        "backlogSize" : {
+          "type" : "integer",
+          "format" : "int64"
         },
-        "consumers" : {
-          "type" : "array",
-          "items" : {
-            "$ref" : "#/definitions/ConsumerStats"
-          }
+        "nonContiguousDeletedMessagesRangesSerializedSize" : {
+          "type" : "integer",
+          "format" : "int32"
         },
         "msgRateOut" : {
           "type" : "number",
@@ -24940,26 +25297,38 @@
           "type" : "integer",
           "format" : "int64"
         },
-        "backlogSize" : {
-          "type" : "integer",
-          "format" : "int64"
+        "subscriptionProperties" : {
+          "type" : "object",
+          "additionalProperties" : {
+            "type" : "string"
+          }
         },
         "nonContiguousDeletedMessagesRanges" : {
           "type" : "integer",
           "format" : "int32"
         },
-        "nonContiguousDeletedMessagesRangesSerializedSize" : {
-          "type" : "integer",
-          "format" : "int32"
+        "consumers" : {
+          "type" : "array",
+          "items" : {
+            "$ref" : "#/definitions/ConsumerStats"
+          }
+        },
+        "replicated" : {
+          "type" : "boolean"
+        },
+        "durable" : {
+          "type" : "boolean"
+        },
+        "allowOutOfOrderDelivery" : {
+          "type" : "boolean"
+        },
+        "keySharedMode" : {
+          "type" : "string"
         },
         "msgRateRedeliver" : {
           "type" : "number",
           "format" : "double"
         },
-        "chunkedMessageRate" : {
-          "type" : "integer",
-          "format" : "int32"
-        },
         "msgBacklog" : {
           "type" : "integer",
           "format" : "int64"
@@ -24986,10 +25355,6 @@
         "activeConsumerName" : {
           "type" : "string"
         },
-        "msgRateExpired" : {
-          "type" : "number",
-          "format" : "double"
-        },
         "totalMsgExpired" : {
           "type" : "integer",
           "format" : "int64"
@@ -25014,23 +25379,19 @@
           "type" : "integer",
           "format" : "int64"
         },
-        "allowOutOfOrderDelivery" : {
-          "type" : "boolean"
-        },
-        "keySharedMode" : {
-          "type" : "string"
-        },
         "consumersAfterMarkDeletePosition" : {
           "type" : "object",
           "additionalProperties" : {
             "type" : "string"
           }
         },
-        "subscriptionProperties" : {
-          "type" : "object",
-          "additionalProperties" : {
-            "type" : "string"
-          }
+        "chunkedMessageRate" : {
+          "type" : "integer",
+          "format" : "int32"
+        },
+        "msgRateExpired" : {
+          "type" : "number",
+          "format" : "double"
         }
       }
     },
@@ -25112,19 +25473,38 @@
     "TopicStats" : {
       "type" : "object",
       "properties" : {
-        "subscriptions" : {
-          "type" : "object",
-          "additionalProperties" : {
-            "$ref" : "#/definitions/SubscriptionStats"
+        "storageSize" : {
+          "type" : "integer",
+          "format" : "int64"
+        },
+        "backlogSize" : {
+          "type" : "integer",
+          "format" : "int64"
+        },
+        "earliestMsgPublishTimeInBacklogs" : {
+          "type" : "integer",
+          "format" : "int64"
+        },
+        "offloadedStorageSize" : {
+          "type" : "integer",
+          "format" : "int64"
+        },
+        "publishers" : {
+          "type" : "array",
+          "items" : {
+            "$ref" : "#/definitions/PublisherStats"
           }
         },
-        "msgRateIn" : {
-          "type" : "number",
-          "format" : "double"
+        "waitingPublishers" : {
+          "type" : "integer",
+          "format" : "int32"
         },
-        "msgThroughputIn" : {
-          "type" : "number",
-          "format" : "double"
+        "deduplicationStatus" : {
+          "type" : "string"
+        },
+        "nonContiguousDeletedMessagesRangesSerializedSize" : {
+          "type" : "integer",
+          "format" : "int32"
         },
         "msgRateOut" : {
           "type" : "number",
@@ -25157,31 +25537,12 @@
         "msgChunkPublished" : {
           "type" : "boolean"
         },
-        "storageSize" : {
-          "type" : "integer",
-          "format" : "int64"
-        },
-        "backlogSize" : {
-          "type" : "integer",
-          "format" : "int64"
-        },
-        "earliestMsgPublishTimeInBacklogs" : {
-          "type" : "integer",
-          "format" : "int64"
-        },
-        "offloadedStorageSize" : {
-          "type" : "integer",
-          "format" : "int64"
-        },
-        "publishers" : {
-          "type" : "array",
-          "items" : {
-            "$ref" : "#/definitions/PublisherStats"
-          }
+        "compaction" : {
+          "$ref" : "#/definitions/CompactionStats"
         },
-        "waitingPublishers" : {
-          "type" : "integer",
-          "format" : "int32"
+        "msgThroughputIn" : {
+          "type" : "number",
+          "format" : "double"
         },
         "replication" : {
           "type" : "object",
@@ -25189,9 +25550,6 @@
             "$ref" : "#/definitions/ReplicatorStats"
           }
         },
-        "deduplicationStatus" : {
-          "type" : "string"
-        },
         "topicEpoch" : {
           "type" : "integer",
           "format" : "int64"
@@ -25200,12 +25558,15 @@
           "type" : "integer",
           "format" : "int32"
         },
-        "nonContiguousDeletedMessagesRangesSerializedSize" : {
-          "type" : "integer",
-          "format" : "int32"
+        "msgRateIn" : {
+          "type" : "number",
+          "format" : "double"
         },
-        "compaction" : {
-          "$ref" : "#/definitions/CompactionStats"
+        "subscriptions" : {
+          "type" : "object",
+          "additionalProperties" : {
+            "$ref" : "#/definitions/SubscriptionStats"
+          }
         }
       }
     },
@@ -25376,6 +25737,9 @@
           "type" : "integer",
           "format" : "int32"
... 3653 lines suppressed ...