You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by ur...@apache.org on 2022/04/12 12:04:41 UTC

[pulsar-site] branch main updated: Docs sync done from apache/pulsar(#46baae6)

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

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


The following commit(s) were added to refs/heads/main by this push:
     new 5b4c08cb45 Docs sync done from apache/pulsar(#46baae6)
5b4c08cb45 is described below

commit 5b4c08cb457a59ae88d0716e4faccbac52137229
Author: Pulsar Site Updater <de...@pulsar.apache.org>
AuthorDate: Tue Apr 12 12:04:36 2022 +0000

    Docs sync done from apache/pulsar(#46baae6)
---
 site2/docs/administration-pulsar-manager.md        |    2 +-
 site2/docs/concepts-messaging.md                   |    2 +-
 site2/docs/cookbooks-tiered-storage.md             |    2 +-
 site2/docs/reference-pulsar-admin.md               |    2 +-
 site2/docs/tiered-storage-aws.md                   |    2 +-
 .../docs/administration-pulsar-manager.md          |    2 +-
 site2/website-next/docs/concepts-messaging.md      |    2 +-
 .../website-next/docs/cookbooks-tiered-storage.md  |    2 +-
 site2/website-next/docs/reference-pulsar-admin.md  |    2 +-
 site2/website-next/docs/tiered-storage-aws.md      |    2 +-
 .../cookbooks-tiered-storage.md                    |    2 +-
 .../version-2.1.0-incubating/pulsar-admin.md       | 2201 ++++++++++++++++----
 .../reference-pulsar-admin.md}                     |    4 +-
 .../version-2.1.1-incubating/concepts-messaging.md |    2 +-
 .../cookbooks-tiered-storage.md                    |    2 +-
 .../version-2.1.1-incubating/pulsar-admin.md       | 2201 ++++++++++++++++----
 .../{pulsar-admin.md => reference-pulsar-admin.md} |    4 +-
 .../version-2.2.0/concepts-messaging.md            |    2 +-
 .../version-2.2.0/cookbooks-tiered-storage.md      |    2 +-
 .../versioned_docs/version-2.2.0/pulsar-admin.md   | 2005 ++++++++++++++----
 .../{pulsar-admin.md => reference-pulsar-admin.md} |    4 +-
 .../version-2.2.1/concepts-messaging.md            |    2 +-
 .../version-2.2.1/cookbooks-tiered-storage.md      |    2 +-
 .../versioned_docs/version-2.2.1/pulsar-admin.md   | 2005 ++++++++++++++----
 .../{pulsar-admin.md => reference-pulsar-admin.md} |    4 +-
 .../version-2.3.0/cookbooks-tiered-storage.md      |    2 +-
 .../versioned_docs/version-2.3.0/pulsar-admin.md   | 1483 +++++++++----
 .../{pulsar-admin.md => reference-pulsar-admin.md} |    4 +-
 .../version-2.3.1/cookbooks-tiered-storage.md      |    2 +-
 .../versioned_docs/version-2.3.1/pulsar-admin.md   | 1424 +++++++++----
 .../{pulsar-admin.md => reference-pulsar-admin.md} |    4 +-
 .../version-2.3.2/cookbooks-tiered-storage.md      |    2 +-
 .../versioned_docs/version-2.3.2/pulsar-admin.md   | 1413 +++++++------
 .../{pulsar-admin.md => reference-pulsar-admin.md} |    4 +-
 .../version-2.4.0/cookbooks-tiered-storage.md      |    2 +-
 .../versioned_docs/version-2.4.0/pulsar-admin.md   | 1411 +++++++------
 .../{pulsar-admin.md => reference-pulsar-admin.md} |    4 +-
 .../version-2.4.1/cookbooks-tiered-storage.md      |    2 +-
 .../versioned_docs/version-2.4.1/pulsar-admin.md   |  902 +++++++-
 .../{pulsar-admin.md => reference-pulsar-admin.md} |    4 +-
 .../version-2.4.2/cookbooks-tiered-storage.md      |    2 +-
 .../versioned_docs/version-2.4.2/pulsar-admin.md   |  902 +++++++-
 .../{pulsar-admin.md => reference-pulsar-admin.md} |    4 +-
 .../version-2.5.0/administration-pulsar-manager.md |    2 +-
 .../version-2.5.0/cookbooks-tiered-storage.md      |    2 +-
 .../versioned_docs/version-2.5.0/pulsar-admin.md   |  659 +++++-
 .../{pulsar-admin.md => reference-pulsar-admin.md} |    4 +-
 .../version-2.5.1/administration-pulsar-manager.md |    2 +-
 .../version-2.5.1/cookbooks-tiered-storage.md      |    2 +-
 .../versioned_docs/version-2.5.1/pulsar-admin.md   |  469 ++++-
 .../{pulsar-admin.md => reference-pulsar-admin.md} |    4 +-
 .../version-2.5.2/administration-pulsar-manager.md |    2 +-
 .../version-2.5.2/cookbooks-tiered-storage.md      |    2 +-
 .../versioned_docs/version-2.5.2/pulsar-admin.md   |  467 ++++-
 .../{pulsar-admin.md => reference-pulsar-admin.md} |    4 +-
 .../version-2.6.0/administration-pulsar-manager.md |    2 +-
 .../version-2.6.0/cookbooks-tiered-storage.md      |    2 +-
 .../versioned_docs/version-2.6.0/pulsar-admin.md   |  480 ++++-
 .../{pulsar-admin.md => reference-pulsar-admin.md} |    4 +-
 .../version-2.6.1/administration-pulsar-manager.md |    2 +-
 .../version-2.6.1/cookbooks-tiered-storage.md      |    2 +-
 .../versioned_docs/version-2.6.1/pulsar-admin.md   |  478 ++++-
 .../{pulsar-admin.md => reference-pulsar-admin.md} |    4 +-
 .../version-2.6.2/administration-pulsar-manager.md |    2 +-
 .../version-2.6.2/cookbooks-tiered-storage.md      |    2 +-
 .../versioned_docs/version-2.6.2/pulsar-admin.md   |  466 ++++-
 .../{pulsar-admin.md => reference-pulsar-admin.md} |    4 +-
 .../version-2.6.3/administration-pulsar-manager.md |    2 +-
 .../version-2.6.3/cookbooks-tiered-storage.md      |    2 +-
 .../versioned_docs/version-2.6.3/pulsar-admin.md   |  466 ++++-
 .../reference-pulsar-admin.md}                     |    4 +-
 .../version-2.6.4/administration-pulsar-manager.md |    2 +-
 .../version-2.6.4/cookbooks-tiered-storage.md      |    2 +-
 .../version-2.6.4/reference-pulsar-admin.md        |    4 +-
 .../version-2.7.0/administration-pulsar-manager.md |    2 +-
 .../version-2.7.0/concepts-messaging.md            |    2 +-
 .../version-2.7.0/cookbooks-tiered-storage.md      |    2 +-
 .../versioned_docs/version-2.7.0/pulsar-admin.md   |  608 ++----
 .../{pulsar-admin.md => reference-pulsar-admin.md} |    4 +-
 .../version-2.7.0/tiered-storage-aws.md            |    2 +-
 .../version-2.7.1/administration-pulsar-manager.md |    2 +-
 .../version-2.7.1/concepts-messaging.md            |    2 +-
 .../version-2.7.1/cookbooks-tiered-storage.md      |    2 +-
 .../version-2.7.1/reference-pulsar-admin.md        |    4 +-
 .../version-2.7.1/tiered-storage-aws.md            |    2 +-
 .../version-2.7.2/administration-pulsar-manager.md |    2 +-
 .../version-2.7.2/concepts-messaging.md            |    2 +-
 .../version-2.7.2/cookbooks-tiered-storage.md      |    2 +-
 .../version-2.7.2/reference-pulsar-admin.md        |    4 +-
 .../version-2.7.2/tiered-storage-aws.md            |    2 +-
 .../version-2.7.3/administration-pulsar-manager.md |    2 +-
 .../version-2.7.3/concepts-messaging.md            |    2 +-
 .../version-2.7.3/cookbooks-tiered-storage.md      |    2 +-
 .../version-2.7.3/reference-pulsar-admin.md        |    4 +-
 .../version-2.7.3/tiered-storage-aws.md            |    2 +-
 .../version-2.7.4/administration-pulsar-manager.md |    2 +-
 .../version-2.7.4/concepts-messaging.md            |    2 +-
 .../version-2.7.4/cookbooks-tiered-storage.md      |    2 +-
 .../version-2.7.4/reference-pulsar-admin.md        |    4 +-
 .../version-2.7.4/tiered-storage-aws.md            |    2 +-
 .../version-2.8.0/administration-pulsar-manager.md |    2 +-
 .../version-2.8.0/concepts-messaging.md            |    2 +-
 .../version-2.8.0/cookbooks-tiered-storage.md      |    2 +-
 .../version-2.8.0/reference-pulsar-admin.md        |    4 +-
 .../version-2.8.0/tiered-storage-aws.md            |    2 +-
 .../version-2.8.1/administration-pulsar-manager.md |    2 +-
 .../version-2.8.1/concepts-messaging.md            |    2 +-
 .../version-2.8.1/cookbooks-tiered-storage.md      |    2 +-
 .../version-2.8.1/reference-pulsar-admin.md        |    4 +-
 .../version-2.8.1/tiered-storage-aws.md            |    2 +-
 .../version-2.8.2/administration-pulsar-manager.md |    2 +-
 .../version-2.8.2/concepts-messaging.md            |    2 +-
 .../version-2.8.2/cookbooks-tiered-storage.md      |    2 +-
 .../version-2.8.2/reference-pulsar-admin.md        |    4 +-
 .../version-2.8.2/tiered-storage-aws.md            |    2 +-
 .../version-2.8.3/administration-pulsar-manager.md |    2 +-
 .../version-2.8.3/concepts-messaging.md            |    2 +-
 .../version-2.8.3/reference-pulsar-admin.md        |    4 +-
 .../version-2.9.0/administration-pulsar-manager.md |    2 +-
 .../version-2.9.0/cookbooks-tiered-storage.md      |    2 +-
 .../version-2.9.0/reference-pulsar-admin.md        |    4 +-
 .../version-2.9.0/tiered-storage-aws.md            |    2 +-
 .../version-2.9.1/administration-pulsar-manager.md |    2 +-
 .../version-2.9.1/cookbooks-tiered-storage.md      |    2 +-
 .../version-2.9.1/reference-pulsar-admin.md        |    4 +-
 .../version-2.9.1/tiered-storage-aws.md            |    2 +-
 .../version-2.9.2/administration-pulsar-manager.md |    2 +-
 .../version-2.9.2/reference-pulsar-admin.md        |    4 +-
 .../cookbooks-tiered-storage.md                    |    2 +-
 .../reference-pulsar-admin.md                      |    4 +-
 .../cookbooks-tiered-storage.md                    |    2 +-
 .../reference-pulsar-admin.md                      |    4 +-
 .../version-2.2.0/cookbooks-tiered-storage.md      |    2 +-
 .../version-2.2.0/reference-pulsar-admin.md        |    4 +-
 .../version-2.2.1/reference-pulsar-admin.md        |    4 +-
 .../version-2.3.0/reference-pulsar-admin.md        |    4 +-
 .../version-2.3.1/reference-pulsar-admin.md        |    4 +-
 .../version-2.3.2/reference-pulsar-admin.md        |    4 +-
 .../version-2.4.0/cookbooks-tiered-storage.md      |    2 +-
 .../version-2.4.0/reference-pulsar-admin.md        |    4 +-
 .../version-2.4.1/reference-pulsar-admin.md        |    4 +-
 .../version-2.4.2/reference-pulsar-admin.md        |    4 +-
 .../version-2.5.0/administration-pulsar-manager.md |    2 +-
 .../version-2.5.0/cookbooks-tiered-storage.md      |    2 +-
 .../version-2.5.0/reference-pulsar-admin.md        |    4 +-
 .../version-2.5.1/reference-pulsar-admin.md        |    4 +-
 .../version-2.5.2/reference-pulsar-admin.md        |    4 +-
 .../version-2.6.0/administration-pulsar-manager.md |    2 +-
 .../version-2.6.0/cookbooks-tiered-storage.md      |    2 +-
 .../version-2.6.0/reference-pulsar-admin.md        |    4 +-
 .../version-2.6.1/administration-pulsar-manager.md |    2 +-
 .../version-2.6.1/cookbooks-tiered-storage.md      |    2 +-
 .../version-2.6.1/reference-pulsar-admin.md        |    4 +-
 .../version-2.6.2/administration-pulsar-manager.md |    2 +-
 .../version-2.6.2/cookbooks-tiered-storage.md      |    2 +-
 .../version-2.6.2/reference-pulsar-admin.md        |    4 +-
 .../version-2.6.3/administration-pulsar-manager.md |    2 +-
 .../version-2.6.3/cookbooks-tiered-storage.md      |    2 +-
 .../version-2.6.3/reference-pulsar-admin.md        |    4 +-
 .../version-2.6.4/administration-pulsar-manager.md |    2 +-
 .../version-2.6.4/cookbooks-tiered-storage.md      |    2 +-
 .../version-2.6.4/reference-pulsar-admin.md        |    4 +-
 .../version-2.7.0/administration-pulsar-manager.md |    2 +-
 .../version-2.7.0/concepts-messaging.md            |    2 +-
 .../version-2.7.0/cookbooks-tiered-storage.md      |    2 +-
 .../version-2.7.0/reference-pulsar-admin.md        |    4 +-
 .../version-2.7.0/tiered-storage-aws.md            |    2 +-
 .../version-2.7.1/administration-pulsar-manager.md |    2 +-
 .../version-2.7.1/concepts-messaging.md            |    2 +-
 .../version-2.7.1/cookbooks-tiered-storage.md      |    2 +-
 .../version-2.7.1/reference-pulsar-admin.md        |    4 +-
 .../version-2.7.1/tiered-storage-aws.md            |    2 +-
 .../version-2.7.2/administration-pulsar-manager.md |    2 +-
 .../version-2.7.2/concepts-messaging.md            |    2 +-
 .../version-2.7.2/cookbooks-tiered-storage.md      |    2 +-
 .../version-2.7.2/reference-pulsar-admin.md        |    4 +-
 .../version-2.7.2/tiered-storage-aws.md            |    2 +-
 .../version-2.7.3/administration-pulsar-manager.md |    2 +-
 .../version-2.7.3/concepts-messaging.md            |    2 +-
 .../version-2.7.3/cookbooks-tiered-storage.md      |    2 +-
 .../version-2.7.3/reference-pulsar-admin.md        |    4 +-
 .../version-2.7.3/tiered-storage-aws.md            |    2 +-
 .../version-2.7.4/administration-pulsar-manager.md |    2 +-
 .../version-2.7.4/concepts-messaging.md            |    2 +-
 .../version-2.7.4/cookbooks-tiered-storage.md      |    2 +-
 .../version-2.7.4/reference-pulsar-admin.md        |    4 +-
 .../version-2.7.4/tiered-storage-aws.md            |    2 +-
 .../version-2.8.0/administration-pulsar-manager.md |    2 +-
 .../version-2.8.0/concepts-messaging.md            |    2 +-
 .../version-2.8.0/cookbooks-tiered-storage.md      |    2 +-
 .../version-2.8.0/reference-pulsar-admin.md        |    4 +-
 .../version-2.8.0/tiered-storage-aws.md            |    2 +-
 .../version-2.8.1/administration-pulsar-manager.md |    2 +-
 .../version-2.8.1/concepts-messaging.md            |    2 +-
 .../version-2.8.1/cookbooks-tiered-storage.md      |    2 +-
 .../version-2.8.1/reference-pulsar-admin.md        |    4 +-
 .../version-2.8.1/tiered-storage-aws.md            |    2 +-
 .../version-2.8.2/administration-pulsar-manager.md |    2 +-
 .../version-2.8.2/concepts-messaging.md            |    2 +-
 .../version-2.8.2/cookbooks-tiered-storage.md      |    2 +-
 .../version-2.8.2/reference-pulsar-admin.md        |    4 +-
 .../version-2.8.2/tiered-storage-aws.md            |    2 +-
 .../version-2.8.3/administration-pulsar-manager.md |    2 +-
 .../version-2.8.3/concepts-messaging.md            |    2 +-
 .../version-2.8.3/reference-pulsar-admin.md        |    4 +-
 .../version-2.9.0/administration-pulsar-manager.md |    2 +-
 .../version-2.9.0/cookbooks-tiered-storage.md      |    2 +-
 .../version-2.9.0/reference-pulsar-admin.md        |    4 +-
 .../version-2.9.0/tiered-storage-aws.md            |    2 +-
 .../version-2.9.1/administration-pulsar-manager.md |    2 +-
 .../version-2.9.1/cookbooks-tiered-storage.md      |    2 +-
 .../version-2.9.1/reference-pulsar-admin.md        |    4 +-
 .../version-2.9.1/tiered-storage-aws.md            |    2 +-
 .../version-2.9.2/administration-pulsar-manager.md |    2 +-
 .../version-2.9.2/reference-pulsar-admin.md        |    4 +-
 215 files changed, 15553 insertions(+), 5001 deletions(-)

diff --git a/site2/docs/administration-pulsar-manager.md b/site2/docs/administration-pulsar-manager.md
index dfe087243e..d6171d0c5b 100644
--- a/site2/docs/administration-pulsar-manager.md
+++ b/site2/docs/administration-pulsar-manager.md
@@ -7,7 +7,7 @@ sidebar_label: Pulsar Manager
 Pulsar Manager is a web-based GUI management and monitoring tool that helps administrators and users manage and monitor tenants, namespaces, topics, subscriptions, brokers, clusters, and so on, and supports dynamic configuration of multiple environments.
 
 > **Note**   
-> If you are monitoring your current stats with [Pulsar dashboard](administration-dashboard.md), we recommend you use Pulsar Manager instead. Pulsar dashboard is deprecated.
+> If you are monitoring your current stats with Pulsar dashboard, we recommend you use Pulsar Manager instead. Pulsar dashboard is deprecated.
 
 ## Install
 
diff --git a/site2/docs/concepts-messaging.md b/site2/docs/concepts-messaging.md
index 1af731d1d0..f33af5545f 100644
--- a/site2/docs/concepts-messaging.md
+++ b/site2/docs/concepts-messaging.md
@@ -559,7 +559,7 @@ Subscription mode | Description | Note
 `Durable`|The cursor is durable, which retains messages and persists the current position. <br />If a broker restarts from a failure, it can recover the cursor from the persistent storage (BookKeeper), so that messages can continue to be consumed from the last consumed position.|`Durable` is the **default** subscription mode.
 `NonDurable`|The cursor is non-durable. <br />Once a broker stops, the cursor is lost and can never be recovered, so that messages **can not** continue to be consumed from the last consumed position.|Reader’s subscription mode is `NonDurable` in nature and it does not prevent data in a topic from being deleted. Reader’s subscription mode **can not** be changed. 
 
-A [subscription](#concepts-messaging.md/#subscriptions) can have one or more consumers. When a consumer subscribes to a topic, it must specify the subscription name. A durable subscription and a non-durable subscription can have the same name, they are independent of each other. If a consumer specifies a subscription which does not exist before, the subscription is automatically created.
+A [subscription](#subscriptions) can have one or more consumers. When a consumer subscribes to a topic, it must specify the subscription name. A durable subscription and a non-durable subscription can have the same name, they are independent of each other. If a consumer specifies a subscription which does not exist before, the subscription is automatically created.
 
 #### When to use
 
diff --git a/site2/docs/cookbooks-tiered-storage.md b/site2/docs/cookbooks-tiered-storage.md
index 731a7cb93d..8b291286f7 100644
--- a/site2/docs/cookbooks-tiered-storage.md
+++ b/site2/docs/cookbooks-tiered-storage.md
@@ -106,7 +106,7 @@ export AWS_SECRET_ACCESS_KEY=ded7db27a4558e2ea8bbf0bf37ae0e8521618f366c
 3. Add the Java system properties *aws.accessKeyId* and *aws.secretKey* to **PULSAR_EXTRA_OPTS** in `conf/pulsar_env.sh`.
 
 ```bash
-PULSAR_EXTRA_OPTS="${PULSAR_EXTRA_OPTS} ${PULSAR_MEM} ${PULSAR_GC} -Daws.accessKeyId=ABC123456789 -Daws.secretKey=ded7db27a4558e2ea8bbf0bf37ae0e8521618f366c -Dio.netty.leakDetectionLevel=disabled -Dio.netty.recycler.maxCapacity.default=1000 -Dio.netty.recycler.linkCapacity=1024"
+PULSAR_EXTRA_OPTS="${PULSAR_EXTRA_OPTS} ${PULSAR_MEM} ${PULSAR_GC} -Daws.accessKeyId=ABC123456789 -Daws.secretKey=ded7db27a4558e2ea8bbf0bf37ae0e8521618f366c -Dio.netty.leakDetectionLevel=disabled -Dio.netty.recycler.maxCapacityPerThread=4096"
 ```
 
 4. Set the access credentials in ```~/.aws/credentials```.
diff --git a/site2/docs/reference-pulsar-admin.md b/site2/docs/reference-pulsar-admin.md
index e9860d4790..f0ec2f7f03 100644
--- a/site2/docs/reference-pulsar-admin.md
+++ b/site2/docs/reference-pulsar-admin.md
@@ -1,5 +1,5 @@
 ---
-id: pulsar-admin
+id: reference-pulsar-admin
 title: Pulsar admin CLI
 sidebar_label: Pulsar Admin CLI
 ---
diff --git a/site2/docs/tiered-storage-aws.md b/site2/docs/tiered-storage-aws.md
index addccba41c..640c104464 100644
--- a/site2/docs/tiered-storage-aws.md
+++ b/site2/docs/tiered-storage-aws.md
@@ -144,7 +144,7 @@ Once you have created a set of credentials in the AWS IAM console, you can confi
 * Add the Java system properties `aws.accessKeyId` and `aws.secretKey` to `PULSAR_EXTRA_OPTS` in `conf/pulsar_env.sh`.
 
     ```bash
-    PULSAR_EXTRA_OPTS="${PULSAR_EXTRA_OPTS} ${PULSAR_MEM} ${PULSAR_GC} -Daws.accessKeyId=ABC123456789 -Daws.secretKey=ded7db27a4558e2ea8bbf0bf37ae0e8521618f366c -Dio.netty.leakDetectionLevel=disabled -Dio.netty.recycler.maxCapacity.default=1000 -Dio.netty.recycler.linkCapacity=1024"
+    PULSAR_EXTRA_OPTS="${PULSAR_EXTRA_OPTS} ${PULSAR_MEM} ${PULSAR_GC} -Daws.accessKeyId=ABC123456789 -Daws.secretKey=ded7db27a4558e2ea8bbf0bf37ae0e8521618f366c -Dio.netty.leakDetectionLevel=disabled -Dio.netty.recycler.maxCapacityPerThread=4096"
     ```
 
 * Set the access credentials in `~/.aws/credentials`.
diff --git a/site2/website-next/docs/administration-pulsar-manager.md b/site2/website-next/docs/administration-pulsar-manager.md
index 3e9aeba698..545a9ad677 100644
--- a/site2/website-next/docs/administration-pulsar-manager.md
+++ b/site2/website-next/docs/administration-pulsar-manager.md
@@ -8,7 +8,7 @@ Pulsar Manager is a web-based GUI management and monitoring tool that helps admi
 
 :::note
 
-If you are monitoring your current stats with [Pulsar dashboard](administration-dashboard), we recommend you use Pulsar Manager instead. Pulsar dashboard is deprecated.
+If you are monitoring your current stats with Pulsar dashboard, we recommend you use Pulsar Manager instead. Pulsar dashboard is deprecated.
 
 :::
 
diff --git a/site2/website-next/docs/concepts-messaging.md b/site2/website-next/docs/concepts-messaging.md
index 1e088ef37e..22da8a3223 100644
--- a/site2/website-next/docs/concepts-messaging.md
+++ b/site2/website-next/docs/concepts-messaging.md
@@ -652,7 +652,7 @@ Subscription mode | Description | Note
 `Durable`|The cursor is durable, which retains messages and persists the current position. <br />If a broker restarts from a failure, it can recover the cursor from the persistent storage (BookKeeper), so that messages can continue to be consumed from the last consumed position.|`Durable` is the **default** subscription mode.
 `NonDurable`|The cursor is non-durable. <br />Once a broker stops, the cursor is lost and can never be recovered, so that messages **can not** continue to be consumed from the last consumed position.|Reader’s subscription mode is `NonDurable` in nature and it does not prevent data in a topic from being deleted. Reader’s subscription mode **can not** be changed. 
 
-A [subscription](#concepts-messaging.md/#subscriptions) can have one or more consumers. When a consumer subscribes to a topic, it must specify the subscription name. A durable subscription and a non-durable subscription can have the same name, they are independent of each other. If a consumer specifies a subscription which does not exist before, the subscription is automatically created.
+A [subscription](#subscriptions) can have one or more consumers. When a consumer subscribes to a topic, it must specify the subscription name. A durable subscription and a non-durable subscription can have the same name, they are independent of each other. If a consumer specifies a subscription which does not exist before, the subscription is automatically created.
 
 #### When to use
 
diff --git a/site2/website-next/docs/cookbooks-tiered-storage.md b/site2/website-next/docs/cookbooks-tiered-storage.md
index f2ea50d636..ea714d8131 100644
--- a/site2/website-next/docs/cookbooks-tiered-storage.md
+++ b/site2/website-next/docs/cookbooks-tiered-storage.md
@@ -111,7 +111,7 @@ export AWS_SECRET_ACCESS_KEY=ded7db27a4558e2ea8bbf0bf37ae0e8521618f366c
 
 ```bash
 
-PULSAR_EXTRA_OPTS="${PULSAR_EXTRA_OPTS} ${PULSAR_MEM} ${PULSAR_GC} -Daws.accessKeyId=ABC123456789 -Daws.secretKey=ded7db27a4558e2ea8bbf0bf37ae0e8521618f366c -Dio.netty.leakDetectionLevel=disabled -Dio.netty.recycler.maxCapacity.default=1000 -Dio.netty.recycler.linkCapacity=1024"
+PULSAR_EXTRA_OPTS="${PULSAR_EXTRA_OPTS} ${PULSAR_MEM} ${PULSAR_GC} -Daws.accessKeyId=ABC123456789 -Daws.secretKey=ded7db27a4558e2ea8bbf0bf37ae0e8521618f366c -Dio.netty.leakDetectionLevel=disabled -Dio.netty.recycler.maxCapacityPerThread=4096"
 
 ```
 
diff --git a/site2/website-next/docs/reference-pulsar-admin.md b/site2/website-next/docs/reference-pulsar-admin.md
index 9b2af54c1d..c74ba9cb4d 100644
--- a/site2/website-next/docs/reference-pulsar-admin.md
+++ b/site2/website-next/docs/reference-pulsar-admin.md
@@ -1,5 +1,5 @@
 ---
-id: pulsar-admin
+id: reference-pulsar-admin
 title: Pulsar admin CLI
 sidebar_label: "Pulsar Admin CLI"
 ---
diff --git a/site2/website-next/docs/tiered-storage-aws.md b/site2/website-next/docs/tiered-storage-aws.md
index d48023e422..d7442fc13f 100644
--- a/site2/website-next/docs/tiered-storage-aws.md
+++ b/site2/website-next/docs/tiered-storage-aws.md
@@ -164,7 +164,7 @@ Once you have created a set of credentials in the AWS IAM console, you can confi
 
   ```bash
   
-  PULSAR_EXTRA_OPTS="${PULSAR_EXTRA_OPTS} ${PULSAR_MEM} ${PULSAR_GC} -Daws.accessKeyId=ABC123456789 -Daws.secretKey=ded7db27a4558e2ea8bbf0bf37ae0e8521618f366c -Dio.netty.leakDetectionLevel=disabled -Dio.netty.recycler.maxCapacity.default=1000 -Dio.netty.recycler.linkCapacity=1024"
+  PULSAR_EXTRA_OPTS="${PULSAR_EXTRA_OPTS} ${PULSAR_MEM} ${PULSAR_GC} -Daws.accessKeyId=ABC123456789 -Daws.secretKey=ded7db27a4558e2ea8bbf0bf37ae0e8521618f366c -Dio.netty.leakDetectionLevel=disabled -Dio.netty.recycler.maxCapacityPerThread=4096"
   
   ```
 
diff --git a/site2/website-next/versioned_docs/version-2.1.0-incubating/cookbooks-tiered-storage.md b/site2/website-next/versioned_docs/version-2.1.0-incubating/cookbooks-tiered-storage.md
index f525250d7e..328b7c6d64 100644
--- a/site2/website-next/versioned_docs/version-2.1.0-incubating/cookbooks-tiered-storage.md
+++ b/site2/website-next/versioned_docs/version-2.1.0-incubating/cookbooks-tiered-storage.md
@@ -78,7 +78,7 @@ export AWS_SECRET_ACCESS_KEY=ded7db27a4558e2ea8bbf0bf37ae0e8521618f366c
 
 ```bash
 
-PULSAR_EXTRA_OPTS="${PULSAR_EXTRA_OPTS} ${PULSAR_MEM} ${PULSAR_GC} -Daws.accessKeyId=ABC123456789 -Daws.secretKey=ded7db27a4558e2ea8bbf0bf37ae0e8521618f366c -Dio.netty.leakDetectionLevel=disabled -Dio.netty.recycler.maxCapacity.default=1000 -Dio.netty.recycler.linkCapacity=1024"
+PULSAR_EXTRA_OPTS="${PULSAR_EXTRA_OPTS} ${PULSAR_MEM} ${PULSAR_GC} -Daws.accessKeyId=ABC123456789 -Daws.secretKey=ded7db27a4558e2ea8bbf0bf37ae0e8521618f366c -Dio.netty.leakDetectionLevel=disabled -Dio.netty.recycler.maxCapacityPerThread=4096"
 
 ```
 
diff --git a/site2/website-next/versioned_docs/version-2.1.0-incubating/pulsar-admin.md b/site2/website-next/versioned_docs/version-2.1.0-incubating/pulsar-admin.md
index ef2350b9bf..ff0c575b31 100644
--- a/site2/website-next/versioned_docs/version-2.1.0-incubating/pulsar-admin.md
+++ b/site2/website-next/versioned_docs/version-2.1.0-incubating/pulsar-admin.md
@@ -5,6 +5,10 @@ sidebar_label: "Pulsar Admin CLI"
 original_id: pulsar-admin
 ---
 
+> **Important**
+>
+> This page is deprecated and not updated anymore. For the latest and complete information about `Pulsar admin`, including commands, flags, descriptions, and more, see [Pulsar admin doc](https://pulsar.apache.org/tools/pulsar-admin/)
+
 The `pulsar-admin` tool enables you to manage Pulsar installations, including clusters, brokers, namespaces, tenants, and more.
 
 Usage
@@ -20,10 +24,15 @@ Commands
 * `brokers`
 * `clusters`
 * `functions`
+* `functions-worker`
 * `namespaces`
 * `ns-isolation-policy`
-* `sink`
-* `source`
+* `sources`
+
+  For more information, see [here](io-cli.md#sources)
+* `sinks`
+  
+  For more information, see [here](io-cli.md#sinks)
 * `topics`
 * `tenants`
 * `resource-quotas`
@@ -41,10 +50,10 @@ $ pulsar-admin broker-stats subcommand
 
 Subcommands
 * `allocator-stats`
-* `destinations`
+* `topics(destinations)`
 * `mbeans`
 * `monitoring-metrics`
-* `topics`
+* `load-report`
 
 
 ### `allocator-stats`
@@ -59,7 +68,7 @@ $ pulsar-admin broker-stats allocator-stats allocator-name
 
 ```
 
-### `destinations`
+### `topics(destinations)`
 
 Dump topic stats
 
@@ -67,7 +76,7 @@ Usage
 
 ```bash
 
-$ pulsar-admin broker-stats destinations options
+$ pulsar-admin broker-stats topics options
 
 ```
 
@@ -115,25 +124,18 @@ Options
 |`-i`, `--indent`|Indent JSON output|false|
 
 
-### `topics`
+### `load-report`
 
-Dump topic stats
+Dump broker load-report
 
 Usage
 
 ```bash
 
-$ pulsar-admin broker-stats topics options
+$ pulsar-admin broker-stats load-report
 
 ```
 
-Options
-
-|Flag|Description|Default|
-|---|---|---|
-|`-i`, `--indent`|Indent JSON output|false|
-
-
 ## `brokers`
 
 Operations about brokers
@@ -151,6 +153,8 @@ Subcommands
 * `list-dynamic-config`
 * `get-all-dynamic-config`
 * `get-internal-config`
+* `get-runtime-config`
+* `healthcheck`
 
 ### `list`
 List active brokers of the cluster
@@ -163,6 +167,17 @@ $ pulsar-admin brokers list cluster-name
 
 ```
 
+### `leader-broker`
+Get the information of the leader broker
+
+Usage
+
+```bash
+
+$ pulsar-admin brokers leader-broker
+
+```
+
 ### `namespaces`
 List namespaces owned by the broker
 
@@ -211,6 +226,24 @@ $ pulsar-admin brokers list-dynamic-config
 
 ```
 
+### `delete-dynamic-config`
+Delete dynamic-serviceConfiguration of broker
+
+Usage
+
+```bash
+
+$ pulsar-admin brokers delete-dynamic-config options
+
+```
+
+Options
+
+|Flag|Description|Default|
+|---|---|---|
+|`--config`|Service configuration parameter name||
+
+
 ### `get-all-dynamic-config`
 Get all overridden dynamic-configuration values
 
@@ -233,6 +266,28 @@ $ pulsar-admin brokers get-internal-config
 
 ```
 
+### `get-runtime-config`
+Get runtime configuration values
+
+Usage
+
+```bash
+
+$ pulsar-admin brokers get-runtime-config
+
+```
+
+### `healthcheck`
+Run a health check against the broker
+
+Usage
+
+```bash
+
+$ pulsar-admin brokers healthcheck
+
+```
+
 ## `clusters`
 Operations about clusters
 
@@ -251,6 +306,12 @@ Subcommands
 * `delete`
 * `list`
 * `update-peer-clusters`
+* `get-peer-clusters`
+* `get-failure-domain`
+* `create-failure-domain`
+* `update-failure-domain`
+* `delete-failure-domain`
+* `list-failure-domains`
 
 
 ### `get`
@@ -335,7 +396,105 @@ Usage
 
 ```bash
 
-$ pulsar-admin clusters update-peer-clusters peer-cluster-names
+$ pulsar-admin clusters update-peer-clusters cluster-name options
+
+```
+
+Options
+
+|Flag|Description|Default|
+|---|---|---|
+|`--peer-clusters`|Comma separated peer cluster names (Pass empty string "" to delete list)||
+
+### `get-peer-clusters`
+Get list of peer clusters
+
+Usage
+
+```bash
+
+$ pulsar-admin clusters get-peer-clusters
+
+```
+
+### `get-failure-domain`
+Get the configuration brokers of a failure domain
+
+Usage
+
+```bash
+
+$ pulsar-admin clusters get-failure-domain cluster-name options
+
+```
+
+Options
+
+|Flag|Description|Default|
+|---|---|---|
+|`--domain-name`|The failure domain name, which is a logical domain under a Pulsar cluster||
+
+### `create-failure-domain`
+Create a new failure domain for a cluster (updates it if already created)
+
+Usage
+
+```bash
+
+$ pulsar-admin clusters create-failure-domain cluster-name options
+
+```
+
+Options
+
+|Flag|Description|Default|
+|---|---|---|
+|`--broker-list`|Comma separated broker list||
+|`--domain-name`|The failure domain name, which is a logical domain under a Pulsar cluster||
+
+### `update-failure-domain`
+Update failure domain for a cluster (creates a new one if not exist)
+
+Usage
+
+```bash
+
+$ pulsar-admin clusters update-failure-domain cluster-name options
+
+```
+
+Options
+
+|Flag|Description|Default|
+|---|---|---|
+|`--broker-list`|Comma separated broker list||
+|`--domain-name`|The failure domain name, which is a logical domain under a Pulsar cluster||
+
+### `delete-failure-domain`
+Delete an existing failure domain
+
+Usage
+
+```bash
+
+$ pulsar-admin clusters delete-failure-domain cluster-name options
+
+```
+
+Options
+
+|Flag|Description|Default|
+|---|---|---|
+|`--domain-name`|The failure domain name, which is a logical domain under a Pulsar cluster||
+
+### `list-failure-domains`
+List the existing failure domains for a cluster
+
+Usage
+
+```bash
+
+$ pulsar-admin clusters list-failure-domains cluster-name
 
 ```
 
@@ -357,14 +516,19 @@ Subcommands
 * `delete`
 * `update`
 * `get`
-* `getstatus`
+* `restart`
+* `stop`
+* `start`
+* `status`
+* `stats`
 * `list`
 * `querystate`
+* `putstate`
 * `trigger`
 
 
 ### `localrun`
-Run a Pulsar Function locally
+Run the Pulsar Function locally (rather than deploying it to the Pulsar cluster)
 
 
 Usage
@@ -379,31 +543,54 @@ Options
 
 |Flag|Description|Default|
 |---|---|---|
-|`--cpu`|The CPU to allocate to each function instance (in number of cores)||
-|`--ram`|The RAM to allocate to each function instance (in bytes)||
-|`--disk`|The disk space to allocate to each function instance (in bytes)||
-|`--brokerServiceUrl `|The URL of the Pulsar broker||
-|`--className`|The name of the function’s class||
-|`--customSerdeInputs`|A map of the input topic to SerDe name||
-|`--functionConfigFile`|The path of the YAML config file used to configure the function||
-|`--inputs`|The input topics for the function (as a comma-separated list if more than one topic is desired)||
-|`--logTopic`|The topic to which logs from this function are published||
-|`--jar`|A path to the JAR file for the function (if the function is written in Java)||
-|`--name`|The name of the function|The value specified by --className|
-|`--namespace`|The function’s namespace||
-|`--output`|The name of the topic to which the function publishes its output (if any)||
-|`--outputSerdeClassName`|The SerDe class used for the function’s output||
+|`--cpu`|The cpu in cores that need to be allocated per function instance(applicable only to docker runtime)||
+|`--ram`|The ram in bytes that need to be allocated per function instance(applicable only to process/docker runtime)||
+|`--disk`|The disk in bytes that need to be allocated per function instance(applicable only to docker runtime)||
+|`--auto-ack`|Whether or not the framework will automatically acknowledge messages||
+|`--subs-name`|Pulsar source subscription name if user wants a specific subscription-name for input-topic consumer||
+|`--broker-service-url `|The URL of the Pulsar broker||
+|`--classname`|The function's class name||
+|`--custom-serde-inputs`|The map of input topics to SerDe class names (as a JSON string)||
+|`--custom-schema-inputs`|The map of input topics to Schema class names (as a JSON string)||
+|`--client-auth-params`|Client authentication param||
+|`--client-auth-plugin`|Client authentication plugin using which function-process can connect to broker||
+|`--function-config-file`|The path to a YAML config file specifying the function's configuration||
+|`--hostname-verification-enabled`|Enable hostname verification|false|
+|`--instance-id-offset`|Start the instanceIds from this offset|0|
+|`--inputs`|The function's input topic or topics (multiple topics can be specified as a comma-separated list)||
+|`--log-topic`|The topic to which the function's logs are produced||
+|`--jar`|Path to the jar file for the function (if the function is written in Java). It also supports URL path [http/https/file (file protocol assumes that file already exists on worker host)/function (package URL from packages management service)] from which worker can download the package.||
+|`--name`|The function's name||
+|`--namespace`|The function's namespace||
+|`--output`|The function's output topic (If none is specified, no output is written)||
+|`--output-serde-classname`|The SerDe class to be used for messages output by the function||
 |`--parallelism`|The function’s parallelism factor, i.e. the number of instances of the function to run|1|
-|`--processingGuarantees`|The processing guarantees applied to the function. Can be one of: ATLEAST_ONCE, ATMOST_ONCE, or EFFECTIVELY_ONCE|ATLEAST_ONCE|
-|`--py`|The path of the Python file containing the function’s processing logic (if the function is written in Python)||
-|`--stateStorageServiceUrl`|The service URL for the function’s state storage (if the function uses a storage system different from the Apache BookKeeper cluster used by Pulsar)||
-|`--subscriptionType`|The subscription type used by the function when consuming messages on the input topic(s). Can be either SHARED or EXCLUSIVE|SHARED|
+|`--processing-guarantees`|The processing guarantees (aka delivery semantics) applied to the function. Possible Values: [ATLEAST_ONCE, ATMOST_ONCE, EFFECTIVELY_ONCE]|ATLEAST_ONCE|
+|`--py`|Path to the main Python file/Python Wheel file for the function (if the function is written in Python). It also supports URL path [http/https/file (file protocol assumes that file already exists on worker host)/function (package URL from packages management service)] from which worker can download the package.||
+|`--go`|Path to the main Go executable binary for the function (if the function is written in Go). It also supports URL path [http/https/file (file protocol assumes that file already exists on worker host)/function (package URL from packages management service)] from which worker can download the package.||
+|`--schema-type`|The builtin schema type or custom schema class name to be used for messages output by the function||
+|`--sliding-interval-count`|The number of messages after which the window slides||
+|`--sliding-interval-duration-ms`|The time duration after which the window slides||
+|`--state-storage-service-url`|The URL for the state storage service. By default, it it set to the service URL of the Apache BookKeeper. This service URL must be added manually when the Pulsar Function runs locally. ||
 |`--tenant`|The function’s tenant||
-|`--userConfig`|A user-supplied config value, set as a key/value pair. You can set multiple user config values.||
+|`--topics-pattern`|The topic pattern to consume from list of topics under a namespace that match the pattern. [--input] and [--topic-pattern] are mutually exclusive. Add SerDe class name for a pattern in --custom-serde-inputs (supported for java fun only)||
+|`--user-config`|User-defined config key/values||
+|`--window-length-count`|The number of messages per window||
+|`--window-length-duration-ms`|The time duration of the window in milliseconds||
+|`--dead-letter-topic`|The topic where all messages which could not be processed successfully are sent||
+|`--fqfn`|The Fully Qualified Function Name (FQFN) for the function||
+|`--max-message-retries`|How many times should we try to process a message before giving up||
+|`--retain-ordering`|Function consumes and processes messages in order||
+|`--retain-key-ordering`|Function consumes and processes messages in key order||
+|`--timeout-ms`|The message timeout in milliseconds||
+|`--tls-allow-insecure`|Allow insecure tls connection|false|
+|`--tls-trust-cert-path`|The tls trust cert file path||
+|`--use-tls`|Use tls connection|false|
+|`--producer-config`| The custom producer configuration (as a JSON string) | |
 
 
 ### `create`
-Creates a new Pulsar Function on the target infrastructure
+Create a Pulsar Function in cluster mode (i.e. deploy it on a Pulsar cluster)
 
 Usage
 
@@ -417,31 +604,45 @@ Options
 
 |Flag|Description|Default|
 |---|---|---|
-|`--cpu`|The CPU to allocate to each function instance (in number of cores)||
-|`--ram`|The RAM to allocate to each function instance (in bytes)||
-|`--disk`|The disk space to allocate to each function instance (in bytes)||
-|`--brokerServiceUrl `|The URL of the Pulsar broker||
-|`--className`|The name of the function’s class||
-|`--customSerdeInputs`|A map of the input topic to SerDe name||
-|`--functionConfigFile`|The path of the YAML config file used to configure the function||
-|`--inputs`|The input topics for the function (as a comma-separated list if more than one topic is desired)||
-|`--logTopic`|The topic to which logs from this function are published||
-|`--jar`|A path to the JAR file for the function (if the function is written in Java)||
-|`--name`|The name of the function|The value specified by --className|
+|`--cpu`|The cpu in cores that need to be allocated per function instance(applicable only to docker runtime)||
+|`--ram`|The ram in bytes that need to be allocated per function instance(applicable only to process/docker runtime)||
+|`--disk`|The disk in bytes that need to be allocated per function instance(applicable only to docker runtime)||
+|`--auto-ack`|Whether or not the framework will automatically acknowledge messages||
+|`--subs-name`|Pulsar source subscription name if user wants a specific subscription-name for input-topic consumer||
+|`--classname`|The function's class name||
+|`--custom-serde-inputs`|The map of input topics to SerDe class names (as a JSON string)||
+|`--custom-schema-inputs`|The map of input topics to Schema class names (as a JSON string)||
+|`--function-config-file`|The path to a YAML config file specifying the function's configuration||
+|`--inputs`|The function's input topic or topics (multiple topics can be specified as a comma-separated list)||
+|`--log-topic`|The topic to which the function's logs are produced||
+|`--jar`|Path to the jar file for the function (if the function is written in Java). It also supports URL path [http/https/file (file protocol assumes that file already exists on worker host)/function (package URL from packages management service)] from which worker can download the package.||
+|`--name`|The function's name||
 |`--namespace`|The function’s namespace||
-|`--output`|The name of the topic to which the function publishes its output (if any)||
-|`--outputSerdeClassName`|The SerDe class used for the function’s output||
+|`--output`|The function's output topic (If none is specified, no output is written)||
+|`--output-serde-classname`|The SerDe class to be used for messages output by the function||
 |`--parallelism`|The function’s parallelism factor, i.e. the number of instances of the function to run|1|
-|`--processingGuarantees`|The processing guarantees applied to the function. Can be one of: ATLEAST_ONCE, ATMOST_ONCE, or EFFECTIVELY_ONCE|ATLEAST_ONCE|
-|`--py`|The path of the Python file containing the function’s processing logic (if the function is written in Python)||
-|`--stateStorageServiceUrl`|The service URL for the function’s state storage (if the function uses a storage system different from the Apache BookKeeper cluster used by Pulsar)||
-|`--subscriptionType`|The subscription type used by the function when consuming messages on the input topic(s). Can be either SHARED or EXCLUSIVE|SHARED|
+|`--processing-guarantees`|The processing guarantees (aka delivery semantics) applied to the function. Possible Values: [ATLEAST_ONCE, ATMOST_ONCE, EFFECTIVELY_ONCE]|ATLEAST_ONCE|
+|`--py`|Path to the main Python file/Python Wheel file for the function (if the function is written in Python). It also supports URL path [http/https/file (file protocol assumes that file already exists on worker host)/function (package URL from packages management service)] from which worker can download the package.||
+|`--go`|Path to the main Go executable binary for the function (if the function is written in Go). It also supports URL path [http/https/file (file protocol assumes that file already exists on worker host)/function (package URL from packages management service)] from which worker can download the package.||
+|`--schema-type`|The builtin schema type or custom schema class name to be used for messages output by the function||
+|`--sliding-interval-count`|The number of messages after which the window slides||
+|`--sliding-interval-duration-ms`|The time duration after which the window slides||
 |`--tenant`|The function’s tenant||
-|`--userConfig`|A user-supplied config value, set as a key/value pair. You can set multiple user config values.||
+|`--topics-pattern`|The topic pattern to consume from list of topics under a namespace that match the pattern. [--input] and [--topic-pattern] are mutually exclusive. Add SerDe class name for a pattern in --custom-serde-inputs (supported for java fun only)||
+|`--user-config`|User-defined config key/values||
+|`--window-length-count`|The number of messages per window||
+|`--window-length-duration-ms`|The time duration of the window in milliseconds||
+|`--dead-letter-topic`|The topic where all messages which could not be processed||
+|`--fqfn`|The Fully Qualified Function Name (FQFN) for the function||
+|`--max-message-retries`|How many times should we try to process a message before giving up||
+|`--retain-ordering`|Function consumes and processes messages in order||
+|`--retain-key-ordering`|Function consumes and processes messages in key order||
+|`--timeout-ms`|The message timeout in milliseconds||
+|`--producer-config`| The custom producer configuration (as a JSON string) | |
 
 
 ### `delete`
-Deletes an existing Pulsar Function
+Delete a Pulsar Function that's running on a Pulsar cluster
 
 Usage
 
@@ -455,13 +656,14 @@ Options
 
 |Flag|Description|Default|
 |---|---|---|
-|`--name`|The name of the function to delete||
-|`--namespace`|The namespace of the function to delete||
-|`--tenant`|The tenant of the function to delete||
+|`--fqfn`|The Fully Qualified Function Name (FQFN) for the function||
+|`--name`|The function's name||
+|`--namespace`|The function's namespace||
+|`--tenant`|The function's tenant||
 
 
 ### `update`
-Updates an existing Pulsar Function
+Update a Pulsar Function that's been deployed to a Pulsar cluster
 
 Usage
 
@@ -475,25 +677,45 @@ Options
 
 |Flag|Description|Default|
 |---|---|---|
-|`--className`|The name of the function’s class||
-|`--customSerdeInputs`|A map of the input topic to SerDe name||
-|`--functionConfigFile`|The path of the YAML config file used to configure the function||
-|`--inputs`|The input topics for the function (as a comma-separated list if more than one topic is desired)||
-|`--logTopic`|The topic to which logs from this function are published||
-|`--jar`|A path to the JAR file for the function (if the function is written in Java)||
-|`--name`|The name of the function|The value specified by --className|
+|`--cpu`|The cpu in cores that need to be allocated per function instance(applicable only to docker runtime)||
+|`--ram`|The ram in bytes that need to be allocated per function instance(applicable only to process/docker runtime)||
+|`--disk`|The disk in bytes that need to be allocated per function instance(applicable only to docker runtime)||
+|`--auto-ack`|Whether or not the framework will automatically acknowledge messages||
+|`--subs-name`|Pulsar source subscription name if user wants a specific subscription-name for input-topic consumer||
+|`--classname`|The function's class name||
+|`--custom-serde-inputs`|The map of input topics to SerDe class names (as a JSON string)||
+|`--custom-schema-inputs`|The map of input topics to Schema class names (as a JSON string)||
+|`--function-config-file`|The path to a YAML config file specifying the function's configuration||
+|`--inputs`|The function's input topic or topics (multiple topics can be specified as a comma-separated list)||
+|`--log-topic`|The topic to which the function's logs are produced||
+|`--jar`|Path to the jar file for the function (if the function is written in Java). It also supports URL path [http/https/file (file protocol assumes that file already exists on worker host)/function (package URL from packages management service)] from which worker can download the package.||
+|`--name`|The function's name||
 |`--namespace`|The function’s namespace||
-|`--output`|The name of the topic to which the function publishes its output (if any)||
-|`--outputSerdeClassName`|The SerDe class used for the function’s output||
+|`--output`|The function's output topic (If none is specified, no output is written)||
+|`--output-serde-classname`|The SerDe class to be used for messages output by the function||
 |`--parallelism`|The function’s parallelism factor, i.e. the number of instances of the function to run|1|
-|`--processingGuarantees`|The processing guarantees applied to the function. Can be one of: ATLEAST_ONCE, ATMOST_ONCE, or EFFECTIVELY_ONCE|ATLEAST_ONCE|
-|`--py`|The path of the Python file containing the function’s processing logic (if the function is written in Python)||
-|`--subscriptionType`|The subscription type used by the function when consuming messages on the input topic(s). Can be either SHARED or EXCLUSIVE|SHARED|
+|`--processing-guarantees`|The processing guarantees (aka delivery semantics) applied to the function. Possible Values: [ATLEAST_ONCE, ATMOST_ONCE, EFFECTIVELY_ONCE]|ATLEAST_ONCE|
+|`--py`|Path to the main Python file/Python Wheel file for the function (if the function is written in Python). It also supports URL path [http/https/file (file protocol assumes that file already exists on worker host)/function (package URL from packages management service)] from which worker can download the package.||
+|`--go`|Path to the main Go executable binary for the function (if the function is written in Go). It also supports URL path [http/https/file (file protocol assumes that file already exists on worker host)/function (package URL from packages management service)] from which worker can download the package.||
+|`--schema-type`|The builtin schema type or custom schema class name to be used for messages output by the function||
+|`--sliding-interval-count`|The number of messages after which the window slides||
+|`--sliding-interval-duration-ms`|The time duration after which the window slides||
 |`--tenant`|The function’s tenant||
-|`--userConfig`|A user-supplied config value, set as a key/value pair. You can set multiple user config values.||
+|`--topics-pattern`|The topic pattern to consume from list of topics under a namespace that match the pattern. [--input] and [--topic-pattern] are mutually exclusive. Add SerDe class name for a pattern in --custom-serde-inputs (supported for java fun only)||
+|`--user-config`|User-defined config key/values||
+|`--window-length-count`|The number of messages per window||
+|`--window-length-duration-ms`|The time duration of the window in milliseconds||
+|`--dead-letter-topic`|The topic where all messages which could not be processed||
+|`--fqfn`|The Fully Qualified Function Name (FQFN) for the function||
+|`--max-message-retries`|How many times should we try to process a message before giving up||
+|`--retain-ordering`|Function consumes and processes messages in order||
+|`--retain-key-ordering`|Function consumes and processes messages in key order||
+|`--timeout-ms`|The message timeout in milliseconds||
+|`--producer-config`| The custom producer configuration (as a JSON string) | |
+
 
 ### `get`
-Fetch information about an existing Pulsar Function
+Fetch information about a Pulsar Function
 
 Usage
 
@@ -507,19 +729,20 @@ Options
 
 |Flag|Description|Default|
 |---|---|---|
-|`--name`|The name of the function||
-|`--namespace`|The namespace of the function||
-|`--tenant`|The tenant of the function||
+|`--fqfn`|The Fully Qualified Function Name (FQFN) for the function||
+|`--name`|The function's name||
+|`--namespace`|The function's namespace||
+|`--tenant`|The function's tenant||
 
 
-### `getstatus`
-Get the status of an existing Pulsar Function
+### `restart`
+Restart function instance
 
 Usage
 
 ```bash
 
-$ pulsar-admin functions getstatus options
+$ pulsar-admin functions restart options
 
 ```
 
@@ -527,19 +750,21 @@ Options
 
 |Flag|Description|Default|
 |---|---|---|
-|`--name`|The name of the function||
-|`--namespace`|The namespace of the function||
-|`--tenant`|The tenant of the function||
+|`--fqfn`|The Fully Qualified Function Name (FQFN) for the function||
+|`--instance-id`|The function instanceId (restart all instances if instance-id is not provided)||
+|`--name`|The function's name||
+|`--namespace`|The function's namespace||
+|`--tenant`|The function's tenant||
 
 
-### `list`
-List all Pulsar Functions for a specific tenant and namespace
+### `stop`
+Stops function instance
 
 Usage
 
 ```bash
 
-$ pulsar-admin functions list options
+$ pulsar-admin functions stop options
 
 ```
 
@@ -547,18 +772,21 @@ Options
 
 |Flag|Description|Default|
 |---|---|---|
-|`--namespace`|The namespace of the function||
-|`--tenant`|The tenant of the function||
+|`--fqfn`|The Fully Qualified Function Name (FQFN) for the function||
+|`--instance-id`|The function instanceId (stop all instances if instance-id is not provided)||
+|`--name`|The function's name||
+|`--namespace`|The function's namespace||
+|`--tenant`|The function's tenant||
 
 
-### `querystate`
-Retrieve the current state of a Pulsar Function by key
+### `start`
+Starts a stopped function instance
 
 Usage
 
 ```bash
 
-$ pulsar-admin functions querystate options
+$ pulsar-admin functions start options
 
 ```
 
@@ -566,22 +794,21 @@ Options
 
 |Flag|Description|Default|
 |---|---|---|
-|`-k`, `--key`|The key for the state you want to fetch||
-|`--name`|The name of the function whose state you want to query||
-|`--namespace`|The namespace of the function whose state you want to query||
-|`--tenant`|The tenant of the function whose state you want to query||
-|`-u`, `--storage-service-url`|The service URL for the function’s state storage (if the function uses a storage system different from the Apache BookKeeper cluster used by Pulsar)||
-|`-w`, `--watch`|If set, watching for state changes is enabled|false|
+|`--fqfn`|The Fully Qualified Function Name (FQFN) for the function||
+|`--instance-id`|The function instanceId (start all instances if instance-id is not provided)||
+|`--name`|The function's name||
+|`--namespace`|The function's namespace||
+|`--tenant`|The function's tenant||
 
 
-### `trigger`
-Triggers the specified Pulsar Function with a supplied value or file data
+### `status`
+Check the current status of a Pulsar Function
 
 Usage
 
 ```bash
 
-$ pulsar-admin functions trigger options
+$ pulsar-admin functions status options
 
 ```
 
@@ -589,106 +816,83 @@ Options
 
 |Flag|Description|Default|
 |---|---|---|
-|`--name`|The name of the Pulsar Function to trigger||
-|`--namespace`|The namespace of the Pulsar Function to trigger||
-|`--tenant`|The tenant of the Pulsar Function to trigger||
-|`--triggerFile`|The path to the file containing the data with which the Pulsar Function is to be triggered||
-|`--triggerValue`|The value with which the Pulsar Function is to be triggered||
+|`--fqfn`|The Fully Qualified Function Name (FQFN) for the function||
+|`--instance-id`|The function instanceId (Get-status of all instances if instance-id is not provided)||
+|`--name`|The function's name||
+|`--namespace`|The function's namespace||
+|`--tenant`|The function's tenant||
 
 
-## `namespaces`
+### `stats`
+Get the current stats of a Pulsar Function
 
-Operations for managing namespaces
+Usage
 
 ```bash
 
-$ pulsar-admin namespaces subcommand
+$ pulsar-admin functions stats options
 
 ```
 
-Subcommands
-* `list`
-* `list-cluster`
-* `destinations`
-* `policies`
-* `create`
-* `delete`
-* `set-deduplication`
-* `permissions`
-* `grant-permission`
-* `revoke-permission`
-* `set-clusters`
-* `get-clusters`
-* `get-backlog-quotas`
-* `set-backlog-quota`
-* `remove-backlog-quota`
-* `get-persistence`
-* `set-persistence`
-* `get-message-ttl`
-* `set-message-ttl`
-* `get-retention`
-* `set-retention`
-* `unload`
-* `clear-backlog`
-* `unsubscribe`
-* `get-compaction-threshold`
-* `set-compaction-threshold`
-* `get-offload-threshold`
-* `set-offload-threshold`
+Options
 
+|Flag|Description|Default|
+|---|---|---|
+|`--fqfn`|The Fully Qualified Function Name (FQFN) for the function||
+|`--instance-id`|The function instanceId (Get-stats of all instances if instance-id is not provided)||
+|`--name`|The function's name||
+|`--namespace`|The function's namespace||
+|`--tenant`|The function's tenant||
 
 ### `list`
-Get the namespaces for a tenant
+List all of the Pulsar Functions running under a specific tenant and namespace
 
 Usage
 
 ```bash
 
-$ pulsar-admin namespaces list tenant-name
+$ pulsar-admin functions list options
 
 ```
 
-### `list-cluster`
-Get the namespaces for a tenant in the cluster
-
-Usage
-
-```bash
+Options
 
-$ pulsar-admin namespaces list-cluster tenant/cluster
+|Flag|Description|Default|
+|---|---|---|
+|`--namespace`|The function's namespace||
+|`--tenant`|The function's tenant||
 
-```
 
-### `destinations`
-Get the destinations for a namespace
+### `querystate`
+Fetch the current state associated with a Pulsar Function running in cluster mode
 
 Usage
 
 ```bash
 
-$ pulsar-admin namespaces destinations tenant/cluster/namespace
+$ pulsar-admin functions querystate options
 
 ```
 
-### `policies`
-Get the policies of a namespace
-
-Usage
-
-```bash
-
-$ pulsar-admin namespaces policies tenant/cluster/namespace
+Options
 
-```
+|Flag|Description|Default|
+|---|---|---|
+|`--fqfn`|The Fully Qualified Function Name (FQFN) for the function||
+|`-k`, `--key`|The key for the state you want to fetch||
+|`--name`|The function's name||
+|`--namespace`|The function's namespace||
+|`--tenant`|The function's tenant||
+|`-w`, `--watch`|Watch for changes in the value associated with a key for a Pulsar Function|false|
 
-### `create`
-Create a new namespace
+### `putstate`
+Put a key/value pair to the state associated with a Pulsar Function
 
 Usage
 
 ```bash
 
-$ pulsar-admin namespaces create tenant/cluster/namespace options
+$ pulsar-admin functions putstate options
 
 ```
 
@@ -696,135 +900,805 @@ Options
 
 |Flag|Description|Default|
 |---|---|---|
-|`-b` , `--bundles`|The number of bundles to activate|0|
-
+|`--fqfn`|The Fully Qualified Function Name (FQFN) for the Pulsar Function||
+|`--name`|The name of a Pulsar Function||
+|`--namespace`|The namespace of a Pulsar Function||
+|`--tenant`|The tenant of a Pulsar Function||
+|`-s`, `--state`|The FunctionState that needs to be put||
 
-### `delete`
-Deletes a namespace
+### `trigger`
+Triggers the specified Pulsar Function with a supplied value
 
 Usage
 
 ```bash
 
-$ pulsar-admin namespaces delete tenant/cluster/namespace
+$ pulsar-admin functions trigger options
 
 ```
 
-### `set-deduplication`
-Enable or disable message deduplication on a namespace
+Options
+
+|Flag|Description|Default|
+|---|---|---|
+|`--fqfn`|The Fully Qualified Function Name (FQFN) for the function||
+|`--name`|The function's name||
+|`--namespace`|The function's namespace||
+|`--tenant`|The function's tenant||
+|`--topic`|The specific topic name that the function consumes from that you want to inject the data to||
+|`--trigger-file`|The path to the file that contains the data with which you'd like to trigger the function||
+|`--trigger-value`|The value with which you want to trigger the function||
 
-Usage
+
+## `functions-worker`
+Operations to collect function-worker statistics
 
 ```bash
 
-$ pulsar-admin namespaces set-deduplication tenant/cluster/namespace options
+$ pulsar-admin functions-worker subcommand
 
 ```
 
-Options
+Subcommands
 
-|Flag|Description|Default|
-|---|---|---|
-|`--enable`, `-e`|Enable message deduplication on the specified namespace|false|
-|`--disable`, `-d`|Disable message deduplication on the specified namespace|false|
+* `function-stats`
+* `get-cluster`
+* `get-cluster-leader`
+* `get-function-assignments`
+* `monitoring-metrics`
 
+### `function-stats`
 
-### `permissions`
-Get the permissions on a namespace
+Dump all functions stats running on this broker
 
 Usage
 
 ```bash
 
-$ pulsar-admin namespaces permissions tenant/cluster/namespace
+$ pulsar-admin functions-worker function-stats
 
 ```
 
-### `grant-permission`
-Grant permissions on a namespace
+### `get-cluster`
+
+Get all workers belonging to this cluster
 
 Usage
 
 ```bash
 
-$ pulsar-admin namespaces grant-permission tenant/cluster/namespace options
+$ pulsar-admin functions-worker get-cluster
 
 ```
 
-Options
-
-|Flag|Description|Default|
-|---|---|---|
-|`--actions`|Actions to be granted (`produce` or `consume`)||
-|`--role`|The client role to which to grant the permissions||
-
+### `get-cluster-leader`
 
-### `revoke-permission`
-Revoke permissions on a namespace
+Get the leader of the worker cluster
 
 Usage
 
 ```bash
 
-$ pulsar-admin namespaces revoke-permission tenant/cluster/namespace options
+$ pulsar-admin functions-worker get-cluster-leader
 
 ```
 
-Options
-
-|Flag|Description|Default|
-|---|---|---|
-|`--role`|The client role to which to grant the permissions||
-
+### `get-function-assignments`
 
-### `set-clusters`
-Set replication clusters for a namespace
+Get the assignments of the functions across the worker cluster
 
 Usage
 
 ```bash
 
-$ pulsar-admin namespaces set-clusters tenant/cluster/namespace options
+$ pulsar-admin functions-worker get-function-assignments
 
 ```
 
-Options
-
-|Flag|Description|Default|
-|---|---|---|
-|`-c`, `--clusters`|Replication clusters ID list (comma-separated values)||
-
+### `monitoring-metrics`
 
-### `get-clusters`
-Get replication clusters for a namespace
+Dump metrics for Monitoring
 
 Usage
 
 ```bash
 
-$ pulsar-admin namespaces get-clusters tenant/cluster/namespace
+$ pulsar-admin functions-worker monitoring-metrics
 
 ```
 
-### `get-backlog-quotas`
-Get the backlog quota policies for a namespace
+## `namespaces`
 
-Usage
+Operations for managing namespaces
 
 ```bash
 
-$ pulsar-admin namespaces get-backlog-quotas tenant/cluster/namespace
+$ pulsar-admin namespaces subcommand
 
 ```
 
-### `set-backlog-quota`
-Set a backlog quota for a namespace
-
-Usage
+Subcommands
+* `list`
+* `topics`
+* `policies`
+* `create`
+* `delete`
+* `set-deduplication`
+* `set-auto-topic-creation`
+* `remove-auto-topic-creation`
+* `set-auto-subscription-creation`
+* `remove-auto-subscription-creation`
+* `permissions`
+* `grant-permission`
+* `revoke-permission`
+* `grant-subscription-permission`
+* `revoke-subscription-permission`
+* `set-clusters`
+* `get-clusters`
+* `get-backlog-quotas`
+* `set-backlog-quota`
+* `remove-backlog-quota`
+* `get-persistence`
+* `set-persistence`
+* `get-message-ttl`
+* `set-message-ttl`
+* `remove-message-ttl`
+* `get-anti-affinity-group`
+* `set-anti-affinity-group`
+* `get-anti-affinity-namespaces`
+* `delete-anti-affinity-group`
+* `get-retention`
+* `set-retention`
+* `unload`
+* `split-bundle`
+* `set-dispatch-rate`
+* `get-dispatch-rate`
+* `set-replicator-dispatch-rate`
+* `get-replicator-dispatch-rate`
+* `set-subscribe-rate`
+* `get-subscribe-rate`
+* `set-subscription-dispatch-rate`
+* `get-subscription-dispatch-rate`
+* `clear-backlog`
+* `unsubscribe`
+* `set-encryption-required`
+* `set-delayed-delivery`
+* `get-delayed-delivery`
+* `set-subscription-auth-mode`
+* `get-max-producers-per-topic`
+* `set-max-producers-per-topic`
+* `get-max-consumers-per-topic`
+* `set-max-consumers-per-topic`
+* `get-max-consumers-per-subscription`
+* `set-max-consumers-per-subscription`
+* `get-max-unacked-messages-per-subscription`
+* `set-max-unacked-messages-per-subscription`
+* `get-max-unacked-messages-per-consumer`
+* `set-max-unacked-messages-per-consumer`
+* `get-compaction-threshold`
+* `set-compaction-threshold`
+* `get-offload-threshold`
+* `set-offload-threshold`
+* `get-offload-deletion-lag`
+* `set-offload-deletion-lag`
+* `clear-offload-deletion-lag`
+* `get-schema-autoupdate-strategy`
+* `set-schema-autoupdate-strategy`
+* `set-offload-policies`
+* `get-offload-policies`
+* `set-max-subscriptions-per-topic`
+* `get-max-subscriptions-per-topic`
+* `remove-max-subscriptions-per-topic`
+
+
+### `list`
+Get the namespaces for a tenant
+
+Usage
+
+```bash
+
+$ pulsar-admin namespaces list tenant-name
+
+```
+
+### `topics`
+Get the list of topics for a namespace
+
+Usage
+
+```bash
+
+$ pulsar-admin namespaces topics tenant/namespace
+
+```
+
+### `policies`
+Get the configuration policies of a namespace
+
+Usage
+
+```bash
+
+$ pulsar-admin namespaces policies tenant/namespace
+
+```
+
+### `create`
+Create a new namespace
+
+Usage
+
+```bash
+
+$ pulsar-admin namespaces create tenant/namespace options
+
+```
+
+Options
+
+|Flag|Description|Default|
+|---|---|---|
+|`-b`, `--bundles`|The number of bundles to activate|0|
+|`-c`, `--clusters`|List of clusters this namespace will be assigned||
+
+
+### `delete`
+Deletes a namespace. The namespace needs to be empty
+
+Usage
+
+```bash
+
+$ pulsar-admin namespaces delete tenant/namespace
+
+```
+
+### `set-deduplication`
+Enable or disable message deduplication on a namespace
+
+Usage
+
+```bash
+
+$ pulsar-admin namespaces set-deduplication tenant/namespace options
+
+```
+
+Options
+
+|Flag|Description|Default|
+|---|---|---|
+|`--enable`, `-e`|Enable message deduplication on the specified namespace|false|
+|`--disable`, `-d`|Disable message deduplication on the specified namespace|false|
+
+### `set-auto-topic-creation`
+Enable or disable autoTopicCreation for a namespace, overriding broker settings
+
+Usage
+
+```bash
+
+$ pulsar-admin namespaces set-auto-topic-creation tenant/namespace options
+
+```
+
+Options
+
+|Flag|Description|Default|
+|---|---|---|
+|`--enable`, `-e`|Enable allowAutoTopicCreation on namespace|false|
+|`--disable`, `-d`|Disable allowAutoTopicCreation on namespace|false|
+|`--type`, `-t`|Type of topic to be auto-created. Possible values: (partitioned, non-partitioned)|non-partitioned|
+|`--num-partitions`, `-n`|Default number of partitions of topic to be auto-created, applicable to partitioned topics only||
+
+### `remove-auto-topic-creation`
+Remove override of autoTopicCreation for a namespace
+
+Usage
+
+```bash
+
+$ pulsar-admin namespaces remove-auto-topic-creation tenant/namespace
+
+```
+
+### `set-auto-subscription-creation`
+Enable autoSubscriptionCreation for a namespace, overriding broker settings
+
+Usage
+
+```bash
+
+$ pulsar-admin namespaces set-auto-subscription-creation tenant/namespace options
+
+```
+
+Options
+
+|Flag|Description|Default|
+|---|---|---|
+|`--enable`, `-e`|Enable allowAutoSubscriptionCreation on namespace|false|
+
+### `remove-auto-subscription-creation`
+Remove override of autoSubscriptionCreation for a namespace
+
+Usage
+
+```bash
+
+$ pulsar-admin namespaces remove-auto-subscription-creation tenant/namespace
+
+```
+
+### `permissions`
+Get the permissions on a namespace
+
+Usage
+
+```bash
+
+$ pulsar-admin namespaces permissions tenant/namespace
+
+```
+
+### `grant-permission`
+Grant permissions on a namespace
+
+Usage
+
+```bash
+
+$ pulsar-admin namespaces grant-permission tenant/namespace options
+
+```
+
+Options
+
+|Flag|Description|Default|
+|---|---|---|
+|`--actions`|Actions to be granted (`produce` or `consume`)||
+|`--role`|The client role to which to grant the permissions||
+
+
+### `revoke-permission`
+Revoke permissions on a namespace
+
+Usage
+
+```bash
+
+$ pulsar-admin namespaces revoke-permission tenant/namespace options
+
+```
+
+Options
+
+|Flag|Description|Default|
+|---|---|---|
+|`--role`|The client role to which to revoke the permissions||
+
+### `grant-subscription-permission`
+Grant permissions to access subscription admin-api
+
+Usage
+
+```bash
+
+$ pulsar-admin namespaces grant-subscription-permission tenant/namespace options
+
+```
+
+Options
+
+|Flag|Description|Default|
+|---|---|---|
+|`--roles`|The client roles to which to grant the permissions (comma separated roles)||
+|`--subscription`|The subscription name for which permission will be granted to roles||
+
+### `revoke-subscription-permission`
+Revoke permissions to access subscription admin-api
+
+Usage
+
+```bash
+
+$ pulsar-admin namespaces revoke-subscription-permission tenant/namespace options
+
+```
+
+Options
+
+|Flag|Description|Default|
+|---|---|---|
+|`--role`|The client role to which to revoke the permissions||
+|`--subscription`|The subscription name for which permission will be revoked to roles||
+
+### `set-clusters`
+Set replication clusters for a namespace
+
+Usage
+
+```bash
+
+$ pulsar-admin namespaces set-clusters tenant/namespace options
+
+```
+
+Options
+
+|Flag|Description|Default|
+|---|---|---|
+|`-c`, `--clusters`|Replication clusters ID list (comma-separated values)||
+
+
+### `get-clusters`
+Get replication clusters for a namespace
+
+Usage
+
+```bash
+
+$ pulsar-admin namespaces get-clusters tenant/namespace
+
+```
+
+### `get-backlog-quotas`
+Get the backlog quota policies for a namespace
+
+Usage
+
+```bash
+
+$ pulsar-admin namespaces get-backlog-quotas tenant/namespace
+
+```
+
+### `set-backlog-quota`
+Set a backlog quota policy for a namespace
+
+Usage
+
+```bash
+
+$ pulsar-admin namespaces set-backlog-quota tenant/namespace options
+
+```
+
+Options
+
+|Flag|Description|Default|
+|----|---|---|
+|`-l`, `--limit`|The backlog size limit (for example `10M` or `16G`)||
+|`-lt`, `--limitTime`|Time limit in second, non-positive number for disabling time limit. (for example 3600 for 1 hour)||
+|`-p`, `--policy`|The retention policy to enforce when the limit is reached. The valid options are: `producer_request_hold`, `producer_exception` or `consumer_backlog_eviction`|
+|`-t`, `--type`|Backlog quota type to set. The valid options are: `destination_storage`, `message_age` |destination_storage|
+
+Example
+
+```bash
+
+$ pulsar-admin namespaces set-backlog-quota my-tenant/my-ns \
+--limit 2G \
+--policy producer_request_hold
+
+```
+
+```bash
+
+$ pulsar-admin namespaces set-backlog-quota my-tenant/my-ns \
+--limitTime 3600 \
+--policy producer_request_hold \
+--type message_age
+
+```
+
+### `remove-backlog-quota`
+Remove a backlog quota policy from a namespace
+
+|Flag|Description|Default|
+|---|---|---|
+|`-t`, `--type`|Backlog quota type to remove. The valid options are: `destination_storage`, `message_age` |destination_storage|
+
+Usage
+
+```bash
+
+$ pulsar-admin namespaces remove-backlog-quota tenant/namespace
+
+```
+
+### `get-persistence`
+Get the persistence policies for a namespace
+
+Usage
+
+```bash
+
+$ pulsar-admin namespaces get-persistence tenant/namespace
+
+```
+
+### `set-persistence`
+Set the persistence policies for a namespace
+
+Usage
+
+```bash
+
+$ pulsar-admin namespaces set-persistence tenant/namespace options
+
+```
+
+Options
+
+|Flag|Description|Default|
+|----|---|---|
+|`-a`, `--bookkeeper-ack-quorum`|The number of acks (guaranteed copies) to wait for each entry|0|
+|`-e`, `--bookkeeper-ensemble`|The number of bookies to use for a topic|0|
+|`-w`, `--bookkeeper-write-quorum`|How many writes to make of each entry|0|
+|`-r`, `--ml-mark-delete-max-rate`|Throttling rate of mark-delete operation (0 means no throttle)||
+
+
+### `get-message-ttl`
+Get the message TTL for a namespace
+
+Usage
+
+```bash
+
+$ pulsar-admin namespaces get-message-ttl tenant/namespace
+
+```
+
+### `set-message-ttl`
+Set the message TTL for a namespace
+
+Usage
+
+```bash
+
+$ pulsar-admin namespaces set-message-ttl tenant/namespace options
+
+```
+
+Options
+
+|Flag|Description|Default|
+|----|---|---|
+|`-ttl`, `--messageTTL`|Message TTL in seconds. When the value is set to `0`, TTL is disabled. TTL is disabled by default. |0|
+
+### `remove-message-ttl`
+Remove the message TTL for a namespace.
+
+Usage
+
+```bash
+
+$ pulsar-admin namespaces remove-message-ttl tenant/namespace
+
+```
+
+### `get-anti-affinity-group`
+Get Anti-affinity group name for a namespace
+
+Usage
+
+```bash
+
+$ pulsar-admin namespaces get-anti-affinity-group tenant/namespace
+
+```
+
+### `set-anti-affinity-group`
+Set Anti-affinity group name for a namespace
+
+Usage
+
+```bash
+
+$ pulsar-admin namespaces set-anti-affinity-group tenant/namespace options
+
+```
+
+Options
+
+|Flag|Description|Default|
+|----|---|---|
+|`-g`, `--group`|Anti-affinity group name||
+
+### `get-anti-affinity-namespaces`
+Get Anti-affinity namespaces grouped with the given anti-affinity group name
+
+Usage
+
+```bash
+
+$ pulsar-admin namespaces get-anti-affinity-namespaces options
+
+```
+
+Options
+
+|Flag|Description|Default|
+|----|---|---|
+|`-c`, `--cluster`|Cluster name||
+|`-g`, `--group`|Anti-affinity group name||
+|`-p`, `--tenant`|Tenant is only used for authorization. Client has to be admin of any of the tenant to access this api||
+
+### `delete-anti-affinity-group`
+Remove Anti-affinity group name for a namespace
+
+Usage
+
+```bash
+
+$ pulsar-admin namespaces delete-anti-affinity-group tenant/namespace
+
+```
+
+### `get-retention`
+Get the retention policy that is applied to each topic within the specified namespace
+
+Usage
+
+```bash
+
+$ pulsar-admin namespaces get-retention tenant/namespace
+
+```
+
+### `set-retention`
+Set the retention policy for each topic within the specified namespace
+
+Usage
+
+```bash
+
+$ pulsar-admin namespaces set-retention tenant/namespace
+
+```
+
+Options
+
+|Flag|Description|Default|
+|----|---|---|
+|`-s`, `--size`|The retention size limits (for example 10M, 16G or 3T) for each topic in the namespace. 0 means no retention and -1 means infinite size retention||
+|`-t`, `--time`|The retention time in minutes, hours, days, or weeks. Examples: 100m, 13h, 2d, 5w. 0 means no retention and -1 means infinite time retention||
+
+
+### `unload`
+Unload a namespace or namespace bundle from the current serving broker.
+
+Usage
+
+```bash
+
+$ pulsar-admin namespaces unload tenant/namespace options
+
+```
+
+Options
+
+|Flag|Description|Default|
+|----|---|---|
+|`-b`, `--bundle`|{start-boundary}_{end-boundary} (e.g. 0x00000000_0xffffffff)||
+
+### `split-bundle`
+Split a namespace-bundle from the current serving broker
+
+Usage
+
+```bash
+
+$ pulsar-admin namespaces split-bundle tenant/namespace options
+
+```
+
+Options
+
+|Flag|Description|Default|
+|----|---|---|
+|`-b`, `--bundle`|{start-boundary}_{end-boundary} (e.g. 0x00000000_0xffffffff)||
+|`-u`, `--unload`|Unload newly split bundles after splitting old bundle|false|
+
+### `set-dispatch-rate`
+Set message-dispatch-rate for all topics of the namespace
+
+Usage
+
+```bash
+
+$ pulsar-admin namespaces set-dispatch-rate tenant/namespace options
+
+```
+
+Options
+
+|Flag|Description|Default|
+|----|---|---|
+|`-bd`, `--byte-dispatch-rate`|The byte dispatch rate (default -1 will be overwrite if not passed)|-1|
+|`-dt`, `--dispatch-rate-period`|The dispatch rate period in second type (default 1 second will be overwrite if not passed)|1|
+|`-md`, `--msg-dispatch-rate`|The message dispatch rate (default -1 will be overwrite if not passed)|-1|
+
+### `get-dispatch-rate`
+Get configured message-dispatch-rate for all topics of the namespace (Disabled if value < 0)
+
+Usage
+
+```bash
+
+$ pulsar-admin namespaces get-dispatch-rate tenant/namespace
+
+```
+
+### `set-replicator-dispatch-rate`
+Set replicator message-dispatch-rate for all topics of the namespace
+
+Usage
+
+```bash
+
+$ pulsar-admin namespaces set-replicator-dispatch-rate tenant/namespace options
+
+```
+
+Options
+
+|Flag|Description|Default|
+|----|---|---|
+|`-bd`, `--byte-dispatch-rate`|The byte dispatch rate (default -1 will be overwrite if not passed)|-1|
+|`-dt`, `--dispatch-rate-period`|The dispatch rate period in second type (default 1 second will be overwrite if not passed)|1|
+|`-md`, `--msg-dispatch-rate`|The message dispatch rate (default -1 will be overwrite if not passed)|-1|
+
+### `get-replicator-dispatch-rate`
+Get replicator configured message-dispatch-rate for all topics of the namespace (Disabled if value < 0)
+
+Usage
+
+```bash
+
+$ pulsar-admin namespaces get-replicator-dispatch-rate tenant/namespace
+
+```
+
+### `set-subscribe-rate`
+Set subscribe-rate per consumer for all topics of the namespace
+
+Usage
+
+```bash
+
+$ pulsar-admin namespaces set-subscribe-rate tenant/namespace options
+
+```
+
+Options
+
+|Flag|Description|Default|
+|----|---|---|
+|`-sr`, `--subscribe-rate`|The subscribe rate (default -1 will be overwrite if not passed)|-1|
+|`-st`, `--subscribe-rate-period`|The subscribe rate period in second type (default 30 second will be overwrite if not passed)|30|
+
+### `get-subscribe-rate`
+Get configured subscribe-rate per consumer for all topics of the namespace
+
+Usage
+
+```bash
+
+$ pulsar-admin namespaces get-subscribe-rate tenant/namespace
+
+```
+
+### `set-subscription-dispatch-rate`
+Set subscription message-dispatch-rate for all subscription of the namespace
+
+Usage
 
 ```bash
 
-$ pulsar-admin namespaces set-backlog-quota tenant/cluster/namespace options
+$ pulsar-admin namespaces set-subscription-dispatch-rate tenant/namespace options
 
 ```
 
@@ -832,49 +1706,67 @@ Options
 
 |Flag|Description|Default|
 |----|---|---|
-|`-l`, `--limit`|The backlog size limit (for example `10M` or `16G`)||
-|`-p`, `--policy`|The retention policy to enforce when the limit is reached. The valid options are: `producer_request_hold`, `producer_exception` or `consumer_backlog_eviction`|
+|`-bd`, `--byte-dispatch-rate`|The byte dispatch rate (default -1 will be overwrite if not passed)|-1|
+|`-dt`, `--dispatch-rate-period`|The dispatch rate period in second type (default 1 second will be overwrite if not passed)|1|
+|`-md`, `--sub-msg-dispatch-rate`|The message dispatch rate (default -1 will be overwrite if not passed)|-1|
 
-Example
+### `get-subscription-dispatch-rate`
+Get subscription configured message-dispatch-rate for all topics of the namespace (Disabled if value < 0)
+
+Usage
 
 ```bash
 
-$ pulsar-admin namespaces set-backlog-quota my-prop/my-cluster/my-ns \
---limit 2G \
---policy producer_request_hold
+$ pulsar-admin namespaces get-subscription-dispatch-rate tenant/namespace
 
 ```
 
-### `remove-backlog-quota`
-Remove a backlog quota policy from a namespace
+### `clear-backlog`
+Clear the backlog for a namespace
 
 Usage
 
 ```bash
 
-$ pulsar-admin namespaces remove-backlog-quota tenant/cluster/namespace
+$ pulsar-admin namespaces clear-backlog tenant/namespace options
 
 ```
 
-### `get-persistence`
-Get the persistence policies for a namespace
+Options
+
+|Flag|Description|Default|
+|----|---|---|
+|`-b`, `--bundle`|{start-boundary}_{end-boundary} (e.g. 0x00000000_0xffffffff)||
+|`-force`, `--force`|Whether to force a clear backlog without prompt|false|
+|`-s`, `--sub`|The subscription name||
+
+
+### `unsubscribe`
+Unsubscribe the given subscription on all destinations on a namespace
 
 Usage
 
 ```bash
 
-$ pulsar-admin namespaces get-persistence tenant/cluster/namespace
+$ pulsar-admin namespaces unsubscribe tenant/namespace options
 
 ```
 
-### `set-persistence`
-Set the persistence policies for a namespace
+Options
+
+|Flag|Description|Default|
+|----|---|---|
+|`-b`, `--bundle`|{start-boundary}_{end-boundary} (e.g. 0x00000000_0xffffffff)||
+|`-s`, `--sub`|The subscription name||
+
+### `set-encryption-required`
+Enable or disable message encryption required for a namespace
 
 Usage
 
 ```bash
 
-$ pulsar-admin namespaces set-persistence tenant/cluster/namespace options
+$ pulsar-admin namespaces set-encryption-required tenant/namespace options
 
 ```
 
@@ -882,31 +1774,55 @@ Options
 
 |Flag|Description|Default|
 |----|---|---|
-|`-a`, `--bookkeeper-ack-quorum`|The number of acks (guaranteed copies) to wait for each entry|0|
-|`-e`, `--bookkeeper-ensemble`|The number of bookies to use for a topic|0|
-|`-w`, `--bookkeeper-write-quorum`|How many writes to make of each entry|0|
-|`-r`, `--ml-mark-delete-max-rate`|Throttling rate of mark-delete operation (0 means no throttle)||
+|`-d`, `--disable`|Disable message encryption required|false|
+|`-e`, `--enable`|Enable message encryption required|false|
 
+### `set-delayed-delivery`
+Set the delayed delivery policy on a namespace
 
-### `get-message-ttl`
-Get the message TTL for a namespace
+Usage
+
+```bash
+
+$ pulsar-admin namespaces set-delayed-delivery tenant/namespace options
+
+```
+
+Options
+
+|Flag|Description|Default|
+|----|---|---|
+|`-d`, `--disable`|Disable delayed delivery messages|false|
+|`-e`, `--enable`|Enable delayed delivery messages|false|
+|`-t`, `--time`|The tick time for when retrying on delayed delivery messages|1s|
+
+
+### `get-delayed-delivery`
+Get the delayed delivery policy on a namespace
 
 Usage
 
 ```bash
 
-$ pulsar-admin namespaces get-message-ttl tenant/cluster/namespace
+$ pulsar-admin namespaces get-delayed-delivery-time tenant/namespace
 
 ```
 
-### `set-message-ttl`
-Set the message TTL for a namespace
+Options
+
+|Flag|Description|Default|
+|----|---|---|
+|`-t`, `--time`|The tick time for when retrying on delayed delivery messages|1s|
+
+
+### `set-subscription-auth-mode`
+Set subscription auth mode on a namespace
 
 Usage
 
 ```bash
 
-$ pulsar-admin namespaces set-message-ttl options
+$ pulsar-admin namespaces set-subscription-auth-mode tenant/namespace options
 
 ```
 
@@ -914,28 +1830,55 @@ Options
 
 |Flag|Description|Default|
 |----|---|---|
-|`-ttl`, `--messageTTL`|Message TTL in seconds. When the value is set to `0`, TTL is disabled. TTL is disabled by default.|0|
+|`-m`, `--subscription-auth-mode`|Subscription authorization mode for Pulsar policies. Valid options are: [None, Prefix]||
 
+### `get-max-producers-per-topic`
+Get maxProducersPerTopic for a namespace
 
-### `get-retention`
-Get the retention policy for a namespace
+Usage
+
+```bash
+
+$ pulsar-admin namespaces get-max-producers-per-topic tenant/namespace
+
+```
+
+### `set-max-producers-per-topic`
+Set maxProducersPerTopic for a namespace
 
 Usage
 
 ```bash
 
-$ pulsar-admin namespaces get-retention tenant/cluster/namespace
+$ pulsar-admin namespaces set-max-producers-per-topic tenant/namespace options
 
 ```
 
-### `set-retention`
-Set the retention policy for a namespace
+Options
+
+|Flag|Description|Default|
+|----|---|---|
+|`-p`, `--max-producers-per-topic`|maxProducersPerTopic for a namespace|0|
+
+### `get-max-consumers-per-topic`
+Get maxConsumersPerTopic for a namespace
 
 Usage
 
 ```bash
 
-$ pulsar-admin namespaces set-retention tenant/cluster/namespace options
+$ pulsar-admin namespaces get-max-consumers-per-topic tenant/namespace
+
+```
+
+### `set-max-consumers-per-topic`
+Set maxConsumersPerTopic for a namespace
+
+Usage
+
+```bash
+
+$ pulsar-admin namespaces set-max-consumers-per-topic tenant/namespace options
 
 ```
 
@@ -943,18 +1886,27 @@ Options
 
 |Flag|Description|Default|
 |----|---|---|
-|`-s`, `--size`|The retention size limits (for example 10M, 16G or 3T). 0 means no retention and -1 means infinite size retention||
-|`-t`, `--time`|The retention time in minutes, hours, days, or weeks. Examples: 100m, 13h, 2d, 5w. 0 means no retention and -1 means infinite time retention||
+|`-c`, `--max-consumers-per-topic`|maxConsumersPerTopic for a namespace|0|
 
+### `get-max-consumers-per-subscription`
+Get maxConsumersPerSubscription for a namespace
 
-### `unload`
-Unload a namespace or namespace bundle from the current serving broker.
+Usage
+
+```bash
+
+$ pulsar-admin namespaces get-max-consumers-per-subscription tenant/namespace
+
+```
+
+### `set-max-consumers-per-subscription`
+Set maxConsumersPerSubscription for a namespace
 
 Usage
 
 ```bash
 
-$ pulsar-admin namespaces unload tenant/cluster/namespace options
+$ pulsar-admin namespaces set-max-consumers-per-subscription tenant/namespace options
 
 ```
 
@@ -962,17 +1914,27 @@ Options
 
 |Flag|Description|Default|
 |----|---|---|
-|`-b`, `--bundle`|||
+|`-c`, `--max-consumers-per-subscription`|maxConsumersPerSubscription for a namespace|0|
 
+### `get-max-unacked-messages-per-subscription`
+Get maxUnackedMessagesPerSubscription for a namespace
 
-### `clear-backlog`
-Clear the backlog for a namespace
+Usage
+
+```bash
+
+$ pulsar-admin namespaces get-max-unacked-messages-per-subscription tenant/namespace
+
+```
+
+### `set-max-unacked-messages-per-subscription`
+Set maxUnackedMessagesPerSubscription for a namespace
 
 Usage
 
 ```bash
 
-$ pulsar-admin namespaces clear-backlog tenant/cluster/namespace options
+$ pulsar-admin namespaces set-max-unacked-messages-per-subscription tenant/namespace options
 
 ```
 
@@ -980,19 +1942,27 @@ Options
 
 |Flag|Description|Default|
 |----|---|---|
-|`-b`, `--bundle`|||   
-|`-f`, `--force`|Whether to force a clear backlog without prompt|false|
-|`-s`, `--sub`|The subscription name||
+|`-c`, `--max-unacked-messages-per-subscription`|maxUnackedMessagesPerSubscription for a namespace|-1|
 
+### `get-max-unacked-messages-per-consumer`
+Get maxUnackedMessagesPerConsumer for a namespace
 
-### `unsubscribe`
-Unsubscribe the given subscription on all destinations on a namespace
+Usage
+
+```bash
+
+$ pulsar-admin namespaces get-max-unacked-messages-per-consumer tenant/namespace
+
+```
+
+### `set-max-unacked-messages-per-consumer`
+Set maxUnackedMessagesPerConsumer for a namespace
 
 Usage
 
 ```bash
 
-$ pulsar-admin namespaces unsubscribe tenant/cluster/namespace options
+$ pulsar-admin namespaces set-max-unacked-messages-per-consumer tenant/namespace options
 
 ```
 
@@ -1000,8 +1970,7 @@ Options
 
 |Flag|Description|Default|
 |----|---|---|
-|`-b`, `--bundle`|||   
-|`-s`, `--sub`|The subscription name||
+|`-c`, `--max-unacked-messages-per-consumer`|maxUnackedMessagesPerConsumer for a namespace|-1|
 
 
 ### `get-compaction-threshold`
@@ -1044,39 +2013,42 @@ $ pulsar-admin namespaces get-offload-threshold tenant/namespace
 
 ```
 
+### `set-offload-threshold`
+Set offloadThreshold for a namespace
+
+Usage
+
+```bash
+
+$ pulsar-admin namespaces set-offload-threshold tenant/namespace options
+
+```
+
 Options
 
 |Flag|Description|Default|
 |----|---|---|
 |`-s`, `--size`|Maximum number of bytes stored in the pulsar cluster for a topic before data will start being automatically offloaded to longterm storage (eg: 10M, 16G, 3T, 100). Negative values disable automatic offload. 0 triggers offloading as soon as possible.|-1|
 
-
-
-## `ns-isolation-policy`
-Operations for managing namespace isolation policies.
+### `get-offload-deletion-lag`
+Get offloadDeletionLag, in minutes, for a namespace
 
 Usage
 
 ```bash
 
-$ pulsar-admin ns-isolation-policy subcommand
+$ pulsar-admin namespaces get-offload-deletion-lag tenant/namespace
 
 ```
 
-Subcommands
-* `set`
-* `get`
-* `list`
-* `delete`
-
-### `set`
-Create/update a namespace isolation policy for a cluster. This operation requires Pulsar superuser privileges.
+### `set-offload-deletion-lag`
+Set offloadDeletionLag for a namespace
 
 Usage
 
 ```bash
 
-$ pulsar-admin ns-isolation-policy set cluster-name policy-name options
+$ pulsar-admin namespaces set-offload-deletion-lag tenant/namespace options
 
 ```
 
@@ -1084,72 +2056,67 @@ Options
 
 |Flag|Description|Default|
 |----|---|---|
-|`--auto-failover-policy-params`|Comma-separated name=value auto failover policy parameters|[]|
-|`--auto-failover-policy-type`|Auto failover policy type name. Currently available options: min_available.|[]|
-|`--namespaces`|Comma-separated namespaces regex list|[]|
-|`--primary`|Comma-separated primary broker regex list|[]|
-|`--secondary`|Comma-separated secondary broker regex list|[]|
-
+|`-l`, `--lag`|Duration to wait after offloading a ledger segment, before deleting the copy of that segment from cluster local storage. (eg: 10m, 5h, 3d, 2w).|-1|
 
-### `get`
-Get the namespace isolation policy of a cluster. This operation requires Pulsar superuser privileges.
+### `clear-offload-deletion-lag`
+Clear offloadDeletionLag for a namespace
 
 Usage
 
 ```bash
 
-$ pulsar-admin ns-isolation-policy get cluster-name policy-name
+$ pulsar-admin namespaces clear-offload-deletion-lag tenant/namespace
 
 ```
 
-### `list`
-List all namespace isolation policies of a cluster. This operation requires Pulsar superuser privileges.
+### `get-schema-autoupdate-strategy`
+Get the schema auto-update strategy for a namespace
 
 Usage
 
 ```bash
 
-$ pulsar-admin ns-isolation-policy list cluster-name
+$ pulsar-admin namespaces get-schema-autoupdate-strategy tenant/namespace
 
 ```
 
-### `delete`
-Delete namespace isolation policy of a cluster. This operation requires superuser privileges.
+### `set-schema-autoupdate-strategy`
+Set the schema auto-update strategy for a namespace
 
 Usage
 
 ```bash
 
-$ pulsar-admin ns-isolation-policy delete
+$ pulsar-admin namespaces set-schema-autoupdate-strategy tenant/namespace options
 
 ```
 
-## `sink`
+Options
+
+|Flag|Description|Default|
+|----|---|---|
+|`-c`, `--compatibility`|Compatibility level required for new schemas created via a Producer. Possible values (Full, Backward, Forward, None).|Full|
+|`-d`, `--disabled`|Disable automatic schema updates.|false|
 
-An interface for managing Pulsar IO sinks (egress data from Pulsar)
+### `get-publish-rate`
+Get the message publish rate for each topic in a namespace, in bytes as well as messages per second 
 
 Usage
 
 ```bash
 
-$ pulsar-admin sink subcommand
+$ pulsar-admin namespaces get-publish-rate tenant/namespace
 
 ```
 
-Subcommands
-* `create`
-* `delete`
-* `localrun`
-
-
-### `create`
-Submit a Pulsar IO sink connector to run in a Pulsar cluster
+### `set-publish-rate`
+Set the message publish rate for each topic in a namespace
 
 Usage
 
 ```bash
 
-$ pulsar-admin sink create options
+$ pulsar-admin namespaces set-publish-rate tenant/namespace options
 
 ```
 
@@ -1157,100 +2124,108 @@ Options
 
 |Flag|Description|Default|
 |----|---|---|
-|`--className`|The sink’s Java class name||
-|`--cpu`|The CPU (in cores) that needs to be allocated per sink instance (applicable only to the Docker runtime)||
-|`--customSerdeInputs`|The map of input topics to SerDe class names (as a JSON string)||
-|`--disk`|The disk (in bytes) that needs to be allocated per sink instance (applicable only to the Docker runtime)||
-|`--inputs`|The sink’s input topic(s) (multiple topics can be specified as a comma-separated list)||
-|`--jar`|Path to the Java jar file for the sink||
-|`--name`|The sink’s name||
-|`--namespace`|The sink’s namespace||
-|`--parallelism`|“The sink’s parallelism factor (i.e. the number of sink instances to run).”||
-|`--processingGuarantees`|“The processing guarantees (aka delivery semantics) applied to the sink. Available values: ATLEAST_ONCE, ATMOST_ONCE, EFFECTIVELY_ONCE.”||
-|`--ram`|The RAM (in bytes) that needs to be allocated per sink instance (applicable only to the Docker runtime)||
-|`--sinkConfig`|Sink config key/values||
-|`--sinkConfigFile`|The path to a YAML config file specifying the sink’s configuration||
-|`--tenant`|The sink’s tenant||
+|`-m`, `--msg-publish-rate`|Threshold for number of messages per second per topic in the namespace (-1 implies not set, 0 for no limit).|-1|
+|`-b`, `--byte-publish-rate`|Threshold for number of bytes per second per topic in the namespace (-1 implies not set, 0 for no limit).|-1|
 
-
-### `delete`
-Stops a Pulsar IO sink
+### `set-offload-policies`
+Set the offload policy for a namespace.
 
 Usage
 
 ```bash
 
-$ pulsar-admin sink delete options
+$ pulsar-admin namespaces set-offload-policies tenant/namespace options
 
 ```
 
 Options
 
 |Flag|Description|Default|
-|---|---|---|
-|`--name`|The name of the function to delete||
-|`--namespace`|The namespace of the function to delete||
-|`--tenant`|The tenant of the function to delete||
+|----|---|---|
+|`-d`, `--driver`|Driver to use to offload old data to long term storage,(Possible values: S3, aws-s3, google-cloud-storage)||
+|`-r`, `--region`|The long term storage region||
+|`-b`, `--bucket`|Bucket to place offloaded ledger into||
+|`-e`, `--endpoint`|Alternative endpoint to connect to||
+|`-i`, `--aws-id`|AWS Credential Id to use when using driver S3 or aws-s3||
+|`-s`, `--aws-secret`|AWS Credential Secret to use when using driver S3 or aws-s3||
+|`-ro`, `--s3-role`|S3 Role used for STSAssumeRoleSessionCredentialsProvider using driver S3 or aws-s3||
+|`-rsn`, `--s3-role-session-name`|S3 role session name used for STSAssumeRoleSessionCredentialsProvider using driver S3 or aws-s3||
+|`-mbs`, `--maxBlockSize`|Max block size|64MB|
+|`-rbs`, `--readBufferSize`|Read buffer size|1MB|
+|`-oat`, `--offloadAfterThreshold`|Offload after threshold size (eg: 1M, 5M)||
+|`-oae`, `--offloadAfterElapsed`|Offload after elapsed in millis (or minutes, hours,days,weeks eg: 100m, 3h, 2d, 5w).||
 
+### `get-offload-policies`
+Get the offload policy for a namespace.
 
-### `localrun`
-Run the Pulsar sink locally (rather than in the Pulsar cluster)
+Usage
+
+```bash
+
+$ pulsar-admin namespaces get-offload-policies tenant/namespace
+
+```
+
+### `set-max-subscriptions-per-topic`
+Set the maximum subscription per topic for a namespace.
 
 Usage
 
 ```bash
 
-$ pulsar-admin sink localrun options
+$ pulsar-admin namespaces set-max-subscriptions-per-topic tenant/namespace
 
 ```
 
-Options
+### `get-max-subscriptions-per-topic`
+Get the maximum subscription per topic for a namespace.
 
-|Flag|Description|Default|
-|----|---|---|
-|`--brokerServiceUrl`|The URL for the Pulsar broker||
-|`--className`|The sink’s Java class name||
-|`--cpu`|The CPU (in cores) that needs to be allocated per sink instance (applicable only to the Docker runtime)||
-|`--customSerdeInputs`|The map of input topics to SerDe class names (as a JSON string)||
-|`--disk`|The disk (in bytes) that needs to be allocated per sink instance (applicable only to the Docker runtime)||
-|`--inputs`|The sink’s input topic(s) (multiple topics can be specified as a comma-separated list)||
-|`--jar`|Path to the Java jar file for the sink||
-|`--name`|The sink’s name||
-|`--namespace`|The sink’s namespace||
-|`--parallelism`|“The sink’s parallelism factor (i.e. the number of sink instances to run).”||
-|`--processingGuarantees`|“The processing guarantees (aka delivery semantics) applied to the sink. Available values: ATLEAST_ONCE, ATMOST_ONCE, EFFECTIVELY_ONCE.”||
-|`--ram`|The RAM (in bytes) that needs to be allocated per sink instance (applicable only to the Docker runtime)||
-|`--sinkConfig`|Sink config key/values||
-|`--sinkConfigFile`|The path to a YAML config file specifying the sink’s configuration||
-|`--tenant`|The sink’s tenant||
+Usage
+
+```bash
+
+$ pulsar-admin namespaces get-max-subscriptions-per-topic tenant/namespace
+
+```
+
+### `remove-max-subscriptions-per-topic`
+Remove the maximum subscription per topic for a namespace.
+
+Usage
+
+```bash
 
+$ pulsar-admin namespaces remove-max-subscriptions-per-topic tenant/namespace
 
+```
 
-## `source`
-An interface for managing Pulsar IO sources (ingress data into Pulsar)
+## `ns-isolation-policy`
+Operations for managing namespace isolation policies.
 
 Usage
 
 ```bash
 
-$ pulsar-admin source subcommand
+$ pulsar-admin ns-isolation-policy subcommand
 
 ```
 
 Subcommands
-* `create`
+* `set`
+* `get`
+* `list`
 * `delete`
-* `localrun`
-
+* `brokers`
+* `broker`
 
-### `create`
-Submit a Pulsar IO source connector to run in a Pulsar cluster
+### `set`
+Create/update a namespace isolation policy for a cluster. This operation requires Pulsar superuser privileges.
 
 Usage
 
 ```bash
 
-$ pulsar-admin source create options
+$ pulsar-admin ns-isolation-policy set cluster-name policy-name options
 
 ```
 
@@ -1258,50 +2233,65 @@ Options
 
 |Flag|Description|Default|
 |----|---|---|
-|`--className`|The source’s Java class name||
-|`--cpu`|The CPU (in cores) that needs to be allocated per source instance (applicable only to the Docker runtime)||
-|`--deserializationClassName`|The SerDe classname for the source||
-|`--destinationTopicName`|The Pulsar topic to which data is sent||
-|`--disk`|The disk (in bytes) that needs to be allocated per source instance (applicable only to the Docker runtime)||
-|`--jar`|Path to the Java jar file for the source||
-|`--name`|The source’s name||
-|`--namespace`|The source’s namespace||
-|`--parallelism`|The source’s parallelism factor (i.e. the number of source instances to run).||
-|`--processingGuarantees`|“The processing guarantees (aka delivery semantics) applied to the source. Available values: ATLEAST_ONCE, ATMOST_ONCE, EFFECTIVELY_ONCE.”||
-|`--ram`|The RAM (in bytes) that needs to be allocated per source instance (applicable only to the Docker runtime)||
-|`--sourceConfig`|Source config key/values||
-|`--sourceConfigFile`|The path to a YAML config file specifying the source’s configuration||
-|`--tenant`|The source’s tenant||
+|`--auto-failover-policy-params`|Comma-separated name=value auto failover policy parameters|[]|
+|`--auto-failover-policy-type`|Auto failover policy type name. Currently available options: min_available.|[]|
+|`--namespaces`|Comma-separated namespaces regex list|[]|
+|`--primary`|Comma-separated primary broker regex list|[]|
+|`--secondary`|Comma-separated secondary broker regex list|[]|
+
+
+### `get`
+Get the namespace isolation policy of a cluster. This operation requires Pulsar superuser privileges.
+
+Usage
+
+```bash
+
+$ pulsar-admin ns-isolation-policy get cluster-name policy-name
+
+```
 
+### `list`
+List all namespace isolation policies of a cluster. This operation requires Pulsar superuser privileges.
+
+Usage
+
+```bash
+
+$ pulsar-admin ns-isolation-policy list cluster-name
+
+```
 
 ### `delete`
-Stops a Pulsar IO source
+Delete namespace isolation policy of a cluster. This operation requires superuser privileges.
 
 Usage
 
 ```bash
 
-$ pulsar-admin source delete options
+$ pulsar-admin ns-isolation-policy delete
 
 ```
 
-Options
+### `brokers`
+List all brokers with namespace-isolation policies attached to it. This operation requires Pulsar super-user privileges.
 
-|Flag|Description|Default|
-|---|---|---|
-|`--name`|The name of the function to delete||
-|`--namespace`|The namespace of the function to delete||
-|`--tenant`|The tenant of the function to delete||
+Usage
 
+```bash
 
-### `localrun`
-Run the Pulsar source locally (rather than in the Pulsar cluster)
+$ pulsar-admin ns-isolation-policy brokers cluster-name
+
+```
+
+### `broker`
+Get broker with namespace-isolation policies attached to it. This operation requires Pulsar super-user privileges.
 
 Usage
 
 ```bash
 
-$ pulsar-admin source localrun options
+$ pulsar-admin ns-isolation-policy broker cluster-name options
 
 ```
 
@@ -1309,25 +2299,10 @@ Options
 
 |Flag|Description|Default|
 |----|---|---|
-|`--className`|The source’s Java class name||
-|`--cpu`|The CPU (in cores) that needs to be allocated per source instance (applicable only to the Docker runtime)||
-|`--deserializationClassName`|The SerDe classname for the source||
-|`--destinationTopicName`|The Pulsar topic to which data is sent||
-|`--disk`|The disk (in bytes) that needs to be allocated per source instance (applicable only to the Docker runtime)||
-|`--jar`|Path to the Java jar file for the source||
-|`--name`|The source’s name||
-|`--namespace`|The source’s namespace||
-|`--parallelism`|The source’s parallelism factor (i.e. the number of source instances to run).||
-|`--processingGuarantees`|“The processing guarantees (aka delivery semantics) applied to the source. Available values: ATLEAST_ONCE, ATMOST_ONCE, EFFECTIVELY_ONCE.”||
-|`--ram`|The RAM (in bytes) that needs to be allocated per source instance (applicable only to the Docker runtime)||
-|`--sourceConfig`|Source config key/values||
-|`--sourceConfigFile`|The path to a YAML config file specifying the source’s configuration||
-|`--tenant`|The source’s tenant||
-
-
+|`--broker`|Broker name to get namespace-isolation policies attached to it||
 
 ## `topics`
-Operations for managing Pulsar topics (both persistent and non persistent)
+Operations for managing Pulsar topics (both persistent and non-persistent). 
 
 Usage
 
@@ -1337,17 +2312,28 @@ $ pulsar-admin topics subcommand
 
 ```
 
+From Pulsar 2.7.0, some namespace-level policies are available on topic level. To enable topic-level policy in Pulsar, you need to configure the following parameters in the `broker.conf` file. 
+
+```shell
+
+systemTopicEnabled=true
+topicLevelPoliciesEnabled=true
+
+```
+
 Subcommands
 * `compact`
 * `compaction-status`
 * `offload`
 * `offload-status`
 * `create-partitioned-topic`
+* `create-missed-partitions`
 * `delete-partitioned-topic`
+* `create`
 * `get-partitioned-topic-metadata`
 * `update-partitioned-topic`
+* `list-partitioned-topics`
 * `list`
-* `list-in-bundle`
 * `terminate`
 * `permissions`
 * `grant-permission`
@@ -1356,19 +2342,67 @@ Subcommands
 * `bundle-range`
 * `delete`
 * `unload`
+* `create-subscription`
 * `subscriptions`
 * `unsubscribe`
 * `stats`
 * `stats-internal`
 * `info-internal`
 * `partitioned-stats`
+* `partitioned-stats-internal`
 * `skip`
-* `skip-all`
+* `clear-backlog`
 * `expire-messages`
 * `expire-messages-all-subscriptions`
 * `peek-messages`
 * `reset-cursor`
-
+* `get-message-by-id`
+* `last-message-id`
+* `get-backlog-quotas`
+* `set-backlog-quota`
+* `remove-backlog-quota`
+* `get-persistence`
+* `set-persistence`
+* `remove-persistence`
+* `get-message-ttl`
+* `set-message-ttl`
+* `remove-message-ttl`
+* `get-deduplication`
+* `set-deduplication`
+* `remove-deduplication`
+* `get-retention`
+* `set-retention`
+* `remove-retention`
+* `get-dispatch-rate`
+* `set-dispatch-rate`
+* `remove-dispatch-rate`
+* `get-max-unacked-messages-per-subscription`
+* `set-max-unacked-messages-per-subscription`
+* `remove-max-unacked-messages-per-subscription`
+* `get-max-unacked-messages-per-consumer`
+* `set-max-unacked-messages-per-consumer`
+* `remove-max-unacked-messages-per-consumer`
+* `get-delayed-delivery`
+* `set-delayed-delivery`
+* `remove-delayed-delivery`
+* `get-max-producers`
+* `set-max-producers`
+* `remove-max-producers`
+* `get-max-consumers`
+* `set-max-consumers`
+* `remove-max-consumers`
+* `get-compaction-threshold`
+* `set-compaction-threshold`
+* `remove-compaction-threshold`
+* `get-offload-policies`
+* `set-offload-policies`
+* `remove-offload-policies`
+* `get-inactive-topic-policies`
+* `set-inactive-topic-policies`
+* `remove-inactive-topic-policies`
+* `set-max-subscriptions`
+* `get-max-subscriptions`
+* `remove-max-subscriptions`
 
 ### `compact`
 Run compaction on the specified topic (persistent topics only)
@@ -1438,6 +2472,15 @@ Options
 ### `create-partitioned-topic`
 Create a partitioned topic. A partitioned topic must be created before producers can publish to it.
 
+:::note
+
+By default, after 60 seconds of creation, topics are considered inactive and deleted automatically to prevent from generating trash data.
+To disable this feature, set `brokerDeleteInactiveTopicsEnabled` to `false`.
+To change the frequency of checking inactive topics, set `brokerDeleteInactiveTopicsFrequencySeconds` to your desired value.
+For more information about these two parameters, see [here](reference-configuration.md#broker).
+
+:::
+
 Usage
 
 ```bash
@@ -1452,6 +2495,17 @@ Options
 |---|---|---|
 |`-p`, `--partitions`|The number of partitions for the topic|0|
 
+### `create-missed-partitions`
+Try to create partitions for partitioned topic. The partitions of partition topic has to be created, 
+can be used by repair partitions when topic auto creation is disabled
+
+Usage
+
+```bash
+
+$ pulsar-admin topics create-missed-partitions persistent://tenant/namespace/topic
+
+```
 
 ### `delete-partitioned-topic`
 Delete a partitioned topic. This will also delete all the partitions of the topic if they exist.
@@ -1464,6 +2518,26 @@ $ pulsar-admin topics delete-partitioned-topic {persistent|non-persistent}
 
 ```
 
+### `create`
+Creates a non-partitioned topic. A non-partitioned topic must explicitly be created by the user if allowAutoTopicCreation or createIfMissing is disabled.
+
+:::note
+
+By default, after 60 seconds of creation, topics are considered inactive and deleted automatically to prevent from generating trash data.
+To disable this feature, set `brokerDeleteInactiveTopicsEnabled`  to `false`.
+To change the frequency of checking inactive topics, set `brokerDeleteInactiveTopicsFrequencySeconds` to your desired value.
+For more information about these two parameters, see [here](reference-configuration.md#broker).
+
+:::
+
+Usage
+
+```bash
+
+$ pulsar-admin topics create {persistent|non-persistent}://tenant/namespace/topic
+
+```
+
 ### `get-partitioned-topic-metadata`
 Get the partitioned topic metadata. If the topic is not created or is a non-partitioned topic, this will return an empty topic with zero partitions.
 
@@ -1492,43 +2566,47 @@ Options
 |---|---|---|
 |`-p`, `--partitions`|The number of partitions for the topic|0|
 
-### `list`
-Get the list of topics under a namespace
+### `list-partitioned-topics`
+Get the list of partitioned topics under a namespace.
 
 Usage
 
-```
+```bash
 
-$ pulsar-admin topics list tenant/cluster/namespace
+$ pulsar-admin topics list-partitioned-topics tenant/namespace
 
 ```
 
-### `list-in-bundle`
-Get a list of non-persistent topics present under a namespace bundle
+### `list`
+Get the list of topics under a namespace
 
 Usage
 
 ```
 
-$ pulsar-admin topics list-in-bundle tenant/namespace options
+$ pulsar-admin topics list tenant/cluster/namespace
 
 ```
 
-Options
+### `terminate`
+Terminate a persistent topic (disallow further messages from being published on the topic)
 
-|Flag|Description|Default|
-|---|---|---|
-|`-b`, `--bundle`|The bundle range||
+Usage
+
+```bash
 
+$ pulsar-admin topics terminate persistent://tenant/namespace/topic
 
-### `terminate`
+```
+
+### `partitioned-terminate`
 Terminate a persistent topic (disallow further messages from being published on the topic)
 
 Usage
 
 ```bash
 
-$ pulsar-admin topics terminate persistent://tenant/namespace/topic
+$ pulsar-admin topics partitioned-terminate persistent://tenant/namespace/topic
 
 ```
 
@@ -1617,6 +2695,24 @@ $ pulsar-admin topics unload topic
 
 ```
 
+### `create-subscription`
+Create a new subscription on a topic.
+
+Usage
+
+```bash
+
+$ pulsar-admin topics create-subscription [options] persistent://tenant/namespace/topic
+
+```
+
+Options
+
+|Flag|Description|Default|
+|---|---|---|
+|`-m`, `--messageId`|messageId where to create the subscription. It can be either 'latest', 'earliest' or (ledgerId:entryId)|latest|
+|`-s`, `--subscription`|Subscription to reset position on||
+
 ### `subscriptions`
 Get the list of subscriptions on the topic
 
@@ -1644,6 +2740,7 @@ Options
 |Flag|Description|Default|
 |---|---|---|
 |`-s`, `--subscription`|The subscription to delete||
+|`-f`, `--force`|Disconnect and close all consumers and delete subscription forcefully|false|
 
 
 ### `stats`
@@ -1657,6 +2754,12 @@ $ pulsar-admin topics stats topic
 
 ```
 
+:::note
+
+The unit of `storageSize` and `averageMsgSize` is Byte.
+
+:::
+
 ### `stats-internal`
 Get the internal stats for the topic
 
@@ -1696,6 +2799,16 @@ Options
 |---|---|---|
 |`--per-partition`|Get per-partition stats|false|
 
+### `partitioned-stats-internal`
+Get the internal stats for the partitioned topic and its connected producers and consumers. All the rates are computed over a 1 minute window and are relative the last completed 1 minute period.
+
+Usage
+
+```bash
+
+$ pulsar-admin topics partitioned-stats-internal topic
+
+```
 
 ### `skip`
 Skip some messages for the subscription
@@ -1716,14 +2829,14 @@ Options
 |`-s`, `--subscription`|The subscription on which to skip messages||
 
 
-### `skip-all`
-Skip all the messages for the subscription
+### `clear-backlog`
+Clear backlog (skip all the messages) for the subscription
 
 Usage
 
 ```bash
 
-$ pulsar-admin topics skip-all topic options
+$ pulsar-admin topics clear-backlog topic options
 
 ```
 
@@ -1791,7 +2904,7 @@ Options
 
 
 ### `reset-cursor`
-Reset position for subscription to closest to timestamp
+Reset position for subscription to a position that is closest to timestamp or messageId.
 
 Usage
 
@@ -1806,9 +2919,220 @@ Options
 |Flag|Description|Default|
 |---|---|---|
 |`-s`, `--subscription`|Subscription to reset position on||
-|`-t`, `--time`|The time, in minutes, to reset back to (or minutes, hours, days, weeks, etc.). Examples: `100m`, `3h`, `2d`, `5w`.||
+|`-t`, `--time`|The time in minutes to reset back to (or minutes, hours, days, weeks, etc.). Examples: `100m`, `3h`, `2d`, `5w`.||
+|`-m`, `--messageId`| The message ID to reset back to (`ledgerId:entryId` or earliest or latest). ||
+
+### `get-message-by-id`
+Get message by ledger id and entry id
+
+Usage
+
+```bash
+
+$ pulsar-admin topics get-message-by-id topic options
+
+```
+
+Options
+
+|Flag|Description|Default|
+|---|---|---|
+|`-l`, `--ledgerId`|The ledger id |0|
+|`-e`, `--entryId`|The entry id |0|
+
+### `last-message-id`
+Get the last commit message ID of the topic.
+
+Usage
+
+```bash
+
+$ pulsar-admin topics last-message-id persistent://tenant/namespace/topic
+
+```
+
+### `get-backlog-quotas`
+Get the backlog quota policies for a topic.
+
+Usage
+
+```bash
+
+$ pulsar-admin topics get-backlog-quotas tenant/namespace/topic
+
+```
+
+### `set-backlog-quota`
+Set a backlog quota policy for a topic.
+
+|Flag|Description|Default|
+|----|---|---|
+|`-l`, `--limit`|The backlog size limit (for example `10M` or `16G`)||
+|`-lt`, `--limitTime`|Time limit in second, non-positive number for disabling time limit. (for example 3600 for 1 hour)||
+|`-p`, `--policy`|The retention policy to enforce when the limit is reached. The valid options are: `producer_request_hold`, `producer_exception` or `consumer_backlog_eviction`|
+|`-t`, `--type`|Backlog quota type to set. The valid options are: `destination_storage`, `message_age` |destination_storage|
+
+Usage
+
+```bash
+
+$ pulsar-admin topics set-backlog-quota tenant/namespace/topic options
+
+```
+
+Example
+
+```bash
+
+$ pulsar-admin namespaces set-backlog-quota my-tenant/my-ns/my-topic \
+--limit 2G \
+--policy producer_request_hold
+
+```
+
+```bash
+
+$ pulsar-admin namespaces set-backlog-quota my-tenant/my-ns/my-topic \
+--limitTime 3600 \
+--policy producer_request_hold \
+--type message_age
+
+```
+
+### `remove-backlog-quota`
+Remove a backlog quota policy from a topic.
+
+|Flag|Description|Default|
+|---|---|---|
+|`-t`, `--type`|Backlog quota type to remove. The valid options are: `destination_storage`, `message_age` |destination_storage|
+
+Usage
+
+```bash
+
+$ pulsar-admin topics remove-backlog-quota tenant/namespace/topic
+
+```
+
+### `get-persistence`
+Get the persistence policies for a topic.
+
+Usage
+
+```bash
+
+$ pulsar-admin topics get-persistence tenant/namespace/topic
+
+```
+
+### `set-persistence`
+Set the persistence policies for a topic.
+
+Usage
+
+```bash
+
+$ pulsar-admin topics set-persistence tenant/namespace/topic options
+
+```
+
+Options
+
+|Flag|Description|Default|
+|----|---|---|
+|`-e`, `--bookkeeper-ensemble`|Number of bookies to use for a topic|0|
+|`-w`, `--bookkeeper-write-quorum`|How many writes to make of each entry|0|
+|`-a`, `--bookkeeper-ack-quorum`|Number of acks (guaranteed copies) to wait for each entry|0|
+|`-r`, `--ml-mark-delete-max-rate`|Throttling rate of mark-delete operation (0 means no throttle)||
+
+### `remove-persistence`
+Remove the persistence policy for a topic.
+
+Usage
+
+```bash
+
+$ pulsar-admin topics remove-persistence tenant/namespace/topic
+
+```
+
+### `get-message-ttl`
+Get the message TTL for a topic.
+
+Usage
+
+```bash
+
+$ pulsar-admin topics get-message-ttl tenant/namespace/topic
+
+```
+
+### `set-message-ttl`
+Set the message TTL for a topic.
+
+Usage
+
+```bash
+
+$ pulsar-admin topics set-message-ttl tenant/namespace/topic options
+
+```
+
+Options
+
+|Flag|Description|Default|
+|----|---|---|
+|`-ttl`, `--messageTTL`|Message TTL for a topic in second, allowed range from 1 to `Integer.MAX_VALUE` |0|
+
+### `remove-message-ttl`
+Remove the message TTL for a topic.
+
+Usage
+
+```bash
+
+$ pulsar-admin topics remove-message-ttl tenant/namespace/topic
+
+```
+
+Options 
+|Flag|Description|Default|
+|---|---|---|
+|`--enable`, `-e`|Enable message deduplication on the specified topic.|false|
+|`--disable`, `-d`|Disable message deduplication on the specified topic.|false|
+
+### `get-deduplication`
+Get a deduplication policy for a topic.
+
+Usage
+
+```bash
+
+$ pulsar-admin topics get-deduplication tenant/namespace/topic
+
+```
 
+### `set-deduplication`
+Set a deduplication policy for a topic.
+
+Usage
+
+```bash
+
+$ pulsar-admin topics set-deduplication tenant/namespace/topic options
+
+```
 
+### `remove-deduplication`
+Remove a deduplication policy for a topic.
+
+Usage
+
+```bash
+
+$ pulsar-admin topics remove-deduplication tenant/namespace/topic
+
+```
 
 ## `tenants`
 Operations for managing tenants
@@ -1898,6 +3222,13 @@ $ pulsar-admin tenants delete tenant-name
 
 ```
 
+Options
+
+|Flag|Description|Default|
+|----|---|---|
+|`-f`, `--force`|Delete a tenant forcefully by deleting all namespaces under it.|false|
+
+
 ## `resource-quotas`
 Operations for managing resource quotas
 
@@ -1994,6 +3325,7 @@ Subcommands
 * `upload`
 * `delete`
 * `get`
+* `extract`
 
 
 ### `upload`
@@ -2042,4 +3374,21 @@ Options
 |----|---|---|
 |`--version`|The version of the schema definition to retrieve for a topic.||
 
+### `extract`
+Provide the schema definition for a topic via Java class name contained in a JAR file
+
+Usage
+
+```bash
+
+$ pulsar-admin schemas extract persistent://tenant/namespace/topic options
+
+```
 
+Options
+
+|Flag|Description|Default|
+|----|---|---|
+|`-c`, `--classname`|The Java class name||
+|`-j`, `--jar`|A path to the JAR file which contains the above Java class||
+|`-t`, `--type`|The type of the schema (avro or json)||
diff --git a/site2/website-next/versioned_docs/version-2.1.1-incubating/pulsar-admin.md b/site2/website-next/versioned_docs/version-2.1.0-incubating/reference-pulsar-admin.md
similarity index 99%
copy from site2/website-next/versioned_docs/version-2.1.1-incubating/pulsar-admin.md
copy to site2/website-next/versioned_docs/version-2.1.0-incubating/reference-pulsar-admin.md
index ef2350b9bf..6bde4cb6fa 100644
--- a/site2/website-next/versioned_docs/version-2.1.1-incubating/pulsar-admin.md
+++ b/site2/website-next/versioned_docs/version-2.1.0-incubating/reference-pulsar-admin.md
@@ -1,8 +1,8 @@
 ---
-id: pulsar-admin
+id: reference-pulsar-admin
 title: Pulsar admin CLI
 sidebar_label: "Pulsar Admin CLI"
-original_id: pulsar-admin
+original_id: reference-pulsar-admin
 ---
 
 The `pulsar-admin` tool enables you to manage Pulsar installations, including clusters, brokers, namespaces, tenants, and more.
diff --git a/site2/website-next/versioned_docs/version-2.1.1-incubating/concepts-messaging.md b/site2/website-next/versioned_docs/version-2.1.1-incubating/concepts-messaging.md
index 1e088ef37e..22da8a3223 100644
--- a/site2/website-next/versioned_docs/version-2.1.1-incubating/concepts-messaging.md
+++ b/site2/website-next/versioned_docs/version-2.1.1-incubating/concepts-messaging.md
@@ -652,7 +652,7 @@ Subscription mode | Description | Note
 `Durable`|The cursor is durable, which retains messages and persists the current position. <br />If a broker restarts from a failure, it can recover the cursor from the persistent storage (BookKeeper), so that messages can continue to be consumed from the last consumed position.|`Durable` is the **default** subscription mode.
 `NonDurable`|The cursor is non-durable. <br />Once a broker stops, the cursor is lost and can never be recovered, so that messages **can not** continue to be consumed from the last consumed position.|Reader’s subscription mode is `NonDurable` in nature and it does not prevent data in a topic from being deleted. Reader’s subscription mode **can not** be changed. 
 
-A [subscription](#concepts-messaging.md/#subscriptions) can have one or more consumers. When a consumer subscribes to a topic, it must specify the subscription name. A durable subscription and a non-durable subscription can have the same name, they are independent of each other. If a consumer specifies a subscription which does not exist before, the subscription is automatically created.
+A [subscription](#subscriptions) can have one or more consumers. When a consumer subscribes to a topic, it must specify the subscription name. A durable subscription and a non-durable subscription can have the same name, they are independent of each other. If a consumer specifies a subscription which does not exist before, the subscription is automatically created.
 
 #### When to use
 
diff --git a/site2/website-next/versioned_docs/version-2.1.1-incubating/cookbooks-tiered-storage.md b/site2/website-next/versioned_docs/version-2.1.1-incubating/cookbooks-tiered-storage.md
index f525250d7e..328b7c6d64 100644
--- a/site2/website-next/versioned_docs/version-2.1.1-incubating/cookbooks-tiered-storage.md
+++ b/site2/website-next/versioned_docs/version-2.1.1-incubating/cookbooks-tiered-storage.md
@@ -78,7 +78,7 @@ export AWS_SECRET_ACCESS_KEY=ded7db27a4558e2ea8bbf0bf37ae0e8521618f366c
 
 ```bash
 
-PULSAR_EXTRA_OPTS="${PULSAR_EXTRA_OPTS} ${PULSAR_MEM} ${PULSAR_GC} -Daws.accessKeyId=ABC123456789 -Daws.secretKey=ded7db27a4558e2ea8bbf0bf37ae0e8521618f366c -Dio.netty.leakDetectionLevel=disabled -Dio.netty.recycler.maxCapacity.default=1000 -Dio.netty.recycler.linkCapacity=1024"
+PULSAR_EXTRA_OPTS="${PULSAR_EXTRA_OPTS} ${PULSAR_MEM} ${PULSAR_GC} -Daws.accessKeyId=ABC123456789 -Daws.secretKey=ded7db27a4558e2ea8bbf0bf37ae0e8521618f366c -Dio.netty.leakDetectionLevel=disabled -Dio.netty.recycler.maxCapacityPerThread=4096"
 
 ```
 
diff --git a/site2/website-next/versioned_docs/version-2.1.1-incubating/pulsar-admin.md b/site2/website-next/versioned_docs/version-2.1.1-incubating/pulsar-admin.md
index ef2350b9bf..ff0c575b31 100644
--- a/site2/website-next/versioned_docs/version-2.1.1-incubating/pulsar-admin.md
+++ b/site2/website-next/versioned_docs/version-2.1.1-incubating/pulsar-admin.md
@@ -5,6 +5,10 @@ sidebar_label: "Pulsar Admin CLI"
 original_id: pulsar-admin
 ---
 
+> **Important**
+>
+> This page is deprecated and not updated anymore. For the latest and complete information about `Pulsar admin`, including commands, flags, descriptions, and more, see [Pulsar admin doc](https://pulsar.apache.org/tools/pulsar-admin/)
+
 The `pulsar-admin` tool enables you to manage Pulsar installations, including clusters, brokers, namespaces, tenants, and more.
 
 Usage
@@ -20,10 +24,15 @@ Commands
 * `brokers`
 * `clusters`
 * `functions`
+* `functions-worker`
 * `namespaces`
 * `ns-isolation-policy`
-* `sink`
-* `source`
+* `sources`
+
+  For more information, see [here](io-cli.md#sources)
+* `sinks`
+  
+  For more information, see [here](io-cli.md#sinks)
 * `topics`
 * `tenants`
 * `resource-quotas`
@@ -41,10 +50,10 @@ $ pulsar-admin broker-stats subcommand
 
 Subcommands
 * `allocator-stats`
-* `destinations`
+* `topics(destinations)`
 * `mbeans`
 * `monitoring-metrics`
-* `topics`
+* `load-report`
 
 
 ### `allocator-stats`
@@ -59,7 +68,7 @@ $ pulsar-admin broker-stats allocator-stats allocator-name
 
 ```
 
-### `destinations`
+### `topics(destinations)`
 
 Dump topic stats
 
@@ -67,7 +76,7 @@ Usage
 
 ```bash
 
-$ pulsar-admin broker-stats destinations options
+$ pulsar-admin broker-stats topics options
 
 ```
 
@@ -115,25 +124,18 @@ Options
 |`-i`, `--indent`|Indent JSON output|false|
 
 
-### `topics`
+### `load-report`
 
-Dump topic stats
+Dump broker load-report
 
 Usage
 
 ```bash
 
-$ pulsar-admin broker-stats topics options
+$ pulsar-admin broker-stats load-report
 
 ```
 
-Options
-
-|Flag|Description|Default|
-|---|---|---|
-|`-i`, `--indent`|Indent JSON output|false|
-
-
 ## `brokers`
 
 Operations about brokers
@@ -151,6 +153,8 @@ Subcommands
 * `list-dynamic-config`
 * `get-all-dynamic-config`
 * `get-internal-config`
+* `get-runtime-config`
+* `healthcheck`
 
 ### `list`
 List active brokers of the cluster
@@ -163,6 +167,17 @@ $ pulsar-admin brokers list cluster-name
 
 ```
 
+### `leader-broker`
+Get the information of the leader broker
+
+Usage
+
+```bash
+
+$ pulsar-admin brokers leader-broker
+
+```
+
 ### `namespaces`
 List namespaces owned by the broker
 
@@ -211,6 +226,24 @@ $ pulsar-admin brokers list-dynamic-config
 
 ```
 
+### `delete-dynamic-config`
+Delete dynamic-serviceConfiguration of broker
+
+Usage
+
+```bash
+
+$ pulsar-admin brokers delete-dynamic-config options
+
+```
+
+Options
+
+|Flag|Description|Default|
+|---|---|---|
+|`--config`|Service configuration parameter name||
+
+
 ### `get-all-dynamic-config`
 Get all overridden dynamic-configuration values
 
@@ -233,6 +266,28 @@ $ pulsar-admin brokers get-internal-config
 
 ```
 
+### `get-runtime-config`
+Get runtime configuration values
+
+Usage
+
+```bash
+
+$ pulsar-admin brokers get-runtime-config
+
+```
+
+### `healthcheck`
+Run a health check against the broker
+
+Usage
+
+```bash
+
+$ pulsar-admin brokers healthcheck
+
+```
+
 ## `clusters`
 Operations about clusters
 
@@ -251,6 +306,12 @@ Subcommands
 * `delete`
 * `list`
 * `update-peer-clusters`
+* `get-peer-clusters`
+* `get-failure-domain`
+* `create-failure-domain`
+* `update-failure-domain`
+* `delete-failure-domain`
+* `list-failure-domains`
 
 
 ### `get`
@@ -335,7 +396,105 @@ Usage
 
 ```bash
 
-$ pulsar-admin clusters update-peer-clusters peer-cluster-names
+$ pulsar-admin clusters update-peer-clusters cluster-name options
+
+```
+
+Options
+
+|Flag|Description|Default|
+|---|---|---|
+|`--peer-clusters`|Comma separated peer cluster names (Pass empty string "" to delete list)||
+
+### `get-peer-clusters`
+Get list of peer clusters
+
+Usage
+
+```bash
+
+$ pulsar-admin clusters get-peer-clusters
+
+```
+
+### `get-failure-domain`
+Get the configuration brokers of a failure domain
+
+Usage
+
+```bash
+
+$ pulsar-admin clusters get-failure-domain cluster-name options
+
+```
+
+Options
+
+|Flag|Description|Default|
+|---|---|---|
+|`--domain-name`|The failure domain name, which is a logical domain under a Pulsar cluster||
+
+### `create-failure-domain`
+Create a new failure domain for a cluster (updates it if already created)
+
+Usage
+
+```bash
+
+$ pulsar-admin clusters create-failure-domain cluster-name options
+
+```
+
+Options
+
+|Flag|Description|Default|
+|---|---|---|
+|`--broker-list`|Comma separated broker list||
+|`--domain-name`|The failure domain name, which is a logical domain under a Pulsar cluster||
+
+### `update-failure-domain`
+Update failure domain for a cluster (creates a new one if not exist)
+
+Usage
+
+```bash
+
+$ pulsar-admin clusters update-failure-domain cluster-name options
+
+```
+
+Options
+
+|Flag|Description|Default|
+|---|---|---|
+|`--broker-list`|Comma separated broker list||
+|`--domain-name`|The failure domain name, which is a logical domain under a Pulsar cluster||
+
+### `delete-failure-domain`
+Delete an existing failure domain
+
+Usage
+
+```bash
+
+$ pulsar-admin clusters delete-failure-domain cluster-name options
+
+```
+
+Options
+
+|Flag|Description|Default|
+|---|---|---|
+|`--domain-name`|The failure domain name, which is a logical domain under a Pulsar cluster||
+
+### `list-failure-domains`
+List the existing failure domains for a cluster
+
+Usage
+
+```bash
+
+$ pulsar-admin clusters list-failure-domains cluster-name
 
 ```
 
@@ -357,14 +516,19 @@ Subcommands
 * `delete`
 * `update`
 * `get`
-* `getstatus`
+* `restart`
+* `stop`
+* `start`
+* `status`
+* `stats`
 * `list`
 * `querystate`
+* `putstate`
 * `trigger`
 
 
 ### `localrun`
-Run a Pulsar Function locally
+Run the Pulsar Function locally (rather than deploying it to the Pulsar cluster)
 
 
 Usage
@@ -379,31 +543,54 @@ Options
 
 |Flag|Description|Default|
 |---|---|---|
-|`--cpu`|The CPU to allocate to each function instance (in number of cores)||
-|`--ram`|The RAM to allocate to each function instance (in bytes)||
-|`--disk`|The disk space to allocate to each function instance (in bytes)||
-|`--brokerServiceUrl `|The URL of the Pulsar broker||
-|`--className`|The name of the function’s class||
-|`--customSerdeInputs`|A map of the input topic to SerDe name||
-|`--functionConfigFile`|The path of the YAML config file used to configure the function||
-|`--inputs`|The input topics for the function (as a comma-separated list if more than one topic is desired)||
-|`--logTopic`|The topic to which logs from this function are published||
-|`--jar`|A path to the JAR file for the function (if the function is written in Java)||
-|`--name`|The name of the function|The value specified by --className|
-|`--namespace`|The function’s namespace||
-|`--output`|The name of the topic to which the function publishes its output (if any)||
-|`--outputSerdeClassName`|The SerDe class used for the function’s output||
+|`--cpu`|The cpu in cores that need to be allocated per function instance(applicable only to docker runtime)||
+|`--ram`|The ram in bytes that need to be allocated per function instance(applicable only to process/docker runtime)||
+|`--disk`|The disk in bytes that need to be allocated per function instance(applicable only to docker runtime)||
+|`--auto-ack`|Whether or not the framework will automatically acknowledge messages||
+|`--subs-name`|Pulsar source subscription name if user wants a specific subscription-name for input-topic consumer||
+|`--broker-service-url `|The URL of the Pulsar broker||
+|`--classname`|The function's class name||
+|`--custom-serde-inputs`|The map of input topics to SerDe class names (as a JSON string)||
+|`--custom-schema-inputs`|The map of input topics to Schema class names (as a JSON string)||
+|`--client-auth-params`|Client authentication param||
+|`--client-auth-plugin`|Client authentication plugin using which function-process can connect to broker||
+|`--function-config-file`|The path to a YAML config file specifying the function's configuration||
+|`--hostname-verification-enabled`|Enable hostname verification|false|
+|`--instance-id-offset`|Start the instanceIds from this offset|0|
+|`--inputs`|The function's input topic or topics (multiple topics can be specified as a comma-separated list)||
+|`--log-topic`|The topic to which the function's logs are produced||
+|`--jar`|Path to the jar file for the function (if the function is written in Java). It also supports URL path [http/https/file (file protocol assumes that file already exists on worker host)/function (package URL from packages management service)] from which worker can download the package.||
+|`--name`|The function's name||
+|`--namespace`|The function's namespace||
+|`--output`|The function's output topic (If none is specified, no output is written)||
+|`--output-serde-classname`|The SerDe class to be used for messages output by the function||
 |`--parallelism`|The function’s parallelism factor, i.e. the number of instances of the function to run|1|
-|`--processingGuarantees`|The processing guarantees applied to the function. Can be one of: ATLEAST_ONCE, ATMOST_ONCE, or EFFECTIVELY_ONCE|ATLEAST_ONCE|
-|`--py`|The path of the Python file containing the function’s processing logic (if the function is written in Python)||
-|`--stateStorageServiceUrl`|The service URL for the function’s state storage (if the function uses a storage system different from the Apache BookKeeper cluster used by Pulsar)||
-|`--subscriptionType`|The subscription type used by the function when consuming messages on the input topic(s). Can be either SHARED or EXCLUSIVE|SHARED|
+|`--processing-guarantees`|The processing guarantees (aka delivery semantics) applied to the function. Possible Values: [ATLEAST_ONCE, ATMOST_ONCE, EFFECTIVELY_ONCE]|ATLEAST_ONCE|
+|`--py`|Path to the main Python file/Python Wheel file for the function (if the function is written in Python). It also supports URL path [http/https/file (file protocol assumes that file already exists on worker host)/function (package URL from packages management service)] from which worker can download the package.||
+|`--go`|Path to the main Go executable binary for the function (if the function is written in Go). It also supports URL path [http/https/file (file protocol assumes that file already exists on worker host)/function (package URL from packages management service)] from which worker can download the package.||
+|`--schema-type`|The builtin schema type or custom schema class name to be used for messages output by the function||
+|`--sliding-interval-count`|The number of messages after which the window slides||
+|`--sliding-interval-duration-ms`|The time duration after which the window slides||
+|`--state-storage-service-url`|The URL for the state storage service. By default, it it set to the service URL of the Apache BookKeeper. This service URL must be added manually when the Pulsar Function runs locally. ||
 |`--tenant`|The function’s tenant||
-|`--userConfig`|A user-supplied config value, set as a key/value pair. You can set multiple user config values.||
+|`--topics-pattern`|The topic pattern to consume from list of topics under a namespace that match the pattern. [--input] and [--topic-pattern] are mutually exclusive. Add SerDe class name for a pattern in --custom-serde-inputs (supported for java fun only)||
+|`--user-config`|User-defined config key/values||
+|`--window-length-count`|The number of messages per window||
+|`--window-length-duration-ms`|The time duration of the window in milliseconds||
+|`--dead-letter-topic`|The topic where all messages which could not be processed successfully are sent||
+|`--fqfn`|The Fully Qualified Function Name (FQFN) for the function||
+|`--max-message-retries`|How many times should we try to process a message before giving up||
+|`--retain-ordering`|Function consumes and processes messages in order||
+|`--retain-key-ordering`|Function consumes and processes messages in key order||
+|`--timeout-ms`|The message timeout in milliseconds||
+|`--tls-allow-insecure`|Allow insecure tls connection|false|
+|`--tls-trust-cert-path`|The tls trust cert file path||
+|`--use-tls`|Use tls connection|false|
+|`--producer-config`| The custom producer configuration (as a JSON string) | |
 
 
 ### `create`
-Creates a new Pulsar Function on the target infrastructure
+Create a Pulsar Function in cluster mode (i.e. deploy it on a Pulsar cluster)
 
 Usage
 
@@ -417,31 +604,45 @@ Options
 
 |Flag|Description|Default|
 |---|---|---|
-|`--cpu`|The CPU to allocate to each function instance (in number of cores)||
-|`--ram`|The RAM to allocate to each function instance (in bytes)||
-|`--disk`|The disk space to allocate to each function instance (in bytes)||
-|`--brokerServiceUrl `|The URL of the Pulsar broker||
-|`--className`|The name of the function’s class||
-|`--customSerdeInputs`|A map of the input topic to SerDe name||
-|`--functionConfigFile`|The path of the YAML config file used to configure the function||
-|`--inputs`|The input topics for the function (as a comma-separated list if more than one topic is desired)||
-|`--logTopic`|The topic to which logs from this function are published||
-|`--jar`|A path to the JAR file for the function (if the function is written in Java)||
-|`--name`|The name of the function|The value specified by --className|
+|`--cpu`|The cpu in cores that need to be allocated per function instance(applicable only to docker runtime)||
+|`--ram`|The ram in bytes that need to be allocated per function instance(applicable only to process/docker runtime)||
+|`--disk`|The disk in bytes that need to be allocated per function instance(applicable only to docker runtime)||
+|`--auto-ack`|Whether or not the framework will automatically acknowledge messages||
+|`--subs-name`|Pulsar source subscription name if user wants a specific subscription-name for input-topic consumer||
+|`--classname`|The function's class name||
+|`--custom-serde-inputs`|The map of input topics to SerDe class names (as a JSON string)||
+|`--custom-schema-inputs`|The map of input topics to Schema class names (as a JSON string)||
+|`--function-config-file`|The path to a YAML config file specifying the function's configuration||
+|`--inputs`|The function's input topic or topics (multiple topics can be specified as a comma-separated list)||
+|`--log-topic`|The topic to which the function's logs are produced||
+|`--jar`|Path to the jar file for the function (if the function is written in Java). It also supports URL path [http/https/file (file protocol assumes that file already exists on worker host)/function (package URL from packages management service)] from which worker can download the package.||
+|`--name`|The function's name||
 |`--namespace`|The function’s namespace||
-|`--output`|The name of the topic to which the function publishes its output (if any)||
-|`--outputSerdeClassName`|The SerDe class used for the function’s output||
+|`--output`|The function's output topic (If none is specified, no output is written)||
+|`--output-serde-classname`|The SerDe class to be used for messages output by the function||
 |`--parallelism`|The function’s parallelism factor, i.e. the number of instances of the function to run|1|
-|`--processingGuarantees`|The processing guarantees applied to the function. Can be one of: ATLEAST_ONCE, ATMOST_ONCE, or EFFECTIVELY_ONCE|ATLEAST_ONCE|
-|`--py`|The path of the Python file containing the function’s processing logic (if the function is written in Python)||
-|`--stateStorageServiceUrl`|The service URL for the function’s state storage (if the function uses a storage system different from the Apache BookKeeper cluster used by Pulsar)||
-|`--subscriptionType`|The subscription type used by the function when consuming messages on the input topic(s). Can be either SHARED or EXCLUSIVE|SHARED|
+|`--processing-guarantees`|The processing guarantees (aka delivery semantics) applied to the function. Possible Values: [ATLEAST_ONCE, ATMOST_ONCE, EFFECTIVELY_ONCE]|ATLEAST_ONCE|
+|`--py`|Path to the main Python file/Python Wheel file for the function (if the function is written in Python). It also supports URL path [http/https/file (file protocol assumes that file already exists on worker host)/function (package URL from packages management service)] from which worker can download the package.||
+|`--go`|Path to the main Go executable binary for the function (if the function is written in Go). It also supports URL path [http/https/file (file protocol assumes that file already exists on worker host)/function (package URL from packages management service)] from which worker can download the package.||
+|`--schema-type`|The builtin schema type or custom schema class name to be used for messages output by the function||
+|`--sliding-interval-count`|The number of messages after which the window slides||
+|`--sliding-interval-duration-ms`|The time duration after which the window slides||
 |`--tenant`|The function’s tenant||
-|`--userConfig`|A user-supplied config value, set as a key/value pair. You can set multiple user config values.||
+|`--topics-pattern`|The topic pattern to consume from list of topics under a namespace that match the pattern. [--input] and [--topic-pattern] are mutually exclusive. Add SerDe class name for a pattern in --custom-serde-inputs (supported for java fun only)||
+|`--user-config`|User-defined config key/values||
+|`--window-length-count`|The number of messages per window||
+|`--window-length-duration-ms`|The time duration of the window in milliseconds||
+|`--dead-letter-topic`|The topic where all messages which could not be processed||
+|`--fqfn`|The Fully Qualified Function Name (FQFN) for the function||
+|`--max-message-retries`|How many times should we try to process a message before giving up||
+|`--retain-ordering`|Function consumes and processes messages in order||
+|`--retain-key-ordering`|Function consumes and processes messages in key order||
+|`--timeout-ms`|The message timeout in milliseconds||
+|`--producer-config`| The custom producer configuration (as a JSON string) | |
 
 
 ### `delete`
-Deletes an existing Pulsar Function
+Delete a Pulsar Function that's running on a Pulsar cluster
 
 Usage
 
@@ -455,13 +656,14 @@ Options
 
 |Flag|Description|Default|
 |---|---|---|
-|`--name`|The name of the function to delete||
-|`--namespace`|The namespace of the function to delete||
-|`--tenant`|The tenant of the function to delete||
+|`--fqfn`|The Fully Qualified Function Name (FQFN) for the function||
+|`--name`|The function's name||
+|`--namespace`|The function's namespace||
+|`--tenant`|The function's tenant||
 
 
 ### `update`
-Updates an existing Pulsar Function
+Update a Pulsar Function that's been deployed to a Pulsar cluster
 
 Usage
 
@@ -475,25 +677,45 @@ Options
 
 |Flag|Description|Default|
 |---|---|---|
-|`--className`|The name of the function’s class||
-|`--customSerdeInputs`|A map of the input topic to SerDe name||
-|`--functionConfigFile`|The path of the YAML config file used to configure the function||
-|`--inputs`|The input topics for the function (as a comma-separated list if more than one topic is desired)||
-|`--logTopic`|The topic to which logs from this function are published||
-|`--jar`|A path to the JAR file for the function (if the function is written in Java)||
-|`--name`|The name of the function|The value specified by --className|
+|`--cpu`|The cpu in cores that need to be allocated per function instance(applicable only to docker runtime)||
+|`--ram`|The ram in bytes that need to be allocated per function instance(applicable only to process/docker runtime)||
+|`--disk`|The disk in bytes that need to be allocated per function instance(applicable only to docker runtime)||
+|`--auto-ack`|Whether or not the framework will automatically acknowledge messages||
+|`--subs-name`|Pulsar source subscription name if user wants a specific subscription-name for input-topic consumer||
+|`--classname`|The function's class name||
+|`--custom-serde-inputs`|The map of input topics to SerDe class names (as a JSON string)||
+|`--custom-schema-inputs`|The map of input topics to Schema class names (as a JSON string)||
+|`--function-config-file`|The path to a YAML config file specifying the function's configuration||
+|`--inputs`|The function's input topic or topics (multiple topics can be specified as a comma-separated list)||
+|`--log-topic`|The topic to which the function's logs are produced||
+|`--jar`|Path to the jar file for the function (if the function is written in Java). It also supports URL path [http/https/file (file protocol assumes that file already exists on worker host)/function (package URL from packages management service)] from which worker can download the package.||
+|`--name`|The function's name||
 |`--namespace`|The function’s namespace||
-|`--output`|The name of the topic to which the function publishes its output (if any)||
-|`--outputSerdeClassName`|The SerDe class used for the function’s output||
+|`--output`|The function's output topic (If none is specified, no output is written)||
+|`--output-serde-classname`|The SerDe class to be used for messages output by the function||
 |`--parallelism`|The function’s parallelism factor, i.e. the number of instances of the function to run|1|
-|`--processingGuarantees`|The processing guarantees applied to the function. Can be one of: ATLEAST_ONCE, ATMOST_ONCE, or EFFECTIVELY_ONCE|ATLEAST_ONCE|
-|`--py`|The path of the Python file containing the function’s processing logic (if the function is written in Python)||
-|`--subscriptionType`|The subscription type used by the function when consuming messages on the input topic(s). Can be either SHARED or EXCLUSIVE|SHARED|
+|`--processing-guarantees`|The processing guarantees (aka delivery semantics) applied to the function. Possible Values: [ATLEAST_ONCE, ATMOST_ONCE, EFFECTIVELY_ONCE]|ATLEAST_ONCE|
+|`--py`|Path to the main Python file/Python Wheel file for the function (if the function is written in Python). It also supports URL path [http/https/file (file protocol assumes that file already exists on worker host)/function (package URL from packages management service)] from which worker can download the package.||
+|`--go`|Path to the main Go executable binary for the function (if the function is written in Go). It also supports URL path [http/https/file (file protocol assumes that file already exists on worker host)/function (package URL from packages management service)] from which worker can download the package.||
+|`--schema-type`|The builtin schema type or custom schema class name to be used for messages output by the function||
+|`--sliding-interval-count`|The number of messages after which the window slides||
+|`--sliding-interval-duration-ms`|The time duration after which the window slides||
 |`--tenant`|The function’s tenant||
-|`--userConfig`|A user-supplied config value, set as a key/value pair. You can set multiple user config values.||
+|`--topics-pattern`|The topic pattern to consume from list of topics under a namespace that match the pattern. [--input] and [--topic-pattern] are mutually exclusive. Add SerDe class name for a pattern in --custom-serde-inputs (supported for java fun only)||
+|`--user-config`|User-defined config key/values||
+|`--window-length-count`|The number of messages per window||
+|`--window-length-duration-ms`|The time duration of the window in milliseconds||
+|`--dead-letter-topic`|The topic where all messages which could not be processed||
+|`--fqfn`|The Fully Qualified Function Name (FQFN) for the function||
+|`--max-message-retries`|How many times should we try to process a message before giving up||
+|`--retain-ordering`|Function consumes and processes messages in order||
+|`--retain-key-ordering`|Function consumes and processes messages in key order||
+|`--timeout-ms`|The message timeout in milliseconds||
+|`--producer-config`| The custom producer configuration (as a JSON string) | |
+
 
 ### `get`
-Fetch information about an existing Pulsar Function
+Fetch information about a Pulsar Function
 
 Usage
 
@@ -507,19 +729,20 @@ Options
 
 |Flag|Description|Default|
 |---|---|---|
-|`--name`|The name of the function||
-|`--namespace`|The namespace of the function||
-|`--tenant`|The tenant of the function||
+|`--fqfn`|The Fully Qualified Function Name (FQFN) for the function||
+|`--name`|The function's name||
+|`--namespace`|The function's namespace||
+|`--tenant`|The function's tenant||
 
 
-### `getstatus`
-Get the status of an existing Pulsar Function
+### `restart`
+Restart function instance
 
 Usage
 
 ```bash
 
-$ pulsar-admin functions getstatus options
+$ pulsar-admin functions restart options
 
 ```
 
@@ -527,19 +750,21 @@ Options
 
 |Flag|Description|Default|
 |---|---|---|
-|`--name`|The name of the function||
-|`--namespace`|The namespace of the function||
-|`--tenant`|The tenant of the function||
+|`--fqfn`|The Fully Qualified Function Name (FQFN) for the function||
+|`--instance-id`|The function instanceId (restart all instances if instance-id is not provided)||
+|`--name`|The function's name||
+|`--namespace`|The function's namespace||
+|`--tenant`|The function's tenant||
 
 
-### `list`
-List all Pulsar Functions for a specific tenant and namespace
+### `stop`
+Stops function instance
 
 Usage
 
 ```bash
 
-$ pulsar-admin functions list options
+$ pulsar-admin functions stop options
 
 ```
 
@@ -547,18 +772,21 @@ Options
 
 |Flag|Description|Default|
 |---|---|---|
-|`--namespace`|The namespace of the function||
-|`--tenant`|The tenant of the function||
+|`--fqfn`|The Fully Qualified Function Name (FQFN) for the function||
+|`--instance-id`|The function instanceId (stop all instances if instance-id is not provided)||
+|`--name`|The function's name||
+|`--namespace`|The function's namespace||
+|`--tenant`|The function's tenant||
 
 
-### `querystate`
-Retrieve the current state of a Pulsar Function by key
+### `start`
+Starts a stopped function instance
 
 Usage
 
 ```bash
 
-$ pulsar-admin functions querystate options
+$ pulsar-admin functions start options
 
 ```
 
@@ -566,22 +794,21 @@ Options
 
 |Flag|Description|Default|
 |---|---|---|
-|`-k`, `--key`|The key for the state you want to fetch||
-|`--name`|The name of the function whose state you want to query||
-|`--namespace`|The namespace of the function whose state you want to query||
-|`--tenant`|The tenant of the function whose state you want to query||
-|`-u`, `--storage-service-url`|The service URL for the function’s state storage (if the function uses a storage system different from the Apache BookKeeper cluster used by Pulsar)||
-|`-w`, `--watch`|If set, watching for state changes is enabled|false|
+|`--fqfn`|The Fully Qualified Function Name (FQFN) for the function||
+|`--instance-id`|The function instanceId (start all instances if instance-id is not provided)||
+|`--name`|The function's name||
+|`--namespace`|The function's namespace||
+|`--tenant`|The function's tenant||
 
 
-### `trigger`
-Triggers the specified Pulsar Function with a supplied value or file data
+### `status`
+Check the current status of a Pulsar Function
 
 Usage
 
 ```bash
 
-$ pulsar-admin functions trigger options
+$ pulsar-admin functions status options
 
 ```
 
@@ -589,106 +816,83 @@ Options
 
 |Flag|Description|Default|
 |---|---|---|
-|`--name`|The name of the Pulsar Function to trigger||
-|`--namespace`|The namespace of the Pulsar Function to trigger||
-|`--tenant`|The tenant of the Pulsar Function to trigger||
-|`--triggerFile`|The path to the file containing the data with which the Pulsar Function is to be triggered||
-|`--triggerValue`|The value with which the Pulsar Function is to be triggered||
+|`--fqfn`|The Fully Qualified Function Name (FQFN) for the function||
+|`--instance-id`|The function instanceId (Get-status of all instances if instance-id is not provided)||
+|`--name`|The function's name||
+|`--namespace`|The function's namespace||
+|`--tenant`|The function's tenant||
 
 
-## `namespaces`
+### `stats`
+Get the current stats of a Pulsar Function
 
-Operations for managing namespaces
+Usage
 
 ```bash
 
-$ pulsar-admin namespaces subcommand
+$ pulsar-admin functions stats options
 
 ```
 
-Subcommands
-* `list`
-* `list-cluster`
-* `destinations`
-* `policies`
-* `create`
-* `delete`
-* `set-deduplication`
-* `permissions`
-* `grant-permission`
-* `revoke-permission`
-* `set-clusters`
-* `get-clusters`
-* `get-backlog-quotas`
-* `set-backlog-quota`
-* `remove-backlog-quota`
-* `get-persistence`
-* `set-persistence`
-* `get-message-ttl`
-* `set-message-ttl`
-* `get-retention`
-* `set-retention`
-* `unload`
-* `clear-backlog`
-* `unsubscribe`
-* `get-compaction-threshold`
-* `set-compaction-threshold`
-* `get-offload-threshold`
-* `set-offload-threshold`
+Options
 
+|Flag|Description|Default|
+|---|---|---|
+|`--fqfn`|The Fully Qualified Function Name (FQFN) for the function||
+|`--instance-id`|The function instanceId (Get-stats of all instances if instance-id is not provided)||
+|`--name`|The function's name||
+|`--namespace`|The function's namespace||
+|`--tenant`|The function's tenant||
 
 ### `list`
-Get the namespaces for a tenant
+List all of the Pulsar Functions running under a specific tenant and namespace
 
 Usage
 
 ```bash
 
-$ pulsar-admin namespaces list tenant-name
+$ pulsar-admin functions list options
 
 ```
 
-### `list-cluster`
-Get the namespaces for a tenant in the cluster
-
-Usage
-
-```bash
+Options
 
-$ pulsar-admin namespaces list-cluster tenant/cluster
+|Flag|Description|Default|
+|---|---|---|
+|`--namespace`|The function's namespace||
+|`--tenant`|The function's tenant||
 
-```
 
-### `destinations`
-Get the destinations for a namespace
+### `querystate`
+Fetch the current state associated with a Pulsar Function running in cluster mode
 
 Usage
 
 ```bash
 
-$ pulsar-admin namespaces destinations tenant/cluster/namespace
+$ pulsar-admin functions querystate options
 
 ```
 
-### `policies`
-Get the policies of a namespace
-
-Usage
-
-```bash
-
-$ pulsar-admin namespaces policies tenant/cluster/namespace
+Options
 
-```
+|Flag|Description|Default|
+|---|---|---|
+|`--fqfn`|The Fully Qualified Function Name (FQFN) for the function||
+|`-k`, `--key`|The key for the state you want to fetch||
+|`--name`|The function's name||
+|`--namespace`|The function's namespace||
+|`--tenant`|The function's tenant||
+|`-w`, `--watch`|Watch for changes in the value associated with a key for a Pulsar Function|false|
 
-### `create`
-Create a new namespace
+### `putstate`
+Put a key/value pair to the state associated with a Pulsar Function
 
 Usage
 
 ```bash
 
-$ pulsar-admin namespaces create tenant/cluster/namespace options
+$ pulsar-admin functions putstate options
 
 ```
 
@@ -696,135 +900,805 @@ Options
 
 |Flag|Description|Default|
 |---|---|---|
-|`-b` , `--bundles`|The number of bundles to activate|0|
-
+|`--fqfn`|The Fully Qualified Function Name (FQFN) for the Pulsar Function||
+|`--name`|The name of a Pulsar Function||
+|`--namespace`|The namespace of a Pulsar Function||
+|`--tenant`|The tenant of a Pulsar Function||
+|`-s`, `--state`|The FunctionState that needs to be put||
 
-### `delete`
-Deletes a namespace
+### `trigger`
+Triggers the specified Pulsar Function with a supplied value
 
 Usage
 
 ```bash
 
-$ pulsar-admin namespaces delete tenant/cluster/namespace
+$ pulsar-admin functions trigger options
 
 ```
 
-### `set-deduplication`
-Enable or disable message deduplication on a namespace
+Options
+
+|Flag|Description|Default|
+|---|---|---|
+|`--fqfn`|The Fully Qualified Function Name (FQFN) for the function||
+|`--name`|The function's name||
+|`--namespace`|The function's namespace||
+|`--tenant`|The function's tenant||
+|`--topic`|The specific topic name that the function consumes from that you want to inject the data to||
+|`--trigger-file`|The path to the file that contains the data with which you'd like to trigger the function||
+|`--trigger-value`|The value with which you want to trigger the function||
 
-Usage
+
+## `functions-worker`
+Operations to collect function-worker statistics
 
 ```bash
 
-$ pulsar-admin namespaces set-deduplication tenant/cluster/namespace options
+$ pulsar-admin functions-worker subcommand
 
 ```
 
-Options
+Subcommands
 
-|Flag|Description|Default|
-|---|---|---|
-|`--enable`, `-e`|Enable message deduplication on the specified namespace|false|
-|`--disable`, `-d`|Disable message deduplication on the specified namespace|false|
+* `function-stats`
+* `get-cluster`
+* `get-cluster-leader`
+* `get-function-assignments`
+* `monitoring-metrics`
 
+### `function-stats`
 
-### `permissions`
-Get the permissions on a namespace
+Dump all functions stats running on this broker
 
 Usage
 
 ```bash
 
-$ pulsar-admin namespaces permissions tenant/cluster/namespace
+$ pulsar-admin functions-worker function-stats
 
 ```
 
-### `grant-permission`
-Grant permissions on a namespace
+### `get-cluster`
+
+Get all workers belonging to this cluster
 
 Usage
 
 ```bash
 
-$ pulsar-admin namespaces grant-permission tenant/cluster/namespace options
+$ pulsar-admin functions-worker get-cluster
 
 ```
 
-Options
-
-|Flag|Description|Default|
-|---|---|---|
-|`--actions`|Actions to be granted (`produce` or `consume`)||
-|`--role`|The client role to which to grant the permissions||
-
+### `get-cluster-leader`
 
-### `revoke-permission`
-Revoke permissions on a namespace
+Get the leader of the worker cluster
 
 Usage
 
 ```bash
 
-$ pulsar-admin namespaces revoke-permission tenant/cluster/namespace options
+$ pulsar-admin functions-worker get-cluster-leader
 
 ```
 
-Options
-
-|Flag|Description|Default|
-|---|---|---|
-|`--role`|The client role to which to grant the permissions||
-
+### `get-function-assignments`
 
-### `set-clusters`
-Set replication clusters for a namespace
+Get the assignments of the functions across the worker cluster
 
 Usage
 
 ```bash
 
-$ pulsar-admin namespaces set-clusters tenant/cluster/namespace options
+$ pulsar-admin functions-worker get-function-assignments
 
 ```
 
-Options
-
-|Flag|Description|Default|
-|---|---|---|
-|`-c`, `--clusters`|Replication clusters ID list (comma-separated values)||
-
+### `monitoring-metrics`
 
-### `get-clusters`
-Get replication clusters for a namespace
+Dump metrics for Monitoring
 
 Usage
 
 ```bash
 
-$ pulsar-admin namespaces get-clusters tenant/cluster/namespace
+$ pulsar-admin functions-worker monitoring-metrics
 
 ```
 
-### `get-backlog-quotas`
-Get the backlog quota policies for a namespace
+## `namespaces`
 
-Usage
+Operations for managing namespaces
 
 ```bash
 
-$ pulsar-admin namespaces get-backlog-quotas tenant/cluster/namespace
+$ pulsar-admin namespaces subcommand
 
 ```
 
-### `set-backlog-quota`
-Set a backlog quota for a namespace
-
-Usage
+Subcommands
+* `list`
+* `topics`
+* `policies`
+* `create`
+* `delete`
+* `set-deduplication`
+* `set-auto-topic-creation`
+* `remove-auto-topic-creation`
+* `set-auto-subscription-creation`
+* `remove-auto-subscription-creation`
+* `permissions`
+* `grant-permission`
+* `revoke-permission`
+* `grant-subscription-permission`
+* `revoke-subscription-permission`
+* `set-clusters`
+* `get-clusters`
+* `get-backlog-quotas`
+* `set-backlog-quota`
+* `remove-backlog-quota`
+* `get-persistence`
+* `set-persistence`
+* `get-message-ttl`
+* `set-message-ttl`
+* `remove-message-ttl`
+* `get-anti-affinity-group`
+* `set-anti-affinity-group`
+* `get-anti-affinity-namespaces`
+* `delete-anti-affinity-group`
+* `get-retention`
+* `set-retention`
+* `unload`
+* `split-bundle`
+* `set-dispatch-rate`
+* `get-dispatch-rate`
+* `set-replicator-dispatch-rate`
+* `get-replicator-dispatch-rate`
+* `set-subscribe-rate`
+* `get-subscribe-rate`
+* `set-subscription-dispatch-rate`
+* `get-subscription-dispatch-rate`
+* `clear-backlog`
+* `unsubscribe`
+* `set-encryption-required`
+* `set-delayed-delivery`
+* `get-delayed-delivery`
+* `set-subscription-auth-mode`
+* `get-max-producers-per-topic`
+* `set-max-producers-per-topic`
+* `get-max-consumers-per-topic`
+* `set-max-consumers-per-topic`
+* `get-max-consumers-per-subscription`
+* `set-max-consumers-per-subscription`
+* `get-max-unacked-messages-per-subscription`
+* `set-max-unacked-messages-per-subscription`
+* `get-max-unacked-messages-per-consumer`
+* `set-max-unacked-messages-per-consumer`
+* `get-compaction-threshold`
+* `set-compaction-threshold`
+* `get-offload-threshold`
+* `set-offload-threshold`
+* `get-offload-deletion-lag`
+* `set-offload-deletion-lag`
+* `clear-offload-deletion-lag`
+* `get-schema-autoupdate-strategy`
+* `set-schema-autoupdate-strategy`
+* `set-offload-policies`
+* `get-offload-policies`
+* `set-max-subscriptions-per-topic`
+* `get-max-subscriptions-per-topic`
+* `remove-max-subscriptions-per-topic`
+
+
+### `list`
+Get the namespaces for a tenant
+
+Usage
+
+```bash
+
+$ pulsar-admin namespaces list tenant-name
+
+```
+
+### `topics`
+Get the list of topics for a namespace
+
+Usage
+
+```bash
+
+$ pulsar-admin namespaces topics tenant/namespace
+
+```
+
+### `policies`
+Get the configuration policies of a namespace
+
+Usage
+
+```bash
+
+$ pulsar-admin namespaces policies tenant/namespace
+
+```
+
+### `create`
+Create a new namespace
+
+Usage
+
+```bash
+
+$ pulsar-admin namespaces create tenant/namespace options
+
+```
+
+Options
+
+|Flag|Description|Default|
+|---|---|---|
+|`-b`, `--bundles`|The number of bundles to activate|0|
+|`-c`, `--clusters`|List of clusters this namespace will be assigned||
+
+
+### `delete`
+Deletes a namespace. The namespace needs to be empty
+
+Usage
+
+```bash
+
+$ pulsar-admin namespaces delete tenant/namespace
+
+```
+
+### `set-deduplication`
+Enable or disable message deduplication on a namespace
+
+Usage
+
+```bash
+
+$ pulsar-admin namespaces set-deduplication tenant/namespace options
+
+```
+
+Options
+
+|Flag|Description|Default|
+|---|---|---|
+|`--enable`, `-e`|Enable message deduplication on the specified namespace|false|
+|`--disable`, `-d`|Disable message deduplication on the specified namespace|false|
+
+### `set-auto-topic-creation`
+Enable or disable autoTopicCreation for a namespace, overriding broker settings
+
+Usage
+
+```bash
+
+$ pulsar-admin namespaces set-auto-topic-creation tenant/namespace options
+
+```
+
+Options
+
+|Flag|Description|Default|
+|---|---|---|
+|`--enable`, `-e`|Enable allowAutoTopicCreation on namespace|false|
+|`--disable`, `-d`|Disable allowAutoTopicCreation on namespace|false|
+|`--type`, `-t`|Type of topic to be auto-created. Possible values: (partitioned, non-partitioned)|non-partitioned|
+|`--num-partitions`, `-n`|Default number of partitions of topic to be auto-created, applicable to partitioned topics only||
+
+### `remove-auto-topic-creation`
+Remove override of autoTopicCreation for a namespace
+
+Usage
+
+```bash
+
+$ pulsar-admin namespaces remove-auto-topic-creation tenant/namespace
+
+```
+
+### `set-auto-subscription-creation`
+Enable autoSubscriptionCreation for a namespace, overriding broker settings
+
+Usage
+
+```bash
+
+$ pulsar-admin namespaces set-auto-subscription-creation tenant/namespace options
+
+```
+
+Options
+
+|Flag|Description|Default|
+|---|---|---|
+|`--enable`, `-e`|Enable allowAutoSubscriptionCreation on namespace|false|
+
+### `remove-auto-subscription-creation`
+Remove override of autoSubscriptionCreation for a namespace
+
+Usage
+
+```bash
+
+$ pulsar-admin namespaces remove-auto-subscription-creation tenant/namespace
+
+```
+
+### `permissions`
+Get the permissions on a namespace
+
+Usage
+
+```bash
+
+$ pulsar-admin namespaces permissions tenant/namespace
+
+```
+
+### `grant-permission`
+Grant permissions on a namespace
+
+Usage
+
+```bash
+
+$ pulsar-admin namespaces grant-permission tenant/namespace options
+
+```
+
+Options
+
+|Flag|Description|Default|
+|---|---|---|
+|`--actions`|Actions to be granted (`produce` or `consume`)||
+|`--role`|The client role to which to grant the permissions||
+
+
+### `revoke-permission`
+Revoke permissions on a namespace
+
+Usage
+
+```bash
+
+$ pulsar-admin namespaces revoke-permission tenant/namespace options
+
+```
+
+Options
+
+|Flag|Description|Default|
+|---|---|---|
+|`--role`|The client role to which to revoke the permissions||
+
+### `grant-subscription-permission`
+Grant permissions to access subscription admin-api
+
+Usage
+
+```bash
+
+$ pulsar-admin namespaces grant-subscription-permission tenant/namespace options
+
+```
+
+Options
+
+|Flag|Description|Default|
+|---|---|---|
+|`--roles`|The client roles to which to grant the permissions (comma separated roles)||
+|`--subscription`|The subscription name for which permission will be granted to roles||
+
+### `revoke-subscription-permission`
+Revoke permissions to access subscription admin-api
+
+Usage
+
+```bash
+
+$ pulsar-admin namespaces revoke-subscription-permission tenant/namespace options
+
+```
+
+Options
+
+|Flag|Description|Default|
+|---|---|---|
+|`--role`|The client role to which to revoke the permissions||
+|`--subscription`|The subscription name for which permission will be revoked to roles||
+
+### `set-clusters`
+Set replication clusters for a namespace
+
+Usage
+
+```bash
+
+$ pulsar-admin namespaces set-clusters tenant/namespace options
+
+```
+
+Options
+
+|Flag|Description|Default|
+|---|---|---|
+|`-c`, `--clusters`|Replication clusters ID list (comma-separated values)||
+
+
+### `get-clusters`
+Get replication clusters for a namespace
+
+Usage
+
+```bash
+
+$ pulsar-admin namespaces get-clusters tenant/namespace
+
+```
+
+### `get-backlog-quotas`
+Get the backlog quota policies for a namespace
+
+Usage
+
+```bash
+
+$ pulsar-admin namespaces get-backlog-quotas tenant/namespace
+
+```
+
+### `set-backlog-quota`
+Set a backlog quota policy for a namespace
+
+Usage
+
+```bash
+
+$ pulsar-admin namespaces set-backlog-quota tenant/namespace options
+
+```
+
+Options
+
+|Flag|Description|Default|
+|----|---|---|
+|`-l`, `--limit`|The backlog size limit (for example `10M` or `16G`)||
+|`-lt`, `--limitTime`|Time limit in second, non-positive number for disabling time limit. (for example 3600 for 1 hour)||
+|`-p`, `--policy`|The retention policy to enforce when the limit is reached. The valid options are: `producer_request_hold`, `producer_exception` or `consumer_backlog_eviction`|
+|`-t`, `--type`|Backlog quota type to set. The valid options are: `destination_storage`, `message_age` |destination_storage|
+
+Example
+
+```bash
+
+$ pulsar-admin namespaces set-backlog-quota my-tenant/my-ns \
+--limit 2G \
+--policy producer_request_hold
+
+```
+
+```bash
+
+$ pulsar-admin namespaces set-backlog-quota my-tenant/my-ns \
+--limitTime 3600 \
+--policy producer_request_hold \
+--type message_age
+
+```
+
+### `remove-backlog-quota`
+Remove a backlog quota policy from a namespace
+
+|Flag|Description|Default|
+|---|---|---|
+|`-t`, `--type`|Backlog quota type to remove. The valid options are: `destination_storage`, `message_age` |destination_storage|
+
+Usage
+
+```bash
+
+$ pulsar-admin namespaces remove-backlog-quota tenant/namespace
+
+```
+
+### `get-persistence`
+Get the persistence policies for a namespace
+
+Usage
+
+```bash
+
+$ pulsar-admin namespaces get-persistence tenant/namespace
+
+```
+
+### `set-persistence`
+Set the persistence policies for a namespace
+
+Usage
+
+```bash
+
+$ pulsar-admin namespaces set-persistence tenant/namespace options
+
+```
+
+Options
+
+|Flag|Description|Default|
+|----|---|---|
+|`-a`, `--bookkeeper-ack-quorum`|The number of acks (guaranteed copies) to wait for each entry|0|
+|`-e`, `--bookkeeper-ensemble`|The number of bookies to use for a topic|0|
+|`-w`, `--bookkeeper-write-quorum`|How many writes to make of each entry|0|
+|`-r`, `--ml-mark-delete-max-rate`|Throttling rate of mark-delete operation (0 means no throttle)||
+
+
+### `get-message-ttl`
+Get the message TTL for a namespace
+
+Usage
+
+```bash
+
+$ pulsar-admin namespaces get-message-ttl tenant/namespace
+
+```
+
+### `set-message-ttl`
+Set the message TTL for a namespace
+
+Usage
+
+```bash
+
+$ pulsar-admin namespaces set-message-ttl tenant/namespace options
+
+```
+
+Options
+
+|Flag|Description|Default|
+|----|---|---|
+|`-ttl`, `--messageTTL`|Message TTL in seconds. When the value is set to `0`, TTL is disabled. TTL is disabled by default. |0|
+
+### `remove-message-ttl`
+Remove the message TTL for a namespace.
+
+Usage
+
+```bash
+
+$ pulsar-admin namespaces remove-message-ttl tenant/namespace
+
+```
+
+### `get-anti-affinity-group`
+Get Anti-affinity group name for a namespace
+
+Usage
+
+```bash
+
+$ pulsar-admin namespaces get-anti-affinity-group tenant/namespace
+
+```
+
+### `set-anti-affinity-group`
+Set Anti-affinity group name for a namespace
+
+Usage
+
+```bash
+
+$ pulsar-admin namespaces set-anti-affinity-group tenant/namespace options
+
+```
+
+Options
+
+|Flag|Description|Default|
+|----|---|---|
+|`-g`, `--group`|Anti-affinity group name||
+
+### `get-anti-affinity-namespaces`
+Get Anti-affinity namespaces grouped with the given anti-affinity group name
+
+Usage
+
+```bash
+
+$ pulsar-admin namespaces get-anti-affinity-namespaces options
+
+```
+
+Options
+
+|Flag|Description|Default|
+|----|---|---|
+|`-c`, `--cluster`|Cluster name||
+|`-g`, `--group`|Anti-affinity group name||
+|`-p`, `--tenant`|Tenant is only used for authorization. Client has to be admin of any of the tenant to access this api||
+
+### `delete-anti-affinity-group`
+Remove Anti-affinity group name for a namespace
+
+Usage
+
+```bash
+
+$ pulsar-admin namespaces delete-anti-affinity-group tenant/namespace
+
+```
+
+### `get-retention`
+Get the retention policy that is applied to each topic within the specified namespace
+
+Usage
+
+```bash
+
+$ pulsar-admin namespaces get-retention tenant/namespace
+
+```
+
+### `set-retention`
+Set the retention policy for each topic within the specified namespace
+
+Usage
+
+```bash
+
+$ pulsar-admin namespaces set-retention tenant/namespace
+
+```
+
+Options
+
+|Flag|Description|Default|
+|----|---|---|
+|`-s`, `--size`|The retention size limits (for example 10M, 16G or 3T) for each topic in the namespace. 0 means no retention and -1 means infinite size retention||
+|`-t`, `--time`|The retention time in minutes, hours, days, or weeks. Examples: 100m, 13h, 2d, 5w. 0 means no retention and -1 means infinite time retention||
+
+
+### `unload`
+Unload a namespace or namespace bundle from the current serving broker.
+
+Usage
+
+```bash
+
+$ pulsar-admin namespaces unload tenant/namespace options
+
+```
+
+Options
+
+|Flag|Description|Default|
+|----|---|---|
+|`-b`, `--bundle`|{start-boundary}_{end-boundary} (e.g. 0x00000000_0xffffffff)||
+
+### `split-bundle`
+Split a namespace-bundle from the current serving broker
+
+Usage
+
+```bash
+
+$ pulsar-admin namespaces split-bundle tenant/namespace options
+
+```
+
+Options
+
+|Flag|Description|Default|
+|----|---|---|
+|`-b`, `--bundle`|{start-boundary}_{end-boundary} (e.g. 0x00000000_0xffffffff)||
+|`-u`, `--unload`|Unload newly split bundles after splitting old bundle|false|
+
+### `set-dispatch-rate`
+Set message-dispatch-rate for all topics of the namespace
+
+Usage
+
+```bash
+
+$ pulsar-admin namespaces set-dispatch-rate tenant/namespace options
+
+```
+
+Options
+
+|Flag|Description|Default|
+|----|---|---|
+|`-bd`, `--byte-dispatch-rate`|The byte dispatch rate (default -1 will be overwrite if not passed)|-1|
+|`-dt`, `--dispatch-rate-period`|The dispatch rate period in second type (default 1 second will be overwrite if not passed)|1|
+|`-md`, `--msg-dispatch-rate`|The message dispatch rate (default -1 will be overwrite if not passed)|-1|
+
+### `get-dispatch-rate`
+Get configured message-dispatch-rate for all topics of the namespace (Disabled if value < 0)
+
+Usage
+
+```bash
+
+$ pulsar-admin namespaces get-dispatch-rate tenant/namespace
+
+```
+
+### `set-replicator-dispatch-rate`
+Set replicator message-dispatch-rate for all topics of the namespace
+
+Usage
+
+```bash
+
+$ pulsar-admin namespaces set-replicator-dispatch-rate tenant/namespace options
+
+```
+
+Options
+
+|Flag|Description|Default|
+|----|---|---|
+|`-bd`, `--byte-dispatch-rate`|The byte dispatch rate (default -1 will be overwrite if not passed)|-1|
+|`-dt`, `--dispatch-rate-period`|The dispatch rate period in second type (default 1 second will be overwrite if not passed)|1|
+|`-md`, `--msg-dispatch-rate`|The message dispatch rate (default -1 will be overwrite if not passed)|-1|
+
+### `get-replicator-dispatch-rate`
+Get replicator configured message-dispatch-rate for all topics of the namespace (Disabled if value < 0)
+
+Usage
+
+```bash
+
+$ pulsar-admin namespaces get-replicator-dispatch-rate tenant/namespace
+
+```
+
+### `set-subscribe-rate`
+Set subscribe-rate per consumer for all topics of the namespace
+
+Usage
+
+```bash
+
+$ pulsar-admin namespaces set-subscribe-rate tenant/namespace options
+
+```
+
+Options
+
+|Flag|Description|Default|
+|----|---|---|
+|`-sr`, `--subscribe-rate`|The subscribe rate (default -1 will be overwrite if not passed)|-1|
+|`-st`, `--subscribe-rate-period`|The subscribe rate period in second type (default 30 second will be overwrite if not passed)|30|
+
+### `get-subscribe-rate`
+Get configured subscribe-rate per consumer for all topics of the namespace
+
+Usage
+
+```bash
+
+$ pulsar-admin namespaces get-subscribe-rate tenant/namespace
+
+```
+
+### `set-subscription-dispatch-rate`
+Set subscription message-dispatch-rate for all subscription of the namespace
+
+Usage
 
 ```bash
 
-$ pulsar-admin namespaces set-backlog-quota tenant/cluster/namespace options
+$ pulsar-admin namespaces set-subscription-dispatch-rate tenant/namespace options
 
 ```
 
@@ -832,49 +1706,67 @@ Options
 
 |Flag|Description|Default|
 |----|---|---|
-|`-l`, `--limit`|The backlog size limit (for example `10M` or `16G`)||
-|`-p`, `--policy`|The retention policy to enforce when the limit is reached. The valid options are: `producer_request_hold`, `producer_exception` or `consumer_backlog_eviction`|
+|`-bd`, `--byte-dispatch-rate`|The byte dispatch rate (default -1 will be overwrite if not passed)|-1|
+|`-dt`, `--dispatch-rate-period`|The dispatch rate period in second type (default 1 second will be overwrite if not passed)|1|
+|`-md`, `--sub-msg-dispatch-rate`|The message dispatch rate (default -1 will be overwrite if not passed)|-1|
 
-Example
+### `get-subscription-dispatch-rate`
+Get subscription configured message-dispatch-rate for all topics of the namespace (Disabled if value < 0)
+
+Usage
 
 ```bash
 
-$ pulsar-admin namespaces set-backlog-quota my-prop/my-cluster/my-ns \
---limit 2G \
---policy producer_request_hold
+$ pulsar-admin namespaces get-subscription-dispatch-rate tenant/namespace
 
 ```
 
-### `remove-backlog-quota`
-Remove a backlog quota policy from a namespace
+### `clear-backlog`
+Clear the backlog for a namespace
 
 Usage
 
 ```bash
 
-$ pulsar-admin namespaces remove-backlog-quota tenant/cluster/namespace
+$ pulsar-admin namespaces clear-backlog tenant/namespace options
 
 ```
 
-### `get-persistence`
-Get the persistence policies for a namespace
+Options
+
+|Flag|Description|Default|
+|----|---|---|
+|`-b`, `--bundle`|{start-boundary}_{end-boundary} (e.g. 0x00000000_0xffffffff)||
+|`-force`, `--force`|Whether to force a clear backlog without prompt|false|
+|`-s`, `--sub`|The subscription name||
+
+
+### `unsubscribe`
+Unsubscribe the given subscription on all destinations on a namespace
 
 Usage
 
 ```bash
 
-$ pulsar-admin namespaces get-persistence tenant/cluster/namespace
+$ pulsar-admin namespaces unsubscribe tenant/namespace options
 
 ```
 
-### `set-persistence`
-Set the persistence policies for a namespace
+Options
+
+|Flag|Description|Default|
+|----|---|---|
+|`-b`, `--bundle`|{start-boundary}_{end-boundary} (e.g. 0x00000000_0xffffffff)||
+|`-s`, `--sub`|The subscription name||
+
+### `set-encryption-required`
+Enable or disable message encryption required for a namespace
 
 Usage
 
 ```bash
 
-$ pulsar-admin namespaces set-persistence tenant/cluster/namespace options
+$ pulsar-admin namespaces set-encryption-required tenant/namespace options
 
 ```
 
@@ -882,31 +1774,55 @@ Options
 
 |Flag|Description|Default|
 |----|---|---|
-|`-a`, `--bookkeeper-ack-quorum`|The number of acks (guaranteed copies) to wait for each entry|0|
-|`-e`, `--bookkeeper-ensemble`|The number of bookies to use for a topic|0|
-|`-w`, `--bookkeeper-write-quorum`|How many writes to make of each entry|0|
-|`-r`, `--ml-mark-delete-max-rate`|Throttling rate of mark-delete operation (0 means no throttle)||
+|`-d`, `--disable`|Disable message encryption required|false|
+|`-e`, `--enable`|Enable message encryption required|false|
 
+### `set-delayed-delivery`
+Set the delayed delivery policy on a namespace
 
-### `get-message-ttl`
-Get the message TTL for a namespace
+Usage
+
+```bash
+
+$ pulsar-admin namespaces set-delayed-delivery tenant/namespace options
+
+```
+
+Options
+
+|Flag|Description|Default|
+|----|---|---|
+|`-d`, `--disable`|Disable delayed delivery messages|false|
+|`-e`, `--enable`|Enable delayed delivery messages|false|
+|`-t`, `--time`|The tick time for when retrying on delayed delivery messages|1s|
+
+
+### `get-delayed-delivery`
+Get the delayed delivery policy on a namespace
 
 Usage
 
 ```bash
 
-$ pulsar-admin namespaces get-message-ttl tenant/cluster/namespace
+$ pulsar-admin namespaces get-delayed-delivery-time tenant/namespace
 
 ```
 
-### `set-message-ttl`
-Set the message TTL for a namespace
+Options
+
+|Flag|Description|Default|
+|----|---|---|
+|`-t`, `--time`|The tick time for when retrying on delayed delivery messages|1s|
+
+
+### `set-subscription-auth-mode`
+Set subscription auth mode on a namespace
 
 Usage
 
 ```bash
 
-$ pulsar-admin namespaces set-message-ttl options
+$ pulsar-admin namespaces set-subscription-auth-mode tenant/namespace options
 
 ```
 
@@ -914,28 +1830,55 @@ Options
 
 |Flag|Description|Default|
 |----|---|---|
-|`-ttl`, `--messageTTL`|Message TTL in seconds. When the value is set to `0`, TTL is disabled. TTL is disabled by default.|0|
+|`-m`, `--subscription-auth-mode`|Subscription authorization mode for Pulsar policies. Valid options are: [None, Prefix]||
 
+### `get-max-producers-per-topic`
+Get maxProducersPerTopic for a namespace
 
-### `get-retention`
-Get the retention policy for a namespace
+Usage
+
+```bash
+
+$ pulsar-admin namespaces get-max-producers-per-topic tenant/namespace
+
+```
+
+### `set-max-producers-per-topic`
+Set maxProducersPerTopic for a namespace
 
 Usage
 
 ```bash
 
-$ pulsar-admin namespaces get-retention tenant/cluster/namespace
+$ pulsar-admin namespaces set-max-producers-per-topic tenant/namespace options
 
 ```
 
-### `set-retention`
-Set the retention policy for a namespace
+Options
+
+|Flag|Description|Default|
+|----|---|---|
+|`-p`, `--max-producers-per-topic`|maxProducersPerTopic for a namespace|0|
+
+### `get-max-consumers-per-topic`
+Get maxConsumersPerTopic for a namespace
 
 Usage
 
 ```bash
 
-$ pulsar-admin namespaces set-retention tenant/cluster/namespace options
+$ pulsar-admin namespaces get-max-consumers-per-topic tenant/namespace
+
+```
+
+### `set-max-consumers-per-topic`
+Set maxConsumersPerTopic for a namespace
+
+Usage
+
+```bash
+
+$ pulsar-admin namespaces set-max-consumers-per-topic tenant/namespace options
 
 ```
 
@@ -943,18 +1886,27 @@ Options
 
 |Flag|Description|Default|
 |----|---|---|
-|`-s`, `--size`|The retention size limits (for example 10M, 16G or 3T). 0 means no retention and -1 means infinite size retention||
-|`-t`, `--time`|The retention time in minutes, hours, days, or weeks. Examples: 100m, 13h, 2d, 5w. 0 means no retention and -1 means infinite time retention||
+|`-c`, `--max-consumers-per-topic`|maxConsumersPerTopic for a namespace|0|
 
+### `get-max-consumers-per-subscription`
+Get maxConsumersPerSubscription for a namespace
 
-### `unload`
-Unload a namespace or namespace bundle from the current serving broker.
+Usage
+
+```bash
+
+$ pulsar-admin namespaces get-max-consumers-per-subscription tenant/namespace
+
+```
+
+### `set-max-consumers-per-subscription`
+Set maxConsumersPerSubscription for a namespace
 
 Usage
 
 ```bash
 
-$ pulsar-admin namespaces unload tenant/cluster/namespace options
+$ pulsar-admin namespaces set-max-consumers-per-subscription tenant/namespace options
 
 ```
 
@@ -962,17 +1914,27 @@ Options
 
 |Flag|Description|Default|
 |----|---|---|
-|`-b`, `--bundle`|||
+|`-c`, `--max-consumers-per-subscription`|maxConsumersPerSubscription for a namespace|0|
 
+### `get-max-unacked-messages-per-subscription`
+Get maxUnackedMessagesPerSubscription for a namespace
 
-### `clear-backlog`
-Clear the backlog for a namespace
+Usage
+
+```bash
+
+$ pulsar-admin namespaces get-max-unacked-messages-per-subscription tenant/namespace
+
+```
+
+### `set-max-unacked-messages-per-subscription`
+Set maxUnackedMessagesPerSubscription for a namespace
 
 Usage
 
 ```bash
 
-$ pulsar-admin namespaces clear-backlog tenant/cluster/namespace options
+$ pulsar-admin namespaces set-max-unacked-messages-per-subscription tenant/namespace options
 
 ```
 
@@ -980,19 +1942,27 @@ Options
 
 |Flag|Description|Default|
 |----|---|---|
-|`-b`, `--bundle`|||   
-|`-f`, `--force`|Whether to force a clear backlog without prompt|false|
-|`-s`, `--sub`|The subscription name||
+|`-c`, `--max-unacked-messages-per-subscription`|maxUnackedMessagesPerSubscription for a namespace|-1|
 
+### `get-max-unacked-messages-per-consumer`
+Get maxUnackedMessagesPerConsumer for a namespace
 
-### `unsubscribe`
-Unsubscribe the given subscription on all destinations on a namespace
+Usage
+
+```bash
+
+$ pulsar-admin namespaces get-max-unacked-messages-per-consumer tenant/namespace
+
+```
+
+### `set-max-unacked-messages-per-consumer`
+Set maxUnackedMessagesPerConsumer for a namespace
 
 Usage
 
 ```bash
 
-$ pulsar-admin namespaces unsubscribe tenant/cluster/namespace options
+$ pulsar-admin namespaces set-max-unacked-messages-per-consumer tenant/namespace options
 
 ```
 
@@ -1000,8 +1970,7 @@ Options
 
 |Flag|Description|Default|
 |----|---|---|
-|`-b`, `--bundle`|||   
-|`-s`, `--sub`|The subscription name||
+|`-c`, `--max-unacked-messages-per-consumer`|maxUnackedMessagesPerConsumer for a namespace|-1|
 
 
 ### `get-compaction-threshold`
@@ -1044,39 +2013,42 @@ $ pulsar-admin namespaces get-offload-threshold tenant/namespace
 
 ```
 
+### `set-offload-threshold`
+Set offloadThreshold for a namespace
+
+Usage
+
+```bash
+
+$ pulsar-admin namespaces set-offload-threshold tenant/namespace options
+
+```
+
 Options
 
 |Flag|Description|Default|
 |----|---|---|
 |`-s`, `--size`|Maximum number of bytes stored in the pulsar cluster for a topic before data will start being automatically offloaded to longterm storage (eg: 10M, 16G, 3T, 100). Negative values disable automatic offload. 0 triggers offloading as soon as possible.|-1|
 
-
-
-## `ns-isolation-policy`
-Operations for managing namespace isolation policies.
+### `get-offload-deletion-lag`
+Get offloadDeletionLag, in minutes, for a namespace
 
 Usage
 
 ```bash
 
-$ pulsar-admin ns-isolation-policy subcommand
+$ pulsar-admin namespaces get-offload-deletion-lag tenant/namespace
 
 ```
 
-Subcommands
-* `set`
-* `get`
-* `list`
-* `delete`
-
-### `set`
-Create/update a namespace isolation policy for a cluster. This operation requires Pulsar superuser privileges.
+### `set-offload-deletion-lag`
+Set offloadDeletionLag for a namespace
 
 Usage
 
 ```bash
 
-$ pulsar-admin ns-isolation-policy set cluster-name policy-name options
+$ pulsar-admin namespaces set-offload-deletion-lag tenant/namespace options
 
 ```
 
@@ -1084,72 +2056,67 @@ Options
 
 |Flag|Description|Default|
 |----|---|---|
-|`--auto-failover-policy-params`|Comma-separated name=value auto failover policy parameters|[]|
-|`--auto-failover-policy-type`|Auto failover policy type name. Currently available options: min_available.|[]|
-|`--namespaces`|Comma-separated namespaces regex list|[]|
-|`--primary`|Comma-separated primary broker regex list|[]|
-|`--secondary`|Comma-separated secondary broker regex list|[]|
-
+|`-l`, `--lag`|Duration to wait after offloading a ledger segment, before deleting the copy of that segment from cluster local storage. (eg: 10m, 5h, 3d, 2w).|-1|
 
-### `get`
-Get the namespace isolation policy of a cluster. This operation requires Pulsar superuser privileges.
+### `clear-offload-deletion-lag`
+Clear offloadDeletionLag for a namespace
 
 Usage
 
 ```bash
 
-$ pulsar-admin ns-isolation-policy get cluster-name policy-name
+$ pulsar-admin namespaces clear-offload-deletion-lag tenant/namespace
 
 ```
 
-### `list`
-List all namespace isolation policies of a cluster. This operation requires Pulsar superuser privileges.
+### `get-schema-autoupdate-strategy`
+Get the schema auto-update strategy for a namespace
 
 Usage
 
 ```bash
 
-$ pulsar-admin ns-isolation-policy list cluster-name
+$ pulsar-admin namespaces get-schema-autoupdate-strategy tenant/namespace
 
 ```
 
-### `delete`
-Delete namespace isolation policy of a cluster. This operation requires superuser privileges.
+### `set-schema-autoupdate-strategy`
+Set the schema auto-update strategy for a namespace
 
 Usage
 
 ```bash
 
-$ pulsar-admin ns-isolation-policy delete
+$ pulsar-admin namespaces set-schema-autoupdate-strategy tenant/namespace options
 
 ```
 
-## `sink`
+Options
+
+|Flag|Description|Default|
+|----|---|---|
+|`-c`, `--compatibility`|Compatibility level required for new schemas created via a Producer. Possible values (Full, Backward, Forward, None).|Full|
+|`-d`, `--disabled`|Disable automatic schema updates.|false|
 
-An interface for managing Pulsar IO sinks (egress data from Pulsar)
+### `get-publish-rate`
+Get the message publish rate for each topic in a namespace, in bytes as well as messages per second 
 
 Usage
 
 ```bash
 
-$ pulsar-admin sink subcommand
+$ pulsar-admin namespaces get-publish-rate tenant/namespace
 
 ```
 
-Subcommands
-* `create`
-* `delete`
-* `localrun`
-
-
-### `create`
-Submit a Pulsar IO sink connector to run in a Pulsar cluster
+### `set-publish-rate`
+Set the message publish rate for each topic in a namespace
 
 Usage
 
 ```bash
 
-$ pulsar-admin sink create options
+$ pulsar-admin namespaces set-publish-rate tenant/namespace options
 
 ```
 
@@ -1157,100 +2124,108 @@ Options
 
 |Flag|Description|Default|
 |----|---|---|
-|`--className`|The sink’s Java class name||
-|`--cpu`|The CPU (in cores) that needs to be allocated per sink instance (applicable only to the Docker runtime)||
-|`--customSerdeInputs`|The map of input topics to SerDe class names (as a JSON string)||
-|`--disk`|The disk (in bytes) that needs to be allocated per sink instance (applicable only to the Docker runtime)||
-|`--inputs`|The sink’s input topic(s) (multiple topics can be specified as a comma-separated list)||
-|`--jar`|Path to the Java jar file for the sink||
-|`--name`|The sink’s name||
-|`--namespace`|The sink’s namespace||
-|`--parallelism`|“The sink’s parallelism factor (i.e. the number of sink instances to run).”||
-|`--processingGuarantees`|“The processing guarantees (aka delivery semantics) applied to the sink. Available values: ATLEAST_ONCE, ATMOST_ONCE, EFFECTIVELY_ONCE.”||
-|`--ram`|The RAM (in bytes) that needs to be allocated per sink instance (applicable only to the Docker runtime)||
-|`--sinkConfig`|Sink config key/values||
-|`--sinkConfigFile`|The path to a YAML config file specifying the sink’s configuration||
-|`--tenant`|The sink’s tenant||
+|`-m`, `--msg-publish-rate`|Threshold for number of messages per second per topic in the namespace (-1 implies not set, 0 for no limit).|-1|
+|`-b`, `--byte-publish-rate`|Threshold for number of bytes per second per topic in the namespace (-1 implies not set, 0 for no limit).|-1|
 
-
-### `delete`
-Stops a Pulsar IO sink
+### `set-offload-policies`
+Set the offload policy for a namespace.
 
 Usage
 
 ```bash
 
-$ pulsar-admin sink delete options
+$ pulsar-admin namespaces set-offload-policies tenant/namespace options
 
 ```
 
 Options
 
 |Flag|Description|Default|
-|---|---|---|
-|`--name`|The name of the function to delete||
-|`--namespace`|The namespace of the function to delete||
-|`--tenant`|The tenant of the function to delete||
+|----|---|---|
+|`-d`, `--driver`|Driver to use to offload old data to long term storage,(Possible values: S3, aws-s3, google-cloud-storage)||
+|`-r`, `--region`|The long term storage region||
+|`-b`, `--bucket`|Bucket to place offloaded ledger into||
+|`-e`, `--endpoint`|Alternative endpoint to connect to||
+|`-i`, `--aws-id`|AWS Credential Id to use when using driver S3 or aws-s3||
+|`-s`, `--aws-secret`|AWS Credential Secret to use when using driver S3 or aws-s3||
+|`-ro`, `--s3-role`|S3 Role used for STSAssumeRoleSessionCredentialsProvider using driver S3 or aws-s3||
+|`-rsn`, `--s3-role-session-name`|S3 role session name used for STSAssumeRoleSessionCredentialsProvider using driver S3 or aws-s3||
+|`-mbs`, `--maxBlockSize`|Max block size|64MB|
+|`-rbs`, `--readBufferSize`|Read buffer size|1MB|
+|`-oat`, `--offloadAfterThreshold`|Offload after threshold size (eg: 1M, 5M)||
+|`-oae`, `--offloadAfterElapsed`|Offload after elapsed in millis (or minutes, hours,days,weeks eg: 100m, 3h, 2d, 5w).||
 
+### `get-offload-policies`
+Get the offload policy for a namespace.
 
-### `localrun`
-Run the Pulsar sink locally (rather than in the Pulsar cluster)
+Usage
+
+```bash
+
+$ pulsar-admin namespaces get-offload-policies tenant/namespace
+
+```
+
+### `set-max-subscriptions-per-topic`
+Set the maximum subscription per topic for a namespace.
 
 Usage
 
 ```bash
 
-$ pulsar-admin sink localrun options
+$ pulsar-admin namespaces set-max-subscriptions-per-topic tenant/namespace
 
 ```
 
-Options
+### `get-max-subscriptions-per-topic`
+Get the maximum subscription per topic for a namespace.
 
-|Flag|Description|Default|
-|----|---|---|
-|`--brokerServiceUrl`|The URL for the Pulsar broker||
-|`--className`|The sink’s Java class name||
-|`--cpu`|The CPU (in cores) that needs to be allocated per sink instance (applicable only to the Docker runtime)||
-|`--customSerdeInputs`|The map of input topics to SerDe class names (as a JSON string)||
-|`--disk`|The disk (in bytes) that needs to be allocated per sink instance (applicable only to the Docker runtime)||
-|`--inputs`|The sink’s input topic(s) (multiple topics can be specified as a comma-separated list)||
-|`--jar`|Path to the Java jar file for the sink||
-|`--name`|The sink’s name||
-|`--namespace`|The sink’s namespace||
-|`--parallelism`|“The sink’s parallelism factor (i.e. the number of sink instances to run).”||
-|`--processingGuarantees`|“The processing guarantees (aka delivery semantics) applied to the sink. Available values: ATLEAST_ONCE, ATMOST_ONCE, EFFECTIVELY_ONCE.”||
-|`--ram`|The RAM (in bytes) that needs to be allocated per sink instance (applicable only to the Docker runtime)||
-|`--sinkConfig`|Sink config key/values||
-|`--sinkConfigFile`|The path to a YAML config file specifying the sink’s configuration||
-|`--tenant`|The sink’s tenant||
+Usage
+
+```bash
+
+$ pulsar-admin namespaces get-max-subscriptions-per-topic tenant/namespace
+
+```
+
+### `remove-max-subscriptions-per-topic`
+Remove the maximum subscription per topic for a namespace.
+
+Usage
+
+```bash
 
+$ pulsar-admin namespaces remove-max-subscriptions-per-topic tenant/namespace
 
+```
 
-## `source`
-An interface for managing Pulsar IO sources (ingress data into Pulsar)
+## `ns-isolation-policy`
+Operations for managing namespace isolation policies.
 
 Usage
 
 ```bash
 
-$ pulsar-admin source subcommand
+$ pulsar-admin ns-isolation-policy subcommand
 
 ```
 
 Subcommands
-* `create`
+* `set`
+* `get`
+* `list`
 * `delete`
-* `localrun`
-
+* `brokers`
+* `broker`
 
-### `create`
-Submit a Pulsar IO source connector to run in a Pulsar cluster
+### `set`
+Create/update a namespace isolation policy for a cluster. This operation requires Pulsar superuser privileges.
 
 Usage
 
 ```bash
 
-$ pulsar-admin source create options
+$ pulsar-admin ns-isolation-policy set cluster-name policy-name options
 
 ```
 
@@ -1258,50 +2233,65 @@ Options
 
 |Flag|Description|Default|
 |----|---|---|
-|`--className`|The source’s Java class name||
-|`--cpu`|The CPU (in cores) that needs to be allocated per source instance (applicable only to the Docker runtime)||
-|`--deserializationClassName`|The SerDe classname for the source||
-|`--destinationTopicName`|The Pulsar topic to which data is sent||
-|`--disk`|The disk (in bytes) that needs to be allocated per source instance (applicable only to the Docker runtime)||
-|`--jar`|Path to the Java jar file for the source||
-|`--name`|The source’s name||
-|`--namespace`|The source’s namespace||
-|`--parallelism`|The source’s parallelism factor (i.e. the number of source instances to run).||
-|`--processingGuarantees`|“The processing guarantees (aka delivery semantics) applied to the source. Available values: ATLEAST_ONCE, ATMOST_ONCE, EFFECTIVELY_ONCE.”||
-|`--ram`|The RAM (in bytes) that needs to be allocated per source instance (applicable only to the Docker runtime)||
-|`--sourceConfig`|Source config key/values||
-|`--sourceConfigFile`|The path to a YAML config file specifying the source’s configuration||
-|`--tenant`|The source’s tenant||
+|`--auto-failover-policy-params`|Comma-separated name=value auto failover policy parameters|[]|
+|`--auto-failover-policy-type`|Auto failover policy type name. Currently available options: min_available.|[]|
+|`--namespaces`|Comma-separated namespaces regex list|[]|
+|`--primary`|Comma-separated primary broker regex list|[]|
+|`--secondary`|Comma-separated secondary broker regex list|[]|
+
+
+### `get`
+Get the namespace isolation policy of a cluster. This operation requires Pulsar superuser privileges.
+
+Usage
+
+```bash
+
+$ pulsar-admin ns-isolation-policy get cluster-name policy-name
+
+```
 
+### `list`
+List all namespace isolation policies of a cluster. This operation requires Pulsar superuser privileges.
+
+Usage
+
+```bash
+
+$ pulsar-admin ns-isolation-policy list cluster-name
+
+```
 
 ### `delete`
-Stops a Pulsar IO source
+Delete namespace isolation policy of a cluster. This operation requires superuser privileges.
 
 Usage
 
 ```bash
 
-$ pulsar-admin source delete options
+$ pulsar-admin ns-isolation-policy delete
 
 ```
 
-Options
+### `brokers`
+List all brokers with namespace-isolation policies attached to it. This operation requires Pulsar super-user privileges.
 
-|Flag|Description|Default|
-|---|---|---|
-|`--name`|The name of the function to delete||
-|`--namespace`|The namespace of the function to delete||
-|`--tenant`|The tenant of the function to delete||
+Usage
 
+```bash
 
-### `localrun`
-Run the Pulsar source locally (rather than in the Pulsar cluster)
+$ pulsar-admin ns-isolation-policy brokers cluster-name
+
+```
+
+### `broker`
+Get broker with namespace-isolation policies attached to it. This operation requires Pulsar super-user privileges.
 
 Usage
 
 ```bash
 
-$ pulsar-admin source localrun options
+$ pulsar-admin ns-isolation-policy broker cluster-name options
 
 ```
 
@@ -1309,25 +2299,10 @@ Options
 
 |Flag|Description|Default|
 |----|---|---|
-|`--className`|The source’s Java class name||
-|`--cpu`|The CPU (in cores) that needs to be allocated per source instance (applicable only to the Docker runtime)||
-|`--deserializationClassName`|The SerDe classname for the source||
-|`--destinationTopicName`|The Pulsar topic to which data is sent||
-|`--disk`|The disk (in bytes) that needs to be allocated per source instance (applicable only to the Docker runtime)||
-|`--jar`|Path to the Java jar file for the source||
-|`--name`|The source’s name||
-|`--namespace`|The source’s namespace||
-|`--parallelism`|The source’s parallelism factor (i.e. the number of source instances to run).||
-|`--processingGuarantees`|“The processing guarantees (aka delivery semantics) applied to the source. Available values: ATLEAST_ONCE, ATMOST_ONCE, EFFECTIVELY_ONCE.”||
-|`--ram`|The RAM (in bytes) that needs to be allocated per source instance (applicable only to the Docker runtime)||
-|`--sourceConfig`|Source config key/values||
-|`--sourceConfigFile`|The path to a YAML config file specifying the source’s configuration||
-|`--tenant`|The source’s tenant||
-
-
+|`--broker`|Broker name to get namespace-isolation policies attached to it||
 
 ## `topics`
-Operations for managing Pulsar topics (both persistent and non persistent)
+Operations for managing Pulsar topics (both persistent and non-persistent). 
 
 Usage
 
@@ -1337,17 +2312,28 @@ $ pulsar-admin topics subcommand
 
 ```
 
+From Pulsar 2.7.0, some namespace-level policies are available on topic level. To enable topic-level policy in Pulsar, you need to configure the following parameters in the `broker.conf` file. 
+
+```shell
+
+systemTopicEnabled=true
+topicLevelPoliciesEnabled=true
+
+```
+
 Subcommands
 * `compact`
 * `compaction-status`
 * `offload`
 * `offload-status`
 * `create-partitioned-topic`
+* `create-missed-partitions`
 * `delete-partitioned-topic`
+* `create`
 * `get-partitioned-topic-metadata`
 * `update-partitioned-topic`
+* `list-partitioned-topics`
 * `list`
-* `list-in-bundle`
 * `terminate`
 * `permissions`
 * `grant-permission`
@@ -1356,19 +2342,67 @@ Subcommands
 * `bundle-range`
 * `delete`
 * `unload`
+* `create-subscription`
 * `subscriptions`
 * `unsubscribe`
 * `stats`
 * `stats-internal`
 * `info-internal`
 * `partitioned-stats`
+* `partitioned-stats-internal`
 * `skip`
-* `skip-all`
+* `clear-backlog`
 * `expire-messages`
 * `expire-messages-all-subscriptions`
 * `peek-messages`
 * `reset-cursor`
-
+* `get-message-by-id`
+* `last-message-id`
+* `get-backlog-quotas`
+* `set-backlog-quota`
+* `remove-backlog-quota`
+* `get-persistence`
+* `set-persistence`
+* `remove-persistence`
+* `get-message-ttl`
+* `set-message-ttl`
+* `remove-message-ttl`
+* `get-deduplication`
+* `set-deduplication`
+* `remove-deduplication`
+* `get-retention`
+* `set-retention`
+* `remove-retention`
+* `get-dispatch-rate`
+* `set-dispatch-rate`
+* `remove-dispatch-rate`
+* `get-max-unacked-messages-per-subscription`
+* `set-max-unacked-messages-per-subscription`
+* `remove-max-unacked-messages-per-subscription`
+* `get-max-unacked-messages-per-consumer`
+* `set-max-unacked-messages-per-consumer`
+* `remove-max-unacked-messages-per-consumer`
+* `get-delayed-delivery`
+* `set-delayed-delivery`
+* `remove-delayed-delivery`
+* `get-max-producers`
+* `set-max-producers`
+* `remove-max-producers`
+* `get-max-consumers`
+* `set-max-consumers`
+* `remove-max-consumers`
+* `get-compaction-threshold`
+* `set-compaction-threshold`
+* `remove-compaction-threshold`
+* `get-offload-policies`
+* `set-offload-policies`
+* `remove-offload-policies`
+* `get-inactive-topic-policies`
+* `set-inactive-topic-policies`
+* `remove-inactive-topic-policies`
+* `set-max-subscriptions`
+* `get-max-subscriptions`
+* `remove-max-subscriptions`
 
 ### `compact`
 Run compaction on the specified topic (persistent topics only)
@@ -1438,6 +2472,15 @@ Options
 ### `create-partitioned-topic`
 Create a partitioned topic. A partitioned topic must be created before producers can publish to it.
 
+:::note
+
+By default, after 60 seconds of creation, topics are considered inactive and deleted automatically to prevent from generating trash data.
+To disable this feature, set `brokerDeleteInactiveTopicsEnabled` to `false`.
+To change the frequency of checking inactive topics, set `brokerDeleteInactiveTopicsFrequencySeconds` to your desired value.
+For more information about these two parameters, see [here](reference-configuration.md#broker).
+
+:::
+
 Usage
 
 ```bash
@@ -1452,6 +2495,17 @@ Options
 |---|---|---|
 |`-p`, `--partitions`|The number of partitions for the topic|0|
 
+### `create-missed-partitions`
+Try to create partitions for partitioned topic. The partitions of partition topic has to be created, 
+can be used by repair partitions when topic auto creation is disabled
+
+Usage
+
+```bash
+
+$ pulsar-admin topics create-missed-partitions persistent://tenant/namespace/topic
+
+```
 
 ### `delete-partitioned-topic`
 Delete a partitioned topic. This will also delete all the partitions of the topic if they exist.
@@ -1464,6 +2518,26 @@ $ pulsar-admin topics delete-partitioned-topic {persistent|non-persistent}
 
 ```
 
+### `create`
+Creates a non-partitioned topic. A non-partitioned topic must explicitly be created by the user if allowAutoTopicCreation or createIfMissing is disabled.
+
+:::note
+
+By default, after 60 seconds of creation, topics are considered inactive and deleted automatically to prevent from generating trash data.
+To disable this feature, set `brokerDeleteInactiveTopicsEnabled`  to `false`.
+To change the frequency of checking inactive topics, set `brokerDeleteInactiveTopicsFrequencySeconds` to your desired value.
+For more information about these two parameters, see [here](reference-configuration.md#broker).
+
+:::
+
+Usage
+
+```bash
+
+$ pulsar-admin topics create {persistent|non-persistent}://tenant/namespace/topic
+
+```
+
 ### `get-partitioned-topic-metadata`
 Get the partitioned topic metadata. If the topic is not created or is a non-partitioned topic, this will return an empty topic with zero partitions.
 
@@ -1492,43 +2566,47 @@ Options
 |---|---|---|
 |`-p`, `--partitions`|The number of partitions for the topic|0|
 
-### `list`
-Get the list of topics under a namespace
+### `list-partitioned-topics`
+Get the list of partitioned topics under a namespace.
 
 Usage
 
-```
+```bash
 
-$ pulsar-admin topics list tenant/cluster/namespace
+$ pulsar-admin topics list-partitioned-topics tenant/namespace
 
 ```
 
-### `list-in-bundle`
-Get a list of non-persistent topics present under a namespace bundle
+### `list`
+Get the list of topics under a namespace
 
 Usage
 
 ```
 
-$ pulsar-admin topics list-in-bundle tenant/namespace options
+$ pulsar-admin topics list tenant/cluster/namespace
 
 ```
 
-Options
+### `terminate`
+Terminate a persistent topic (disallow further messages from being published on the topic)
 
-|Flag|Description|Default|
-|---|---|---|
-|`-b`, `--bundle`|The bundle range||
+Usage
+
+```bash
 
+$ pulsar-admin topics terminate persistent://tenant/namespace/topic
 
-### `terminate`
+```
+
+### `partitioned-terminate`
 Terminate a persistent topic (disallow further messages from being published on the topic)
 
 Usage
 
 ```bash
 
-$ pulsar-admin topics terminate persistent://tenant/namespace/topic
+$ pulsar-admin topics partitioned-terminate persistent://tenant/namespace/topic
 
 ```
 
@@ -1617,6 +2695,24 @@ $ pulsar-admin topics unload topic
 
 ```
 
+### `create-subscription`
+Create a new subscription on a topic.
+
+Usage
+
+```bash
+
+$ pulsar-admin topics create-subscription [options] persistent://tenant/namespace/topic
+
+```
+
+Options
+
+|Flag|Description|Default|
+|---|---|---|
+|`-m`, `--messageId`|messageId where to create the subscription. It can be either 'latest', 'earliest' or (ledgerId:entryId)|latest|
+|`-s`, `--subscription`|Subscription to reset position on||
+
 ### `subscriptions`
 Get the list of subscriptions on the topic
 
@@ -1644,6 +2740,7 @@ Options
 |Flag|Description|Default|
 |---|---|---|
 |`-s`, `--subscription`|The subscription to delete||
+|`-f`, `--force`|Disconnect and close all consumers and delete subscription forcefully|false|
 
 
 ### `stats`
@@ -1657,6 +2754,12 @@ $ pulsar-admin topics stats topic
 
 ```
 
+:::note
+
+The unit of `storageSize` and `averageMsgSize` is Byte.
+
+:::
+
 ### `stats-internal`
 Get the internal stats for the topic
 
@@ -1696,6 +2799,16 @@ Options
 |---|---|---|
 |`--per-partition`|Get per-partition stats|false|
 
+### `partitioned-stats-internal`
+Get the internal stats for the partitioned topic and its connected producers and consumers. All the rates are computed over a 1 minute window and are relative the last completed 1 minute period.
+
+Usage
+
+```bash
+
+$ pulsar-admin topics partitioned-stats-internal topic
+
+```
 
 ### `skip`
 Skip some messages for the subscription
@@ -1716,14 +2829,14 @@ Options
 |`-s`, `--subscription`|The subscription on which to skip messages||
 
 
-### `skip-all`
-Skip all the messages for the subscription
+### `clear-backlog`
+Clear backlog (skip all the messages) for the subscription
 
 Usage
 
 ```bash
 
-$ pulsar-admin topics skip-all topic options
+$ pulsar-admin topics clear-backlog topic options
 
 ```
 
@@ -1791,7 +2904,7 @@ Options
 
 
 ### `reset-cursor`
-Reset position for subscription to closest to timestamp
+Reset position for subscription to a position that is closest to timestamp or messageId.
 
 Usage
 
@@ -1806,9 +2919,220 @@ Options
 |Flag|Description|Default|
 |---|---|---|
 |`-s`, `--subscription`|Subscription to reset position on||
-|`-t`, `--time`|The time, in minutes, to reset back to (or minutes, hours, days, weeks, etc.). Examples: `100m`, `3h`, `2d`, `5w`.||
+|`-t`, `--time`|The time in minutes to reset back to (or minutes, hours, days, weeks, etc.). Examples: `100m`, `3h`, `2d`, `5w`.||
+|`-m`, `--messageId`| The message ID to reset back to (`ledgerId:entryId` or earliest or latest). ||
+
+### `get-message-by-id`
+Get message by ledger id and entry id
+
+Usage
+
+```bash
+
+$ pulsar-admin topics get-message-by-id topic options
+
+```
+
+Options
+
+|Flag|Description|Default|
+|---|---|---|
+|`-l`, `--ledgerId`|The ledger id |0|
+|`-e`, `--entryId`|The entry id |0|
+
+### `last-message-id`
+Get the last commit message ID of the topic.
+
+Usage
+
+```bash
+
+$ pulsar-admin topics last-message-id persistent://tenant/namespace/topic
+
+```
+
+### `get-backlog-quotas`
+Get the backlog quota policies for a topic.
+
+Usage
+
+```bash
+
+$ pulsar-admin topics get-backlog-quotas tenant/namespace/topic
+
+```
+
+### `set-backlog-quota`
+Set a backlog quota policy for a topic.
+
+|Flag|Description|Default|
+|----|---|---|
+|`-l`, `--limit`|The backlog size limit (for example `10M` or `16G`)||
+|`-lt`, `--limitTime`|Time limit in second, non-positive number for disabling time limit. (for example 3600 for 1 hour)||
+|`-p`, `--policy`|The retention policy to enforce when the limit is reached. The valid options are: `producer_request_hold`, `producer_exception` or `consumer_backlog_eviction`|
+|`-t`, `--type`|Backlog quota type to set. The valid options are: `destination_storage`, `message_age` |destination_storage|
+
+Usage
+
+```bash
+
+$ pulsar-admin topics set-backlog-quota tenant/namespace/topic options
+
+```
+
+Example
+
+```bash
+
+$ pulsar-admin namespaces set-backlog-quota my-tenant/my-ns/my-topic \
+--limit 2G \
+--policy producer_request_hold
+
+```
+
+```bash
+
+$ pulsar-admin namespaces set-backlog-quota my-tenant/my-ns/my-topic \
+--limitTime 3600 \
+--policy producer_request_hold \
+--type message_age
+
+```
+
+### `remove-backlog-quota`
+Remove a backlog quota policy from a topic.
+
+|Flag|Description|Default|
+|---|---|---|
+|`-t`, `--type`|Backlog quota type to remove. The valid options are: `destination_storage`, `message_age` |destination_storage|
+
+Usage
+
+```bash
+
+$ pulsar-admin topics remove-backlog-quota tenant/namespace/topic
+
+```
+
+### `get-persistence`
+Get the persistence policies for a topic.
+
+Usage
+
+```bash
+
+$ pulsar-admin topics get-persistence tenant/namespace/topic
+
+```
+
+### `set-persistence`
+Set the persistence policies for a topic.
+
+Usage
+
+```bash
+
+$ pulsar-admin topics set-persistence tenant/namespace/topic options
+
+```
+
+Options
+
+|Flag|Description|Default|
+|----|---|---|
+|`-e`, `--bookkeeper-ensemble`|Number of bookies to use for a topic|0|
+|`-w`, `--bookkeeper-write-quorum`|How many writes to make of each entry|0|
+|`-a`, `--bookkeeper-ack-quorum`|Number of acks (guaranteed copies) to wait for each entry|0|
+|`-r`, `--ml-mark-delete-max-rate`|Throttling rate of mark-delete operation (0 means no throttle)||
+
+### `remove-persistence`
+Remove the persistence policy for a topic.
+
+Usage
+
+```bash
+
+$ pulsar-admin topics remove-persistence tenant/namespace/topic
+
+```
+
+### `get-message-ttl`
+Get the message TTL for a topic.
+
+Usage
+
+```bash
+
+$ pulsar-admin topics get-message-ttl tenant/namespace/topic
+
+```
+
+### `set-message-ttl`
+Set the message TTL for a topic.
+
+Usage
+
+```bash
+
+$ pulsar-admin topics set-message-ttl tenant/namespace/topic options
+
+```
+
+Options
+
+|Flag|Description|Default|
+|----|---|---|
+|`-ttl`, `--messageTTL`|Message TTL for a topic in second, allowed range from 1 to `Integer.MAX_VALUE` |0|
+
+### `remove-message-ttl`
+Remove the message TTL for a topic.
+
+Usage
+
+```bash
+
+$ pulsar-admin topics remove-message-ttl tenant/namespace/topic
+
+```
+
+Options 
+|Flag|Description|Default|
+|---|---|---|
+|`--enable`, `-e`|Enable message deduplication on the specified topic.|false|
+|`--disable`, `-d`|Disable message deduplication on the specified topic.|false|
+
+### `get-deduplication`
+Get a deduplication policy for a topic.
+
+Usage
+
+```bash
+
+$ pulsar-admin topics get-deduplication tenant/namespace/topic
+
+```
 
+### `set-deduplication`
+Set a deduplication policy for a topic.
+
+Usage
+
+```bash
+
+$ pulsar-admin topics set-deduplication tenant/namespace/topic options
+
+```
 
+### `remove-deduplication`
+Remove a deduplication policy for a topic.
+
+Usage
+
+```bash
+
+$ pulsar-admin topics remove-deduplication tenant/namespace/topic
+
+```
 
 ## `tenants`
 Operations for managing tenants
@@ -1898,6 +3222,13 @@ $ pulsar-admin tenants delete tenant-name
 
 ```
 
+Options
+
+|Flag|Description|Default|
+|----|---|---|
+|`-f`, `--force`|Delete a tenant forcefully by deleting all namespaces under it.|false|
+
+
 ## `resource-quotas`
 Operations for managing resource quotas
 
@@ -1994,6 +3325,7 @@ Subcommands
 * `upload`
 * `delete`
 * `get`
+* `extract`
 
 
 ### `upload`
@@ -2042,4 +3374,21 @@ Options
 |----|---|---|
 |`--version`|The version of the schema definition to retrieve for a topic.||
 
+### `extract`
+Provide the schema definition for a topic via Java class name contained in a JAR file
+
+Usage
+
+```bash
+
+$ pulsar-admin schemas extract persistent://tenant/namespace/topic options
+
+```
 
+Options
+
+|Flag|Description|Default|
+|----|---|---|
+|`-c`, `--classname`|The Java class name||
+|`-j`, `--jar`|A path to the JAR file which contains the above Java class||
+|`-t`, `--type`|The type of the schema (avro or json)||
diff --git a/site2/website-next/versioned_docs/version-2.1.1-incubating/pulsar-admin.md b/site2/website-next/versioned_docs/version-2.1.1-incubating/reference-pulsar-admin.md
similarity index 99%
copy from site2/website-next/versioned_docs/version-2.1.1-incubating/pulsar-admin.md
copy to site2/website-next/versioned_docs/version-2.1.1-incubating/reference-pulsar-admin.md
index ef2350b9bf..6bde4cb6fa 100644
--- a/site2/website-next/versioned_docs/version-2.1.1-incubating/pulsar-admin.md
+++ b/site2/website-next/versioned_docs/version-2.1.1-incubating/reference-pulsar-admin.md
@@ -1,8 +1,8 @@
 ---
-id: pulsar-admin
+id: reference-pulsar-admin
 title: Pulsar admin CLI
 sidebar_label: "Pulsar Admin CLI"
-original_id: pulsar-admin
+original_id: reference-pulsar-admin
 ---
 
 The `pulsar-admin` tool enables you to manage Pulsar installations, including clusters, brokers, namespaces, tenants, and more.
diff --git a/site2/website-next/versioned_docs/version-2.2.0/concepts-messaging.md b/site2/website-next/versioned_docs/version-2.2.0/concepts-messaging.md
index 1e088ef37e..22da8a3223 100644
--- a/site2/website-next/versioned_docs/version-2.2.0/concepts-messaging.md
+++ b/site2/website-next/versioned_docs/version-2.2.0/concepts-messaging.md
@@ -652,7 +652,7 @@ Subscription mode | Description | Note
 `Durable`|The cursor is durable, which retains messages and persists the current position. <br />If a broker restarts from a failure, it can recover the cursor from the persistent storage (BookKeeper), so that messages can continue to be consumed from the last consumed position.|`Durable` is the **default** subscription mode.
 `NonDurable`|The cursor is non-durable. <br />Once a broker stops, the cursor is lost and can never be recovered, so that messages **can not** continue to be consumed from the last consumed position.|Reader’s subscription mode is `NonDurable` in nature and it does not prevent data in a topic from being deleted. Reader’s subscription mode **can not** be changed. 
 
-A [subscription](#concepts-messaging.md/#subscriptions) can have one or more consumers. When a consumer subscribes to a topic, it must specify the subscription name. A durable subscription and a non-durable subscription can have the same name, they are independent of each other. If a consumer specifies a subscription which does not exist before, the subscription is automatically created.
+A [subscription](#subscriptions) can have one or more consumers. When a consumer subscribes to a topic, it must specify the subscription name. A durable subscription and a non-durable subscription can have the same name, they are independent of each other. If a consumer specifies a subscription which does not exist before, the subscription is automatically created.
 
 #### When to use
 
diff --git a/site2/website-next/versioned_docs/version-2.2.0/cookbooks-tiered-storage.md b/site2/website-next/versioned_docs/version-2.2.0/cookbooks-tiered-storage.md
index 4ff3b394af..3bb1ffb094 100644
--- a/site2/website-next/versioned_docs/version-2.2.0/cookbooks-tiered-storage.md
+++ b/site2/website-next/versioned_docs/version-2.2.0/cookbooks-tiered-storage.md
@@ -100,7 +100,7 @@ export AWS_SECRET_ACCESS_KEY=ded7db27a4558e2ea8bbf0bf37ae0e8521618f366c
 
 ```bash
 
-PULSAR_EXTRA_OPTS="${PULSAR_EXTRA_OPTS} ${PULSAR_MEM} ${PULSAR_GC} -Daws.accessKeyId=ABC123456789 -Daws.secretKey=ded7db27a4558e2ea8bbf0bf37ae0e8521618f366c -Dio.netty.leakDetectionLevel=disabled -Dio.netty.recycler.maxCapacity.default=1000 -Dio.netty.recycler.linkCapacity=1024"
+PULSAR_EXTRA_OPTS="${PULSAR_EXTRA_OPTS} ${PULSAR_MEM} ${PULSAR_GC} -Daws.accessKeyId=ABC123456789 -Daws.secretKey=ded7db27a4558e2ea8bbf0bf37ae0e8521618f366c -Dio.netty.leakDetectionLevel=disabled -Dio.netty.recycler.maxCapacityPerThread=4096"
 
 ```
 
diff --git a/site2/website-next/versioned_docs/version-2.2.0/pulsar-admin.md b/site2/website-next/versioned_docs/version-2.2.0/pulsar-admin.md
index 7307ef6f6a..ff0c575b31 100644
--- a/site2/website-next/versioned_docs/version-2.2.0/pulsar-admin.md
+++ b/site2/website-next/versioned_docs/version-2.2.0/pulsar-admin.md
@@ -5,6 +5,10 @@ sidebar_label: "Pulsar Admin CLI"
 original_id: pulsar-admin
 ---
 
+> **Important**
+>
+> This page is deprecated and not updated anymore. For the latest and complete information about `Pulsar admin`, including commands, flags, descriptions, and more, see [Pulsar admin doc](https://pulsar.apache.org/tools/pulsar-admin/)
+
 The `pulsar-admin` tool enables you to manage Pulsar installations, including clusters, brokers, namespaces, tenants, and more.
 
 Usage
@@ -20,10 +24,15 @@ Commands
 * `brokers`
 * `clusters`
 * `functions`
+* `functions-worker`
 * `namespaces`
 * `ns-isolation-policy`
-* `sink`
-* `source`
+* `sources`
+
+  For more information, see [here](io-cli.md#sources)
+* `sinks`
+  
+  For more information, see [here](io-cli.md#sinks)
 * `topics`
 * `tenants`
 * `resource-quotas`
@@ -41,10 +50,10 @@ $ pulsar-admin broker-stats subcommand
 
 Subcommands
 * `allocator-stats`
-* `destinations`
+* `topics(destinations)`
 * `mbeans`
 * `monitoring-metrics`
-* `topics`
+* `load-report`
 
 
 ### `allocator-stats`
@@ -59,7 +68,7 @@ $ pulsar-admin broker-stats allocator-stats allocator-name
 
 ```
 
-### `destinations`
+### `topics(destinations)`
 
 Dump topic stats
 
@@ -67,7 +76,7 @@ Usage
 
 ```bash
 
-$ pulsar-admin broker-stats destinations options
+$ pulsar-admin broker-stats topics options
 
 ```
 
@@ -115,25 +124,18 @@ Options
 |`-i`, `--indent`|Indent JSON output|false|
 
 
-### `topics`
+### `load-report`
 
-Dump topic stats
+Dump broker load-report
 
 Usage
 
 ```bash
 
-$ pulsar-admin broker-stats topics options
+$ pulsar-admin broker-stats load-report
 
 ```
 
-Options
-
-|Flag|Description|Default|
-|---|---|---|
-|`-i`, `--indent`|Indent JSON output|false|
-
-
 ## `brokers`
 
 Operations about brokers
@@ -151,6 +153,8 @@ Subcommands
 * `list-dynamic-config`
 * `get-all-dynamic-config`
 * `get-internal-config`
+* `get-runtime-config`
+* `healthcheck`
 
 ### `list`
 List active brokers of the cluster
@@ -163,6 +167,17 @@ $ pulsar-admin brokers list cluster-name
 
 ```
 
+### `leader-broker`
+Get the information of the leader broker
+
+Usage
+
+```bash
+
+$ pulsar-admin brokers leader-broker
+
+```
+
 ### `namespaces`
 List namespaces owned by the broker
 
@@ -211,6 +226,24 @@ $ pulsar-admin brokers list-dynamic-config
 
 ```
 
+### `delete-dynamic-config`
+Delete dynamic-serviceConfiguration of broker
+
+Usage
+
+```bash
+
+$ pulsar-admin brokers delete-dynamic-config options
+
+```
+
+Options
+
+|Flag|Description|Default|
+|---|---|---|
+|`--config`|Service configuration parameter name||
+
+
 ### `get-all-dynamic-config`
 Get all overridden dynamic-configuration values
 
@@ -233,6 +266,28 @@ $ pulsar-admin brokers get-internal-config
 
 ```
 
+### `get-runtime-config`
+Get runtime configuration values
+
+Usage
+
+```bash
+
+$ pulsar-admin brokers get-runtime-config
+
+```
+
+### `healthcheck`
+Run a health check against the broker
+
+Usage
+
+```bash
+
+$ pulsar-admin brokers healthcheck
+
+```
+
 ## `clusters`
 Operations about clusters
 
@@ -251,6 +306,12 @@ Subcommands
 * `delete`
 * `list`
 * `update-peer-clusters`
+* `get-peer-clusters`
+* `get-failure-domain`
+* `create-failure-domain`
+* `update-failure-domain`
+* `delete-failure-domain`
+* `list-failure-domains`
 
 
 ### `get`
@@ -335,7 +396,105 @@ Usage
 
 ```bash
 
-$ pulsar-admin clusters update-peer-clusters peer-cluster-names
+$ pulsar-admin clusters update-peer-clusters cluster-name options
+
+```
+
+Options
+
+|Flag|Description|Default|
+|---|---|---|
+|`--peer-clusters`|Comma separated peer cluster names (Pass empty string "" to delete list)||
+
+### `get-peer-clusters`
+Get list of peer clusters
+
+Usage
+
+```bash
+
+$ pulsar-admin clusters get-peer-clusters
+
+```
+
+### `get-failure-domain`
+Get the configuration brokers of a failure domain
+
+Usage
+
+```bash
+
+$ pulsar-admin clusters get-failure-domain cluster-name options
+
+```
+
+Options
+
+|Flag|Description|Default|
+|---|---|---|
+|`--domain-name`|The failure domain name, which is a logical domain under a Pulsar cluster||
+
+### `create-failure-domain`
+Create a new failure domain for a cluster (updates it if already created)
+
+Usage
+
+```bash
+
+$ pulsar-admin clusters create-failure-domain cluster-name options
+
+```
+
+Options
+
+|Flag|Description|Default|
+|---|---|---|
+|`--broker-list`|Comma separated broker list||
+|`--domain-name`|The failure domain name, which is a logical domain under a Pulsar cluster||
+
+### `update-failure-domain`
+Update failure domain for a cluster (creates a new one if not exist)
+
+Usage
+
+```bash
+
+$ pulsar-admin clusters update-failure-domain cluster-name options
+
+```
+
+Options
+
+|Flag|Description|Default|
+|---|---|---|
+|`--broker-list`|Comma separated broker list||
+|`--domain-name`|The failure domain name, which is a logical domain under a Pulsar cluster||
+
+### `delete-failure-domain`
+Delete an existing failure domain
+
+Usage
+
+```bash
+
+$ pulsar-admin clusters delete-failure-domain cluster-name options
+
+```
+
+Options
+
+|Flag|Description|Default|
+|---|---|---|
+|`--domain-name`|The failure domain name, which is a logical domain under a Pulsar cluster||
+
+### `list-failure-domains`
+List the existing failure domains for a cluster
+
+Usage
+
+```bash
+
+$ pulsar-admin clusters list-failure-domains cluster-name
 
 ```
 
@@ -357,14 +516,19 @@ Subcommands
 * `delete`
 * `update`
 * `get`
-* `getstatus`
+* `restart`
+* `stop`
+* `start`
+* `status`
+* `stats`
 * `list`
 * `querystate`
+* `putstate`
 * `trigger`
 
 
 ### `localrun`
-Run a Pulsar Function locally
+Run the Pulsar Function locally (rather than deploying it to the Pulsar cluster)
 
 
 Usage
@@ -379,42 +543,54 @@ Options
 
 |Flag|Description|Default|
 |---|---|---|
-|`--cpu`|The CPU to allocate to each function instance (in number of cores)||
-|`--ram`|The RAM to allocate to each function instance (in bytes)||
-|`--disk`|The disk space to allocate to each function instance (in bytes)||
-|`--auto-ack`|Let the functions framework manage acking||
+|`--cpu`|The cpu in cores that need to be allocated per function instance(applicable only to docker runtime)||
+|`--ram`|The ram in bytes that need to be allocated per function instance(applicable only to process/docker runtime)||
+|`--disk`|The disk in bytes that need to be allocated per function instance(applicable only to docker runtime)||
+|`--auto-ack`|Whether or not the framework will automatically acknowledge messages||
 |`--subs-name`|Pulsar source subscription name if user wants a specific subscription-name for input-topic consumer||
 |`--broker-service-url `|The URL of the Pulsar broker||
-|`--classname`|The name of the function’s class||
-|`--custom-serde-inputs`|A map of the input topic to SerDe name||
-|`--custom-schema-inputs`|A map of the input topic to Schema class name||
-|`--client-auth-params`|Client Authentication Params||
-|`--function-config-file`|The path of the YAML config file used to configure the function||
-|`--hostname-verification-enabled`|Enable Hostname verification||
-|`--instance-id-offset`|Instance ids will be assigned starting from this offset||
-|`--inputs`|The input topics for the function (as a comma-separated list if more than one topic is desired)||
-|`--log-topic`|The topic to which logs from this function are published||
-|`--jar`|A path to the JAR file for the function (if the function is written in Java)||
-|`--name`|The name of the function||
-|`--namespace`|The function’s namespace||
-|`--output`|The name of the topic to which the function publishes its output (if any)||
-|`--output-serde-classname`|The SerDe class used for the function’s output||
+|`--classname`|The function's class name||
+|`--custom-serde-inputs`|The map of input topics to SerDe class names (as a JSON string)||
+|`--custom-schema-inputs`|The map of input topics to Schema class names (as a JSON string)||
+|`--client-auth-params`|Client authentication param||
+|`--client-auth-plugin`|Client authentication plugin using which function-process can connect to broker||
+|`--function-config-file`|The path to a YAML config file specifying the function's configuration||
+|`--hostname-verification-enabled`|Enable hostname verification|false|
+|`--instance-id-offset`|Start the instanceIds from this offset|0|
+|`--inputs`|The function's input topic or topics (multiple topics can be specified as a comma-separated list)||
+|`--log-topic`|The topic to which the function's logs are produced||
+|`--jar`|Path to the jar file for the function (if the function is written in Java). It also supports URL path [http/https/file (file protocol assumes that file already exists on worker host)/function (package URL from packages management service)] from which worker can download the package.||
+|`--name`|The function's name||
+|`--namespace`|The function's namespace||
+|`--output`|The function's output topic (If none is specified, no output is written)||
+|`--output-serde-classname`|The SerDe class to be used for messages output by the function||
 |`--parallelism`|The function’s parallelism factor, i.e. the number of instances of the function to run|1|
-|`--processing-guarantees`|The processing guarantees applied to the function. Can be one of: ATLEAST_ONCE, ATMOST_ONCE, or EFFECTIVELY_ONCE|ATLEAST_ONCE|
-|`--py`|The path of the Python file containing the function’s processing logic (if the function is written in Python)||
-|`--schema-type`|Schema Type to be used for storing output messages||
-|`--sliding-interval-count`|Number of messages after which the window ends||
+|`--processing-guarantees`|The processing guarantees (aka delivery semantics) applied to the function. Possible Values: [ATLEAST_ONCE, ATMOST_ONCE, EFFECTIVELY_ONCE]|ATLEAST_ONCE|
+|`--py`|Path to the main Python file/Python Wheel file for the function (if the function is written in Python). It also supports URL path [http/https/file (file protocol assumes that file already exists on worker host)/function (package URL from packages management service)] from which worker can download the package.||
+|`--go`|Path to the main Go executable binary for the function (if the function is written in Go). It also supports URL path [http/https/file (file protocol assumes that file already exists on worker host)/function (package URL from packages management service)] from which worker can download the package.||
+|`--schema-type`|The builtin schema type or custom schema class name to be used for messages output by the function||
+|`--sliding-interval-count`|The number of messages after which the window slides||
 |`--sliding-interval-duration-ms`|The time duration after which the window slides||
-|`--state-storage-service-url`|The service URL for the function’s state storage (if the function uses a storage system different from the Apache BookKeeper cluster used by Pulsar)||
+|`--state-storage-service-url`|The URL for the state storage service. By default, it it set to the service URL of the Apache BookKeeper. This service URL must be added manually when the Pulsar Function runs locally. ||
 |`--tenant`|The function’s tenant||
-|`--topics-pattern`|The topic pattern to consume from list of topics under a namespace that match the pattern||
-|`--user-config`|A user-supplied config value, set as a key/value pair. You can set multiple user config values.||
-|`--window-length-count`|The number of messages per window.||
-|`--window-length-duration-ms`|The time duration of the window in milliseconds.||
+|`--topics-pattern`|The topic pattern to consume from list of topics under a namespace that match the pattern. [--input] and [--topic-pattern] are mutually exclusive. Add SerDe class name for a pattern in --custom-serde-inputs (supported for java fun only)||
+|`--user-config`|User-defined config key/values||
+|`--window-length-count`|The number of messages per window||
+|`--window-length-duration-ms`|The time duration of the window in milliseconds||
+|`--dead-letter-topic`|The topic where all messages which could not be processed successfully are sent||
+|`--fqfn`|The Fully Qualified Function Name (FQFN) for the function||
+|`--max-message-retries`|How many times should we try to process a message before giving up||
+|`--retain-ordering`|Function consumes and processes messages in order||
+|`--retain-key-ordering`|Function consumes and processes messages in key order||
+|`--timeout-ms`|The message timeout in milliseconds||
+|`--tls-allow-insecure`|Allow insecure tls connection|false|
+|`--tls-trust-cert-path`|The tls trust cert file path||
+|`--use-tls`|Use tls connection|false|
+|`--producer-config`| The custom producer configuration (as a JSON string) | |
 
 
 ### `create`
-Creates a new Pulsar Function on the target infrastructure
+Create a Pulsar Function in cluster mode (i.e. deploy it on a Pulsar cluster)
 
 Usage
 
@@ -428,37 +604,45 @@ Options
 
 |Flag|Description|Default|
 |---|---|---|
-|`--cpu`|The CPU to allocate to each function instance (in number of cores)||
-|`--ram`|The RAM to allocate to each function instance (in bytes)||
-|`--disk`|The disk space to allocate to each function instance (in bytes)||
-|`--auto-ack`|Let the functions framework manage acking||
+|`--cpu`|The cpu in cores that need to be allocated per function instance(applicable only to docker runtime)||
+|`--ram`|The ram in bytes that need to be allocated per function instance(applicable only to process/docker runtime)||
+|`--disk`|The disk in bytes that need to be allocated per function instance(applicable only to docker runtime)||
+|`--auto-ack`|Whether or not the framework will automatically acknowledge messages||
 |`--subs-name`|Pulsar source subscription name if user wants a specific subscription-name for input-topic consumer||
-|`--classname`|The name of the function’s class||
-|`--custom-serde-inputs`|A map of the input topic to SerDe name||
-|`--custom-schema-inputs`|A map of the input topic to Schema class name||
-|`--function-config-file`|The path of the YAML config file used to configure the function||
-|`--inputs`|The input topics for the function (as a comma-separated list if more than one topic is desired)||
-|`--log-topic`|The topic to which logs from this function are published||
-|`--jar`|A path to the JAR file for the function (if the function is written in Java)||
-|`--name`|The name of the function||
+|`--classname`|The function's class name||
+|`--custom-serde-inputs`|The map of input topics to SerDe class names (as a JSON string)||
+|`--custom-schema-inputs`|The map of input topics to Schema class names (as a JSON string)||
+|`--function-config-file`|The path to a YAML config file specifying the function's configuration||
+|`--inputs`|The function's input topic or topics (multiple topics can be specified as a comma-separated list)||
+|`--log-topic`|The topic to which the function's logs are produced||
+|`--jar`|Path to the jar file for the function (if the function is written in Java). It also supports URL path [http/https/file (file protocol assumes that file already exists on worker host)/function (package URL from packages management service)] from which worker can download the package.||
+|`--name`|The function's name||
 |`--namespace`|The function’s namespace||
-|`--output`|The name of the topic to which the function publishes its output (if any)||
-|`--output-serde-classname`|The SerDe class used for the function’s output||
+|`--output`|The function's output topic (If none is specified, no output is written)||
+|`--output-serde-classname`|The SerDe class to be used for messages output by the function||
 |`--parallelism`|The function’s parallelism factor, i.e. the number of instances of the function to run|1|
-|`--processing-guarantees`|The processing guarantees applied to the function. Can be one of: ATLEAST_ONCE, ATMOST_ONCE, or EFFECTIVELY_ONCE|ATLEAST_ONCE|
-|`--py`|The path of the Python file containing the function’s processing logic (if the function is written in Python)||
-|`--schema-type`|Schema Type to be used for storing output messages||
-|`--sliding-interval-count`|Number of messages after which the window ends||
+|`--processing-guarantees`|The processing guarantees (aka delivery semantics) applied to the function. Possible Values: [ATLEAST_ONCE, ATMOST_ONCE, EFFECTIVELY_ONCE]|ATLEAST_ONCE|
+|`--py`|Path to the main Python file/Python Wheel file for the function (if the function is written in Python). It also supports URL path [http/https/file (file protocol assumes that file already exists on worker host)/function (package URL from packages management service)] from which worker can download the package.||
+|`--go`|Path to the main Go executable binary for the function (if the function is written in Go). It also supports URL path [http/https/file (file protocol assumes that file already exists on worker host)/function (package URL from packages management service)] from which worker can download the package.||
+|`--schema-type`|The builtin schema type or custom schema class name to be used for messages output by the function||
+|`--sliding-interval-count`|The number of messages after which the window slides||
 |`--sliding-interval-duration-ms`|The time duration after which the window slides||
 |`--tenant`|The function’s tenant||
-|`--topics-pattern`|The topic pattern to consume from list of topics under a namespace that match the pattern||
-|`--user-config`|A user-supplied config value, set as a key/value pair. You can set multiple user config values.||
-|`--window-length-count`|The number of messages per window.||
-|`--window-length-duration-ms`|The time duration of the window in milliseconds.||
+|`--topics-pattern`|The topic pattern to consume from list of topics under a namespace that match the pattern. [--input] and [--topic-pattern] are mutually exclusive. Add SerDe class name for a pattern in --custom-serde-inputs (supported for java fun only)||
+|`--user-config`|User-defined config key/values||
+|`--window-length-count`|The number of messages per window||
+|`--window-length-duration-ms`|The time duration of the window in milliseconds||
+|`--dead-letter-topic`|The topic where all messages which could not be processed||
+|`--fqfn`|The Fully Qualified Function Name (FQFN) for the function||
+|`--max-message-retries`|How many times should we try to process a message before giving up||
+|`--retain-ordering`|Function consumes and processes messages in order||
+|`--retain-key-ordering`|Function consumes and processes messages in key order||
+|`--timeout-ms`|The message timeout in milliseconds||
+|`--producer-config`| The custom producer configuration (as a JSON string) | |
 
 
 ### `delete`
-Deletes an existing Pulsar Function
+Delete a Pulsar Function that's running on a Pulsar cluster
 
 Usage
 
@@ -472,13 +656,14 @@ Options
 
 |Flag|Description|Default|
 |---|---|---|
-|`--name`|The name of the function to delete||
-|`--namespace`|The namespace of the function to delete||
-|`--tenant`|The tenant of the function to delete||
+|`--fqfn`|The Fully Qualified Function Name (FQFN) for the function||
+|`--name`|The function's name||
+|`--namespace`|The function's namespace||
+|`--tenant`|The function's tenant||
 
 
 ### `update`
-Updates an existing Pulsar Function
+Update a Pulsar Function that's been deployed to a Pulsar cluster
 
 Usage
 
@@ -492,37 +677,45 @@ Options
 
 |Flag|Description|Default|
 |---|---|---|
-|`--cpu`|The CPU to allocate to each function instance (in number of cores)||
-|`--ram`|The RAM to allocate to each function instance (in bytes)||
-|`--disk`|The disk space to allocate to each function instance (in bytes)||
-|`--auto-ack`|Let the functions framework manage acking||
+|`--cpu`|The cpu in cores that need to be allocated per function instance(applicable only to docker runtime)||
+|`--ram`|The ram in bytes that need to be allocated per function instance(applicable only to process/docker runtime)||
+|`--disk`|The disk in bytes that need to be allocated per function instance(applicable only to docker runtime)||
+|`--auto-ack`|Whether or not the framework will automatically acknowledge messages||
 |`--subs-name`|Pulsar source subscription name if user wants a specific subscription-name for input-topic consumer||
-|`--classname`|The name of the function’s class||
-|`--custom-serde-inputs`|A map of the input topic to SerDe name||
-|`--custom-schema-inputs`|A map of the input topic to Schema class name||
-|`--function-config-file`|The path of the YAML config file used to configure the function||
-|`--inputs`|The input topics for the function (as a comma-separated list if more than one topic is desired)||
-|`--log-topic`|The topic to which logs from this function are published||
-|`--jar`|A path to the JAR file for the function (if the function is written in Java)||
-|`--name`|The name of the function||
+|`--classname`|The function's class name||
+|`--custom-serde-inputs`|The map of input topics to SerDe class names (as a JSON string)||
+|`--custom-schema-inputs`|The map of input topics to Schema class names (as a JSON string)||
+|`--function-config-file`|The path to a YAML config file specifying the function's configuration||
+|`--inputs`|The function's input topic or topics (multiple topics can be specified as a comma-separated list)||
+|`--log-topic`|The topic to which the function's logs are produced||
+|`--jar`|Path to the jar file for the function (if the function is written in Java). It also supports URL path [http/https/file (file protocol assumes that file already exists on worker host)/function (package URL from packages management service)] from which worker can download the package.||
+|`--name`|The function's name||
 |`--namespace`|The function’s namespace||
-|`--output`|The name of the topic to which the function publishes its output (if any)||
-|`--output-serde-classname`|The SerDe class used for the function’s output||
+|`--output`|The function's output topic (If none is specified, no output is written)||
+|`--output-serde-classname`|The SerDe class to be used for messages output by the function||
 |`--parallelism`|The function’s parallelism factor, i.e. the number of instances of the function to run|1|
-|`--processing-guarantees`|The processing guarantees applied to the function. Can be one of: ATLEAST_ONCE, ATMOST_ONCE, or EFFECTIVELY_ONCE|ATLEAST_ONCE|
-|`--py`|The path of the Python file containing the function’s processing logic (if the function is written in Python)||
-|`--schema-type`|Schema Type to be used for storing output messages||
-|`--sliding-interval-count`|Number of messages after which the window ends||
+|`--processing-guarantees`|The processing guarantees (aka delivery semantics) applied to the function. Possible Values: [ATLEAST_ONCE, ATMOST_ONCE, EFFECTIVELY_ONCE]|ATLEAST_ONCE|
+|`--py`|Path to the main Python file/Python Wheel file for the function (if the function is written in Python). It also supports URL path [http/https/file (file protocol assumes that file already exists on worker host)/function (package URL from packages management service)] from which worker can download the package.||
+|`--go`|Path to the main Go executable binary for the function (if the function is written in Go). It also supports URL path [http/https/file (file protocol assumes that file already exists on worker host)/function (package URL from packages management service)] from which worker can download the package.||
+|`--schema-type`|The builtin schema type or custom schema class name to be used for messages output by the function||
+|`--sliding-interval-count`|The number of messages after which the window slides||
 |`--sliding-interval-duration-ms`|The time duration after which the window slides||
 |`--tenant`|The function’s tenant||
-|`--topics-pattern`|The topic pattern to consume from list of topics under a namespace that match the pattern||
-|`--user-config`|A user-supplied config value, set as a key/value pair. You can set multiple user config values.||
-|`--window-length-count`|The number of messages per window.||
-|`--window-length-duration-ms`|The time duration of the window in milliseconds.||
+|`--topics-pattern`|The topic pattern to consume from list of topics under a namespace that match the pattern. [--input] and [--topic-pattern] are mutually exclusive. Add SerDe class name for a pattern in --custom-serde-inputs (supported for java fun only)||
+|`--user-config`|User-defined config key/values||
+|`--window-length-count`|The number of messages per window||
+|`--window-length-duration-ms`|The time duration of the window in milliseconds||
+|`--dead-letter-topic`|The topic where all messages which could not be processed||
+|`--fqfn`|The Fully Qualified Function Name (FQFN) for the function||
+|`--max-message-retries`|How many times should we try to process a message before giving up||
+|`--retain-ordering`|Function consumes and processes messages in order||
+|`--retain-key-ordering`|Function consumes and processes messages in key order||
+|`--timeout-ms`|The message timeout in milliseconds||
+|`--producer-config`| The custom producer configuration (as a JSON string) | |
 
 
 ### `get`
-Fetch information about an existing Pulsar Function
+Fetch information about a Pulsar Function
 
 Usage
 
@@ -536,13 +729,14 @@ Options
 
 |Flag|Description|Default|
 |---|---|---|
-|`--name`|The name of the function||
-|`--namespace`|The namespace of the function||
-|`--tenant`|The tenant of the function||
+|`--fqfn`|The Fully Qualified Function Name (FQFN) for the function||
+|`--name`|The function's name||
+|`--namespace`|The function's namespace||
+|`--tenant`|The function's tenant||
 
 
 ### `restart`
-Restarts either all instances or one particular instance of a function
+Restart function instance
 
 Usage
 
@@ -556,14 +750,15 @@ Options
 
 |Flag|Description|Default|
 |---|---|---|
-|`--name`|The name of the function||
-|`--namespace`|The namespace of the function||
-|`--tenant`|The tenant of the function||
-|`--instance-id`|The function instanceId; restart all instances if instance-id is not provided||
+|`--fqfn`|The Fully Qualified Function Name (FQFN) for the function||
+|`--instance-id`|The function instanceId (restart all instances if instance-id is not provided)||
+|`--name`|The function's name||
+|`--namespace`|The function's namespace||
+|`--tenant`|The function's tenant||
 
 
 ### `stop`
-Temporary stops function instance. (If worker restarts then it reassigns and starts functiona again)
+Stops function instance
 
 Usage
 
@@ -577,20 +772,65 @@ Options
 
 |Flag|Description|Default|
 |---|---|---|
-|`--name`|The name of the function||
-|`--namespace`|The namespace of the function||
-|`--tenant`|The tenant of the function||
-|`--instance-id`|The function instanceId; stop all instances if instance-id is not provided||
+|`--fqfn`|The Fully Qualified Function Name (FQFN) for the function||
+|`--instance-id`|The function instanceId (stop all instances if instance-id is not provided)||
+|`--name`|The function's name||
+|`--namespace`|The function's namespace||
+|`--tenant`|The function's tenant||
+
+
+### `start`
+Starts a stopped function instance
+
+Usage
+
+```bash
+
+$ pulsar-admin functions start options
+
+```
+
+Options
+
+|Flag|Description|Default|
+|---|---|---|
+|`--fqfn`|The Fully Qualified Function Name (FQFN) for the function||
+|`--instance-id`|The function instanceId (start all instances if instance-id is not provided)||
+|`--name`|The function's name||
+|`--namespace`|The function's namespace||
+|`--tenant`|The function's tenant||
+
+
+### `status`
+Check the current status of a Pulsar Function
+
+Usage
+
+```bash
+
+$ pulsar-admin functions status options
+
+```
+
+Options
+
+|Flag|Description|Default|
+|---|---|---|
+|`--fqfn`|The Fully Qualified Function Name (FQFN) for the function||
+|`--instance-id`|The function instanceId (Get-status of all instances if instance-id is not provided)||
+|`--name`|The function's name||
+|`--namespace`|The function's namespace||
+|`--tenant`|The function's tenant||
 
 
-### `getstatus`
-Get the status of an existing Pulsar Function
+### `stats`
+Get the current stats of a Pulsar Function
 
 Usage
 
 ```bash
 
-$ pulsar-admin functions getstatus options
+$ pulsar-admin functions stats options
 
 ```
 
@@ -598,13 +838,14 @@ Options
 
 |Flag|Description|Default|
 |---|---|---|
-|`--name`|The name of the function||
-|`--namespace`|The namespace of the function||
-|`--tenant`|The tenant of the function||
-|`--instance-id`|The function instanceId; get status of all instances if instance-id is not provided||
+|`--fqfn`|The Fully Qualified Function Name (FQFN) for the function||
+|`--instance-id`|The function instanceId (Get-stats of all instances if instance-id is not provided)||
+|`--name`|The function's name||
+|`--namespace`|The function's namespace||
+|`--tenant`|The function's tenant||
 
 ### `list`
-List all Pulsar Functions for a specific tenant and namespace
+List all of the Pulsar Functions running under a specific tenant and namespace
 
 Usage
 
@@ -618,12 +859,12 @@ Options
 
 |Flag|Description|Default|
 |---|---|---|
-|`--namespace`|The namespace of the function||
-|`--tenant`|The tenant of the function||
+|`--namespace`|The function's namespace||
+|`--tenant`|The function's tenant||
 
 
 ### `querystate`
-Retrieve the current state of a Pulsar Function by key
+Fetch the current state associated with a Pulsar Function running in cluster mode
 
 Usage
 
@@ -637,16 +878,36 @@ Options
 
 |Flag|Description|Default|
 |---|---|---|
+|`--fqfn`|The Fully Qualified Function Name (FQFN) for the function||
 |`-k`, `--key`|The key for the state you want to fetch||
-|`--name`|The name of the function whose state you want to query||
-|`--namespace`|The namespace of the function whose state you want to query||
-|`--tenant`|The tenant of the function whose state you want to query||
-|`-u`, `--storage-service-url`|The service URL for the function’s state storage (if the function uses a storage system different from the Apache BookKeeper cluster used by Pulsar)||
-|`-w`, `--watch`|If set, watching for state changes is enabled|false|
+|`--name`|The function's name||
+|`--namespace`|The function's namespace||
+|`--tenant`|The function's tenant||
+|`-w`, `--watch`|Watch for changes in the value associated with a key for a Pulsar Function|false|
+
+### `putstate`
+Put a key/value pair to the state associated with a Pulsar Function
+
+Usage
+
+```bash
 
+$ pulsar-admin functions putstate options
+
+```
+
+Options
+
+|Flag|Description|Default|
+|---|---|---|
+|`--fqfn`|The Fully Qualified Function Name (FQFN) for the Pulsar Function||
+|`--name`|The name of a Pulsar Function||
+|`--namespace`|The namespace of a Pulsar Function||
+|`--tenant`|The tenant of a Pulsar Function||
+|`-s`, `--state`|The FunctionState that needs to be put||
 
 ### `trigger`
-Triggers the specified Pulsar Function with a supplied value or file data
+Triggers the specified Pulsar Function with a supplied value
 
 Usage
 
@@ -660,12 +921,91 @@ Options
 
 |Flag|Description|Default|
 |---|---|---|
-|`--name`|The name of the Pulsar Function to trigger||
-|`--namespace`|The namespace of the Pulsar Function to trigger||
-|`--tenant`|The tenant of the Pulsar Function to trigger||
-|`--trigger-file`|The path to the file containing the data with which the Pulsar Function is to be triggered||
-|`--trigger-value`|The value with which the Pulsar Function is to be triggered||
+|`--fqfn`|The Fully Qualified Function Name (FQFN) for the function||
+|`--name`|The function's name||
+|`--namespace`|The function's namespace||
+|`--tenant`|The function's tenant||
+|`--topic`|The specific topic name that the function consumes from that you want to inject the data to||
+|`--trigger-file`|The path to the file that contains the data with which you'd like to trigger the function||
+|`--trigger-value`|The value with which you want to trigger the function||
+
+
+## `functions-worker`
+Operations to collect function-worker statistics
+
+```bash
+
+$ pulsar-admin functions-worker subcommand
+
+```
+
+Subcommands
+
+* `function-stats`
+* `get-cluster`
+* `get-cluster-leader`
+* `get-function-assignments`
+* `monitoring-metrics`
+
+### `function-stats`
+
+Dump all functions stats running on this broker
+
+Usage
+
+```bash
 
+$ pulsar-admin functions-worker function-stats
+
+```
+
+### `get-cluster`
+
+Get all workers belonging to this cluster
+
+Usage
+
+```bash
+
+$ pulsar-admin functions-worker get-cluster
+
+```
+
+### `get-cluster-leader`
+
+Get the leader of the worker cluster
+
+Usage
+
+```bash
+
+$ pulsar-admin functions-worker get-cluster-leader
+
+```
+
+### `get-function-assignments`
+
+Get the assignments of the functions across the worker cluster
+
+Usage
+
+```bash
+
+$ pulsar-admin functions-worker get-function-assignments
+
+```
+
+### `monitoring-metrics`
+
+Dump metrics for Monitoring
+
+Usage
+
+```bash
+
+$ pulsar-admin functions-worker monitoring-metrics
+
+```
 
 ## `namespaces`
 
@@ -679,15 +1019,20 @@ $ pulsar-admin namespaces subcommand
 
 Subcommands
 * `list`
-* `list-cluster`
-* `destinations`
+* `topics`
 * `policies`
 * `create`
 * `delete`
 * `set-deduplication`
+* `set-auto-topic-creation`
+* `remove-auto-topic-creation`
+* `set-auto-subscription-creation`
+* `remove-auto-subscription-creation`
 * `permissions`
 * `grant-permission`
 * `revoke-permission`
+* `grant-subscription-permission`
+* `revoke-subscription-permission`
 * `set-clusters`
 * `get-clusters`
 * `get-backlog-quotas`
@@ -697,15 +1042,53 @@ Subcommands
 * `set-persistence`
 * `get-message-ttl`
 * `set-message-ttl`
+* `remove-message-ttl`
+* `get-anti-affinity-group`
+* `set-anti-affinity-group`
+* `get-anti-affinity-namespaces`
+* `delete-anti-affinity-group`
 * `get-retention`
 * `set-retention`
 * `unload`
+* `split-bundle`
+* `set-dispatch-rate`
+* `get-dispatch-rate`
+* `set-replicator-dispatch-rate`
+* `get-replicator-dispatch-rate`
+* `set-subscribe-rate`
+* `get-subscribe-rate`
+* `set-subscription-dispatch-rate`
+* `get-subscription-dispatch-rate`
 * `clear-backlog`
 * `unsubscribe`
+* `set-encryption-required`
+* `set-delayed-delivery`
+* `get-delayed-delivery`
+* `set-subscription-auth-mode`
+* `get-max-producers-per-topic`
+* `set-max-producers-per-topic`
+* `get-max-consumers-per-topic`
+* `set-max-consumers-per-topic`
+* `get-max-consumers-per-subscription`
+* `set-max-consumers-per-subscription`
+* `get-max-unacked-messages-per-subscription`
+* `set-max-unacked-messages-per-subscription`
+* `get-max-unacked-messages-per-consumer`
+* `set-max-unacked-messages-per-consumer`
 * `get-compaction-threshold`
 * `set-compaction-threshold`
 * `get-offload-threshold`
 * `set-offload-threshold`
+* `get-offload-deletion-lag`
+* `set-offload-deletion-lag`
+* `clear-offload-deletion-lag`
+* `get-schema-autoupdate-strategy`
+* `set-schema-autoupdate-strategy`
+* `set-offload-policies`
+* `get-offload-policies`
+* `set-max-subscriptions-per-topic`
+* `get-max-subscriptions-per-topic`
+* `remove-max-subscriptions-per-topic`
 
 
 ### `list`
@@ -719,36 +1102,25 @@ $ pulsar-admin namespaces list tenant-name
 
 ```
 
-### `list-cluster`
-Get the namespaces for a tenant in the cluster
-
-Usage
-
-```bash
-
-$ pulsar-admin namespaces list-cluster tenant/cluster
-
-```
-
-### `destinations`
-Get the destinations for a namespace
+### `topics`
+Get the list of topics for a namespace
 
 Usage
 
 ```bash
 
-$ pulsar-admin namespaces destinations tenant/cluster/namespace
+$ pulsar-admin namespaces topics tenant/namespace
 
 ```
 
 ### `policies`
-Get the policies of a namespace
+Get the configuration policies of a namespace
 
 Usage
 
 ```bash
 
-$ pulsar-admin namespaces policies tenant/cluster/namespace
+$ pulsar-admin namespaces policies tenant/namespace
 
 ```
 
@@ -759,7 +1131,7 @@ Usage
 
 ```bash
 
-$ pulsar-admin namespaces create tenant/cluster/namespace options
+$ pulsar-admin namespaces create tenant/namespace options
 
 ```
 
@@ -767,17 +1139,18 @@ Options
 
 |Flag|Description|Default|
 |---|---|---|
-|`-b` , `--bundles`|The number of bundles to activate|0|
+|`-b`, `--bundles`|The number of bundles to activate|0|
+|`-c`, `--clusters`|List of clusters this namespace will be assigned||
 
 
 ### `delete`
-Deletes a namespace
+Deletes a namespace. The namespace needs to be empty
 
 Usage
 
 ```bash
 
-$ pulsar-admin namespaces delete tenant/cluster/namespace
+$ pulsar-admin namespaces delete tenant/namespace
 
 ```
 
@@ -788,7 +1161,7 @@ Usage
 
 ```bash
 
-$ pulsar-admin namespaces set-deduplication tenant/cluster/namespace options
+$ pulsar-admin namespaces set-deduplication tenant/namespace options
 
 ```
 
@@ -799,35 +1172,93 @@ Options
 |`--enable`, `-e`|Enable message deduplication on the specified namespace|false|
 |`--disable`, `-d`|Disable message deduplication on the specified namespace|false|
 
-
-### `permissions`
-Get the permissions on a namespace
+### `set-auto-topic-creation`
+Enable or disable autoTopicCreation for a namespace, overriding broker settings
 
 Usage
 
 ```bash
 
-$ pulsar-admin namespaces permissions tenant/cluster/namespace
+$ pulsar-admin namespaces set-auto-topic-creation tenant/namespace options
 
 ```
 
-### `grant-permission`
-Grant permissions on a namespace
+Options
+
+|Flag|Description|Default|
+|---|---|---|
+|`--enable`, `-e`|Enable allowAutoTopicCreation on namespace|false|
+|`--disable`, `-d`|Disable allowAutoTopicCreation on namespace|false|
+|`--type`, `-t`|Type of topic to be auto-created. Possible values: (partitioned, non-partitioned)|non-partitioned|
+|`--num-partitions`, `-n`|Default number of partitions of topic to be auto-created, applicable to partitioned topics only||
+
+### `remove-auto-topic-creation`
+Remove override of autoTopicCreation for a namespace
 
 Usage
 
 ```bash
 
-$ pulsar-admin namespaces grant-permission tenant/cluster/namespace options
+$ pulsar-admin namespaces remove-auto-topic-creation tenant/namespace
 
 ```
 
-Options
+### `set-auto-subscription-creation`
+Enable autoSubscriptionCreation for a namespace, overriding broker settings
 
-|Flag|Description|Default|
-|---|---|---|
-|`--actions`|Actions to be granted (`produce` or `consume`)||
-|`--role`|The client role to which to grant the permissions||
+Usage
+
+```bash
+
+$ pulsar-admin namespaces set-auto-subscription-creation tenant/namespace options
+
+```
+
+Options
+
+|Flag|Description|Default|
+|---|---|---|
+|`--enable`, `-e`|Enable allowAutoSubscriptionCreation on namespace|false|
+
+### `remove-auto-subscription-creation`
+Remove override of autoSubscriptionCreation for a namespace
+
+Usage
+
+```bash
+
+$ pulsar-admin namespaces remove-auto-subscription-creation tenant/namespace
+
+```
+
+### `permissions`
+Get the permissions on a namespace
+
+Usage
+
+```bash
+
+$ pulsar-admin namespaces permissions tenant/namespace
+
+```
+
+### `grant-permission`
+Grant permissions on a namespace
+
+Usage
+
+```bash
+
+$ pulsar-admin namespaces grant-permission tenant/namespace options
+
+```
+
+Options
+
+|Flag|Description|Default|
+|---|---|---|
+|`--actions`|Actions to be granted (`produce` or `consume`)||
+|`--role`|The client role to which to grant the permissions||
 
 
 ### `revoke-permission`
@@ -837,7 +1268,7 @@ Usage
 
 ```bash
 
-$ pulsar-admin namespaces revoke-permission tenant/cluster/namespace options
+$ pulsar-admin namespaces revoke-permission tenant/namespace options
 
 ```
 
@@ -845,8 +1276,43 @@ Options
 
 |Flag|Description|Default|
 |---|---|---|
-|`--role`|The client role to which to grant the permissions||
+|`--role`|The client role to which to revoke the permissions||
 
+### `grant-subscription-permission`
+Grant permissions to access subscription admin-api
+
+Usage
+
+```bash
+
+$ pulsar-admin namespaces grant-subscription-permission tenant/namespace options
+
+```
+
+Options
+
+|Flag|Description|Default|
+|---|---|---|
+|`--roles`|The client roles to which to grant the permissions (comma separated roles)||
+|`--subscription`|The subscription name for which permission will be granted to roles||
+
+### `revoke-subscription-permission`
+Revoke permissions to access subscription admin-api
+
+Usage
+
+```bash
+
+$ pulsar-admin namespaces revoke-subscription-permission tenant/namespace options
+
+```
+
+Options
+
+|Flag|Description|Default|
+|---|---|---|
+|`--role`|The client role to which to revoke the permissions||
+|`--subscription`|The subscription name for which permission will be revoked to roles||
 
 ### `set-clusters`
 Set replication clusters for a namespace
@@ -855,7 +1321,7 @@ Usage
 
 ```bash
 
-$ pulsar-admin namespaces set-clusters tenant/cluster/namespace options
+$ pulsar-admin namespaces set-clusters tenant/namespace options
 
 ```
 
@@ -873,7 +1339,7 @@ Usage
 
 ```bash
 
-$ pulsar-admin namespaces get-clusters tenant/cluster/namespace
+$ pulsar-admin namespaces get-clusters tenant/namespace
 
 ```
 
@@ -884,18 +1350,18 @@ Usage
 
 ```bash
 
-$ pulsar-admin namespaces get-backlog-quotas tenant/cluster/namespace
+$ pulsar-admin namespaces get-backlog-quotas tenant/namespace
 
 ```
 
 ### `set-backlog-quota`
-Set a backlog quota for a namespace
+Set a backlog quota policy for a namespace
 
 Usage
 
 ```bash
 
-$ pulsar-admin namespaces set-backlog-quota tenant/cluster/namespace options
+$ pulsar-admin namespaces set-backlog-quota tenant/namespace options
 
 ```
 
@@ -904,26 +1370,41 @@ Options
 |Flag|Description|Default|
 |----|---|---|
 |`-l`, `--limit`|The backlog size limit (for example `10M` or `16G`)||
+|`-lt`, `--limitTime`|Time limit in second, non-positive number for disabling time limit. (for example 3600 for 1 hour)||
 |`-p`, `--policy`|The retention policy to enforce when the limit is reached. The valid options are: `producer_request_hold`, `producer_exception` or `consumer_backlog_eviction`|
+|`-t`, `--type`|Backlog quota type to set. The valid options are: `destination_storage`, `message_age` |destination_storage|
 
 Example
 
 ```bash
 
-$ pulsar-admin namespaces set-backlog-quota my-prop/my-cluster/my-ns \
+$ pulsar-admin namespaces set-backlog-quota my-tenant/my-ns \
 --limit 2G \
 --policy producer_request_hold
 
 ```
 
+```bash
+
+$ pulsar-admin namespaces set-backlog-quota my-tenant/my-ns \
+--limitTime 3600 \
+--policy producer_request_hold \
+--type message_age
+
+```
+
 ### `remove-backlog-quota`
 Remove a backlog quota policy from a namespace
 
+|Flag|Description|Default|
+|---|---|---|
+|`-t`, `--type`|Backlog quota type to remove. The valid options are: `destination_storage`, `message_age` |destination_storage|
+
 Usage
 
 ```bash
 
-$ pulsar-admin namespaces remove-backlog-quota tenant/cluster/namespace
+$ pulsar-admin namespaces remove-backlog-quota tenant/namespace
 
 ```
 
@@ -934,7 +1415,7 @@ Usage
 
 ```bash
 
-$ pulsar-admin namespaces get-persistence tenant/cluster/namespace
+$ pulsar-admin namespaces get-persistence tenant/namespace
 
 ```
 
@@ -945,7 +1426,7 @@ Usage
 
 ```bash
 
-$ pulsar-admin namespaces set-persistence tenant/cluster/namespace options
+$ pulsar-admin namespaces set-persistence tenant/namespace options
 
 ```
 
@@ -966,7 +1447,7 @@ Usage
 
 ```bash
 
-$ pulsar-admin namespaces get-message-ttl tenant/cluster/namespace
+$ pulsar-admin namespaces get-message-ttl tenant/namespace
 
 ```
 
@@ -977,7 +1458,46 @@ Usage
 
 ```bash
 
-$ pulsar-admin namespaces set-message-ttl options
+$ pulsar-admin namespaces set-message-ttl tenant/namespace options
+
+```
+
+Options
+
+|Flag|Description|Default|
+|----|---|---|
+|`-ttl`, `--messageTTL`|Message TTL in seconds. When the value is set to `0`, TTL is disabled. TTL is disabled by default. |0|
+
+### `remove-message-ttl`
+Remove the message TTL for a namespace.
+
+Usage
+
+```bash
+
+$ pulsar-admin namespaces remove-message-ttl tenant/namespace
+
+```
+
+### `get-anti-affinity-group`
+Get Anti-affinity group name for a namespace
+
+Usage
+
+```bash
+
+$ pulsar-admin namespaces get-anti-affinity-group tenant/namespace
+
+```
+
+### `set-anti-affinity-group`
+Set Anti-affinity group name for a namespace
+
+Usage
+
+```bash
+
+$ pulsar-admin namespaces set-anti-affinity-group tenant/namespace options
 
 ```
 
@@ -985,28 +1505,57 @@ Options
 
 |Flag|Description|Default|
 |----|---|---|
-|`-ttl`, `--messageTTL`|Message TTL in seconds. When the value is set to `0`, TTL is disabled. TTL is disabled by default.|0|
+|`-g`, `--group`|Anti-affinity group name||
 
+### `get-anti-affinity-namespaces`
+Get Anti-affinity namespaces grouped with the given anti-affinity group name
+
+Usage
+
+```bash
+
+$ pulsar-admin namespaces get-anti-affinity-namespaces options
+
+```
+
+Options
+
+|Flag|Description|Default|
+|----|---|---|
+|`-c`, `--cluster`|Cluster name||
+|`-g`, `--group`|Anti-affinity group name||
+|`-p`, `--tenant`|Tenant is only used for authorization. Client has to be admin of any of the tenant to access this api||
+
+### `delete-anti-affinity-group`
+Remove Anti-affinity group name for a namespace
+
+Usage
+
+```bash
+
+$ pulsar-admin namespaces delete-anti-affinity-group tenant/namespace
+
+```
 
 ### `get-retention`
-Get the retention policy for a namespace
+Get the retention policy that is applied to each topic within the specified namespace
 
 Usage
 
 ```bash
 
-$ pulsar-admin namespaces get-retention tenant/cluster/namespace
+$ pulsar-admin namespaces get-retention tenant/namespace
 
 ```
 
 ### `set-retention`
-Set the retention policy for a namespace
+Set the retention policy for each topic within the specified namespace
 
 Usage
 
 ```bash
 
-$ pulsar-admin namespaces set-retention tenant/cluster/namespace options
+$ pulsar-admin namespaces set-retention tenant/namespace
 
 ```
 
@@ -1014,7 +1563,7 @@ Options
 
 |Flag|Description|Default|
 |----|---|---|
-|`-s`, `--size`|The retention size limits (for example 10M, 16G or 3T). 0 means no retention and -1 means infinite size retention||
+|`-s`, `--size`|The retention size limits (for example 10M, 16G or 3T) for each topic in the namespace. 0 means no retention and -1 means infinite size retention||
 |`-t`, `--time`|The retention time in minutes, hours, days, or weeks. Examples: 100m, 13h, 2d, 5w. 0 means no retention and -1 means infinite time retention||
 
 
@@ -1025,7 +1574,131 @@ Usage
 
 ```bash
 
-$ pulsar-admin namespaces unload tenant/cluster/namespace options
+$ pulsar-admin namespaces unload tenant/namespace options
+
+```
+
+Options
+
+|Flag|Description|Default|
+|----|---|---|
+|`-b`, `--bundle`|{start-boundary}_{end-boundary} (e.g. 0x00000000_0xffffffff)||
+
+### `split-bundle`
+Split a namespace-bundle from the current serving broker
+
+Usage
+
+```bash
+
+$ pulsar-admin namespaces split-bundle tenant/namespace options
+
+```
+
+Options
+
+|Flag|Description|Default|
+|----|---|---|
+|`-b`, `--bundle`|{start-boundary}_{end-boundary} (e.g. 0x00000000_0xffffffff)||
+|`-u`, `--unload`|Unload newly split bundles after splitting old bundle|false|
+
+### `set-dispatch-rate`
+Set message-dispatch-rate for all topics of the namespace
+
+Usage
+
+```bash
+
+$ pulsar-admin namespaces set-dispatch-rate tenant/namespace options
+
+```
+
+Options
+
+|Flag|Description|Default|
+|----|---|---|
+|`-bd`, `--byte-dispatch-rate`|The byte dispatch rate (default -1 will be overwrite if not passed)|-1|
+|`-dt`, `--dispatch-rate-period`|The dispatch rate period in second type (default 1 second will be overwrite if not passed)|1|
+|`-md`, `--msg-dispatch-rate`|The message dispatch rate (default -1 will be overwrite if not passed)|-1|
+
+### `get-dispatch-rate`
+Get configured message-dispatch-rate for all topics of the namespace (Disabled if value < 0)
+
+Usage
+
+```bash
+
+$ pulsar-admin namespaces get-dispatch-rate tenant/namespace
+
+```
+
+### `set-replicator-dispatch-rate`
+Set replicator message-dispatch-rate for all topics of the namespace
+
+Usage
+
+```bash
+
+$ pulsar-admin namespaces set-replicator-dispatch-rate tenant/namespace options
+
+```
+
+Options
+
+|Flag|Description|Default|
+|----|---|---|
+|`-bd`, `--byte-dispatch-rate`|The byte dispatch rate (default -1 will be overwrite if not passed)|-1|
+|`-dt`, `--dispatch-rate-period`|The dispatch rate period in second type (default 1 second will be overwrite if not passed)|1|
+|`-md`, `--msg-dispatch-rate`|The message dispatch rate (default -1 will be overwrite if not passed)|-1|
+
+### `get-replicator-dispatch-rate`
+Get replicator configured message-dispatch-rate for all topics of the namespace (Disabled if value < 0)
+
+Usage
+
+```bash
+
+$ pulsar-admin namespaces get-replicator-dispatch-rate tenant/namespace
+
+```
+
+### `set-subscribe-rate`
+Set subscribe-rate per consumer for all topics of the namespace
+
+Usage
+
+```bash
+
+$ pulsar-admin namespaces set-subscribe-rate tenant/namespace options
+
+```
+
+Options
+
+|Flag|Description|Default|
+|----|---|---|
+|`-sr`, `--subscribe-rate`|The subscribe rate (default -1 will be overwrite if not passed)|-1|
+|`-st`, `--subscribe-rate-period`|The subscribe rate period in second type (default 30 second will be overwrite if not passed)|30|
+
+### `get-subscribe-rate`
+Get configured subscribe-rate per consumer for all topics of the namespace
+
+Usage
+
+```bash
+
+$ pulsar-admin namespaces get-subscribe-rate tenant/namespace
+
+```
+
+### `set-subscription-dispatch-rate`
+Set subscription message-dispatch-rate for all subscription of the namespace
+
+Usage
+
+```bash
+
+$ pulsar-admin namespaces set-subscription-dispatch-rate tenant/namespace options
 
 ```
 
@@ -1033,8 +1706,20 @@ Options
 
 |Flag|Description|Default|
 |----|---|---|
-|`-b`, `--bundle`|||
+|`-bd`, `--byte-dispatch-rate`|The byte dispatch rate (default -1 will be overwrite if not passed)|-1|
+|`-dt`, `--dispatch-rate-period`|The dispatch rate period in second type (default 1 second will be overwrite if not passed)|1|
+|`-md`, `--sub-msg-dispatch-rate`|The message dispatch rate (default -1 will be overwrite if not passed)|-1|
 
+### `get-subscription-dispatch-rate`
+Get subscription configured message-dispatch-rate for all topics of the namespace (Disabled if value < 0)
+
+Usage
+
+```bash
+
+$ pulsar-admin namespaces get-subscription-dispatch-rate tenant/namespace
+
+```
 
 ### `clear-backlog`
 Clear the backlog for a namespace
@@ -1043,7 +1728,7 @@ Usage
 
 ```bash
 
-$ pulsar-admin namespaces clear-backlog tenant/cluster/namespace options
+$ pulsar-admin namespaces clear-backlog tenant/namespace options
 
 ```
 
@@ -1051,8 +1736,8 @@ Options
 
 |Flag|Description|Default|
 |----|---|---|
-|`-b`, `--bundle`|||   
-|`-f`, `--force`|Whether to force a clear backlog without prompt|false|
+|`-b`, `--bundle`|{start-boundary}_{end-boundary} (e.g. 0x00000000_0xffffffff)||
+|`-force`, `--force`|Whether to force a clear backlog without prompt|false|
 |`-s`, `--sub`|The subscription name||
 
 
@@ -1063,7 +1748,7 @@ Usage
 
 ```bash
 
-$ pulsar-admin namespaces unsubscribe tenant/cluster/namespace options
+$ pulsar-admin namespaces unsubscribe tenant/namespace options
 
 ```
 
@@ -1071,29 +1756,35 @@ Options
 
 |Flag|Description|Default|
 |----|---|---|
-|`-b`, `--bundle`|||   
+|`-b`, `--bundle`|{start-boundary}_{end-boundary} (e.g. 0x00000000_0xffffffff)||
 |`-s`, `--sub`|The subscription name||
 
-
-### `get-compaction-threshold`
-Get compactionThreshold for a namespace
+### `set-encryption-required`
+Enable or disable message encryption required for a namespace
 
 Usage
 
 ```bash
 
-$ pulsar-admin namespaces get-compaction-threshold tenant/namespace
+$ pulsar-admin namespaces set-encryption-required tenant/namespace options
 
 ```
 
-### `set-compaction-threshold`
-Set compactionThreshold for a namespace
+Options
+
+|Flag|Description|Default|
+|----|---|---|
+|`-d`, `--disable`|Disable message encryption required|false|
+|`-e`, `--enable`|Enable message encryption required|false|
+
+### `set-delayed-delivery`
+Set the delayed delivery policy on a namespace
 
 Usage
 
 ```bash
 
-$ pulsar-admin namespaces set-compaction-threshold tenant/namespace options
+$ pulsar-admin namespaces set-delayed-delivery tenant/namespace options
 
 ```
 
@@ -1101,17 +1792,19 @@ Options
 
 |Flag|Description|Default|
 |----|---|---|
-|`-t`, `--threshold`|Maximum number of bytes in a topic backlog before compaction is triggered (eg: 10M, 16G, 3T). 0 disables automatic compaction|0|
+|`-d`, `--disable`|Disable delayed delivery messages|false|
+|`-e`, `--enable`|Enable delayed delivery messages|false|
+|`-t`, `--time`|The tick time for when retrying on delayed delivery messages|1s|
 
 
-### `get-offload-threshold`
-Get offloadThreshold for a namespace
+### `get-delayed-delivery`
+Get the delayed delivery policy on a namespace
 
 Usage
 
 ```bash
 
-$ pulsar-admin namespaces get-offload-threshold tenant/namespace
+$ pulsar-admin namespaces get-delayed-delivery-time tenant/namespace
 
 ```
 
@@ -1119,35 +1812,45 @@ Options
 
 |Flag|Description|Default|
 |----|---|---|
-|`-s`, `--size`|Maximum number of bytes stored in the pulsar cluster for a topic before data will start being automatically offloaded to longterm storage (eg: 10M, 16G, 3T, 100). Negative values disable automatic offload. 0 triggers offloading as soon as possible.|-1|
+|`-t`, `--time`|The tick time for when retrying on delayed delivery messages|1s|
 
 
-
-## `ns-isolation-policy`
-Operations for managing namespace isolation policies.
+### `set-subscription-auth-mode`
+Set subscription auth mode on a namespace
 
 Usage
 
 ```bash
 
-$ pulsar-admin ns-isolation-policy subcommand
+$ pulsar-admin namespaces set-subscription-auth-mode tenant/namespace options
 
 ```
 
-Subcommands
-* `set`
-* `get`
-* `list`
-* `delete`
+Options
 
-### `set`
-Create/update a namespace isolation policy for a cluster. This operation requires Pulsar superuser privileges.
+|Flag|Description|Default|
+|----|---|---|
+|`-m`, `--subscription-auth-mode`|Subscription authorization mode for Pulsar policies. Valid options are: [None, Prefix]||
+
+### `get-max-producers-per-topic`
+Get maxProducersPerTopic for a namespace
 
 Usage
 
 ```bash
 
-$ pulsar-admin ns-isolation-policy set cluster-name policy-name options
+$ pulsar-admin namespaces get-max-producers-per-topic tenant/namespace
+
+```
+
+### `set-max-producers-per-topic`
+Set maxProducersPerTopic for a namespace
+
+Usage
+
+```bash
+
+$ pulsar-admin namespaces set-max-producers-per-topic tenant/namespace options
 
 ```
 
@@ -1155,74 +1858,83 @@ Options
 
 |Flag|Description|Default|
 |----|---|---|
-|`--auto-failover-policy-params`|Comma-separated name=value auto failover policy parameters|[]|
-|`--auto-failover-policy-type`|Auto failover policy type name. Currently available options: min_available.|[]|
-|`--namespaces`|Comma-separated namespaces regex list|[]|
-|`--primary`|Comma-separated primary broker regex list|[]|
-|`--secondary`|Comma-separated secondary broker regex list|[]|
+|`-p`, `--max-producers-per-topic`|maxProducersPerTopic for a namespace|0|
 
-
-### `get`
-Get the namespace isolation policy of a cluster. This operation requires Pulsar superuser privileges.
+### `get-max-consumers-per-topic`
+Get maxConsumersPerTopic for a namespace
 
 Usage
 
 ```bash
 
-$ pulsar-admin ns-isolation-policy get cluster-name policy-name
+$ pulsar-admin namespaces get-max-consumers-per-topic tenant/namespace
 
 ```
 
-### `list`
-List all namespace isolation policies of a cluster. This operation requires Pulsar superuser privileges.
+### `set-max-consumers-per-topic`
+Set maxConsumersPerTopic for a namespace
 
 Usage
 
 ```bash
 
-$ pulsar-admin ns-isolation-policy list cluster-name
+$ pulsar-admin namespaces set-max-consumers-per-topic tenant/namespace options
 
 ```
 
-### `delete`
-Delete namespace isolation policy of a cluster. This operation requires superuser privileges.
+Options
+
+|Flag|Description|Default|
+|----|---|---|
+|`-c`, `--max-consumers-per-topic`|maxConsumersPerTopic for a namespace|0|
+
+### `get-max-consumers-per-subscription`
+Get maxConsumersPerSubscription for a namespace
 
 Usage
 
 ```bash
 
-$ pulsar-admin ns-isolation-policy delete
+$ pulsar-admin namespaces get-max-consumers-per-subscription tenant/namespace
 
 ```
 
-## `sink`
-
-An interface for managing Pulsar IO sinks (egress data from Pulsar)
+### `set-max-consumers-per-subscription`
+Set maxConsumersPerSubscription for a namespace
 
 Usage
 
 ```bash
 
-$ pulsar-admin sink subcommand
+$ pulsar-admin namespaces set-max-consumers-per-subscription tenant/namespace options
 
 ```
 
-Subcommands
-* `create`
-* `update`
-* `delete`
-* `localrun`
-* `available-sinks`
+Options
 
+|Flag|Description|Default|
+|----|---|---|
+|`-c`, `--max-consumers-per-subscription`|maxConsumersPerSubscription for a namespace|0|
 
-### `create`
-Submit a Pulsar IO sink connector to run in a Pulsar cluster
+### `get-max-unacked-messages-per-subscription`
+Get maxUnackedMessagesPerSubscription for a namespace
 
 Usage
 
 ```bash
 
-$ pulsar-admin sink create options
+$ pulsar-admin namespaces get-max-unacked-messages-per-subscription tenant/namespace
+
+```
+
+### `set-max-unacked-messages-per-subscription`
+Set maxUnackedMessagesPerSubscription for a namespace
+
+Usage
+
+```bash
+
+$ pulsar-admin namespaces set-max-unacked-messages-per-subscription tenant/namespace options
 
 ```
 
@@ -1230,35 +1942,27 @@ Options
 
 |Flag|Description|Default|
 |----|---|---|
-|`--classname`|The sink’s Java class name||
-|`--cpu`|The CPU (in cores) that needs to be allocated per sink instance (applicable only to the Docker runtime)||
-|`--custom-serde-inputs`|The map of input topics to SerDe class names (as a JSON string)||
-|`--custom-schema-inputs`|The map of input topics to Schema types or class names (as a JSON string)||
-|`--disk`|The disk (in bytes) that needs to be allocated per sink instance (applicable only to the Docker runtime)||
-|`--inputs`|The sink’s input topic(s) (multiple topics can be specified as a comma-separated list)||
-|`--archive`|Path to the archive file for the sink||
-|`--name`|The sink’s name||
-|`--namespace`|The sink’s namespace||
-|`--parallelism`|“The sink’s parallelism factor (i.e. the number of sink instances to run).”||
-|`--processing-guarantees`|“The processing guarantees (aka delivery semantics) applied to the sink. Available values: ATLEAST_ONCE, ATMOST_ONCE, EFFECTIVELY_ONCE.”||
-|`--ram`|The RAM (in bytes) that needs to be allocated per sink instance (applicable only to the Docker runtime)||
-|`--sink-config`|Sink config key/values||
-|`--sink-config-file`|The path to a YAML config file specifying the sink’s configuration||
-|`--sink-type`|The built-in sinks's connector provider. The `sink-type` parameter of the currently built-in connectors is determined by the setting of the `name` parameter specified in the pulsar-io.yaml file.||
-|`--topics-pattern`|TopicsPattern to consume from list of topics under a namespace that match the pattern.||
-|`--tenant`|The sink’s tenant||
-|`--auto-ack`|Let the functions framework manage acking||
-|`--timeout-ms`|The message timeout in milliseconds||
+|`-c`, `--max-unacked-messages-per-subscription`|maxUnackedMessagesPerSubscription for a namespace|-1|
 
+### `get-max-unacked-messages-per-consumer`
+Get maxUnackedMessagesPerConsumer for a namespace
 
-### `update`
-Submit a Pulsar IO sink connector to run in a Pulsar cluster
+Usage
+
+```bash
+
+$ pulsar-admin namespaces get-max-unacked-messages-per-consumer tenant/namespace
+
+```
+
+### `set-max-unacked-messages-per-consumer`
+Set maxUnackedMessagesPerConsumer for a namespace
 
 Usage
 
 ```bash
 
-$ pulsar-admin sink update options
+$ pulsar-admin namespaces set-max-unacked-messages-per-consumer tenant/namespace options
 
 ```
 
@@ -1266,53 +1970,57 @@ Options
 
 |Flag|Description|Default|
 |----|---|---|
-|`--classname`|The sink’s Java class name||
-|`--cpu`|The CPU (in cores) that needs to be allocated per sink instance (applicable only to the Docker runtime)||
-|`--custom-serde-inputs`|The map of input topics to SerDe class names (as a JSON string)||
-|`--custom-schema-inputs`|The map of input topics to Schema types or class names (as a JSON string)||
-|`--disk`|The disk (in bytes) that needs to be allocated per sink instance (applicable only to the Docker runtime)||
-|`--inputs`|The sink’s input topic(s) (multiple topics can be specified as a comma-separated list)||
-|`--archive`|Path to the archive file for the sink||
-|`--name`|The sink’s name||
-|`--namespace`|The sink’s namespace||
-|`--parallelism`|“The sink’s parallelism factor (i.e. the number of sink instances to run).”||
-|`--processing-guarantees`|“The processing guarantees (aka delivery semantics) applied to the sink. Available values: ATLEAST_ONCE, ATMOST_ONCE, EFFECTIVELY_ONCE.”||
-|`--ram`|The RAM (in bytes) that needs to be allocated per sink instance (applicable only to the Docker runtime)||
-|`--sink-config`|Sink config key/values||
-|`--sink-config-file`|The path to a YAML config file specifying the sink’s configuration||
-|`--sink-type`|The built-in sinks's connector provider. The `sink-type` parameter of the currently built-in connectors is determined by the setting of the `name` parameter specified in the pulsar-io.yaml file.||
-|`--topics-pattern`|TopicsPattern to consume from list of topics under a namespace that match the pattern.||
-|`--tenant`|The sink’s tenant||
+|`-c`, `--max-unacked-messages-per-consumer`|maxUnackedMessagesPerConsumer for a namespace|-1|
 
 
-### `delete`
-Stops a Pulsar IO sink
+### `get-compaction-threshold`
+Get compactionThreshold for a namespace
 
 Usage
 
 ```bash
 
-$ pulsar-admin sink delete options
+$ pulsar-admin namespaces get-compaction-threshold tenant/namespace
+
+```
+
+### `set-compaction-threshold`
+Set compactionThreshold for a namespace
+
+Usage
+
+```bash
+
+$ pulsar-admin namespaces set-compaction-threshold tenant/namespace options
 
 ```
 
 Options
 
 |Flag|Description|Default|
-|---|---|---|
-|`--name`|The name of the function to delete||
-|`--namespace`|The namespace of the function to delete||
-|`--tenant`|The tenant of the function to delete||
+|----|---|---|
+|`-t`, `--threshold`|Maximum number of bytes in a topic backlog before compaction is triggered (eg: 10M, 16G, 3T). 0 disables automatic compaction|0|
 
 
-### `localrun`
-Run the Pulsar sink locally (rather than in the Pulsar cluster)
+### `get-offload-threshold`
+Get offloadThreshold for a namespace
+
+Usage
+
+```bash
+
+$ pulsar-admin namespaces get-offload-threshold tenant/namespace
+
+```
+
+### `set-offload-threshold`
+Set offloadThreshold for a namespace
 
 Usage
 
 ```bash
 
-$ pulsar-admin sink localrun options
+$ pulsar-admin namespaces set-offload-threshold tenant/namespace options
 
 ```
 
@@ -1320,66 +2028,66 @@ Options
 
 |Flag|Description|Default|
 |----|---|---|
-|`--broker-service-url`|The URL for the Pulsar broker||
-|`--classname`|The sink’s Java class name||
-|`--cpu`|The CPU (in cores) that needs to be allocated per sink instance (applicable only to the Docker runtime)||
-|`--custom-serde-inputs`|The map of input topics to SerDe class names (as a JSON string)||
-|`--custom-schema-inputs`|The map of input topics to Schema types or class names (as a JSON string)||
-|`--disk`|The disk (in bytes) that needs to be allocated per sink instance (applicable only to the Docker runtime)||
-|`--inputs`|The sink’s input topic(s) (multiple topics can be specified as a comma-separated list)||
-|`--archive`|Path to the archive file for the sink||
-|`--name`|The sink’s name||
-|`--namespace`|The sink’s namespace||
-|`--parallelism`|“The sink’s parallelism factor (i.e. the number of sink instances to run).”||
-|`--processing-guarantees`|“The processing guarantees (aka delivery semantics) applied to the sink. Available values: ATLEAST_ONCE, ATMOST_ONCE, EFFECTIVELY_ONCE.”||
-|`--ram`|The RAM (in bytes) that needs to be allocated per sink instance (applicable only to the Docker runtime)||
-|`--sink-config`|Sink config key/values||
-|`--sink-config-file`|The path to a YAML config file specifying the sink’s configuration||
-|`--sink-type`|The built-in sinks's connector provider. The `sink-type` parameter of the currently built-in connectors is determined by the setting of the `name` parameter specified in the pulsar-io.yaml file.||
-|`--topics-pattern`|TopicsPattern to consume from list of topics under a namespace that match the pattern.||
-|`--tenant`|The sink’s tenant||
-|`--auto-ack`|Let the functions framework manage acking||
-|`--timeout-ms`|The message timeout in milliseconds||
+|`-s`, `--size`|Maximum number of bytes stored in the pulsar cluster for a topic before data will start being automatically offloaded to longterm storage (eg: 10M, 16G, 3T, 100). Negative values disable automatic offload. 0 triggers offloading as soon as possible.|-1|
+
+### `get-offload-deletion-lag`
+Get offloadDeletionLag, in minutes, for a namespace
+
+Usage
+
+```bash
+
+$ pulsar-admin namespaces get-offload-deletion-lag tenant/namespace
 
+```
 
-### `available-sinks`
-Get a list of all built-in sink connectors
+### `set-offload-deletion-lag`
+Set offloadDeletionLag for a namespace
 
 Usage
 
 ```bash
 
-$ pulsar-admin sink available-sinks
+$ pulsar-admin namespaces set-offload-deletion-lag tenant/namespace options
 
 ```
 
-## `source`
-An interface for managing Pulsar IO sources (ingress data into Pulsar)
+Options
+
+|Flag|Description|Default|
+|----|---|---|
+|`-l`, `--lag`|Duration to wait after offloading a ledger segment, before deleting the copy of that segment from cluster local storage. (eg: 10m, 5h, 3d, 2w).|-1|
+
+### `clear-offload-deletion-lag`
+Clear offloadDeletionLag for a namespace
 
 Usage
 
 ```bash
 
-$ pulsar-admin source subcommand
+$ pulsar-admin namespaces clear-offload-deletion-lag tenant/namespace
 
 ```
 
-Subcommands
-* `create`
-* `update`
-* `delete`
-* `localrun`
-* `available-sources`
+### `get-schema-autoupdate-strategy`
+Get the schema auto-update strategy for a namespace
 
+Usage
 
-### `create`
-Submit a Pulsar IO source connector to run in a Pulsar cluster
+```bash
+
+$ pulsar-admin namespaces get-schema-autoupdate-strategy tenant/namespace
+
+```
+
+### `set-schema-autoupdate-strategy`
+Set the schema auto-update strategy for a namespace
 
 Usage
 
 ```bash
 
-$ pulsar-admin source create options
+$ pulsar-admin namespaces set-schema-autoupdate-strategy tenant/namespace options
 
 ```
 
@@ -1387,32 +2095,28 @@ Options
 
 |Flag|Description|Default|
 |----|---|---|
-|`--classname`|The source’s Java class name||
-|`--cpu`|The CPU (in cores) that needs to be allocated per source instance (applicable only to the Docker runtime)||
-|`--deserialization-classname`|The SerDe classname for the source||
-|`--destination-topic-name`|The Pulsar topic to which data is sent||
-|`--disk`|The disk (in bytes) that needs to be allocated per source instance (applicable only to the Docker runtime)||
-|`--archive`|The path to the NAR archive for the Source||
-|`--name`|The source’s name||
-|`--namespace`|The source’s namespace||
-|`--parallelism`|The source’s parallelism factor (i.e. the number of source instances to run).||
-|`--processing-guarantees`|“The processing guarantees (aka delivery semantics) applied to the source. Available values: ATLEAST_ONCE, ATMOST_ONCE, EFFECTIVELY_ONCE.”||
-|`--ram`|The RAM (in bytes) that needs to be allocated per source instance (applicable only to the Docker runtime)||
-|`--schema-type`|The schema type (either a builtin schema like 'avro', 'json', etc, or custom Schema class name to be used to encode messages emitted from the source||
-|`--source-type`|One of the built-in source's connector provider. The `source-type` parameter of the currently built-in connectors is determined by the setting of the `name` parameter specified in the pulsar-io.yaml file. ||
-|`--source-config`|Source config key/values||
-|`--source-config-file`|The path to a YAML config file specifying the source’s configuration||
-|`--tenant`|The source’s tenant||
+|`-c`, `--compatibility`|Compatibility level required for new schemas created via a Producer. Possible values (Full, Backward, Forward, None).|Full|
+|`-d`, `--disabled`|Disable automatic schema updates.|false|
 
+### `get-publish-rate`
+Get the message publish rate for each topic in a namespace, in bytes as well as messages per second 
 
-### `update`
-Update a already submitted Pulsar IO source connector
+Usage
+
+```bash
+
+$ pulsar-admin namespaces get-publish-rate tenant/namespace
+
+```
+
+### `set-publish-rate`
+Set the message publish rate for each topic in a namespace
 
 Usage
 
 ```bash
 
-$ pulsar-admin source update options
+$ pulsar-admin namespaces set-publish-rate tenant/namespace options
 
 ```
 
@@ -1420,52 +2124,108 @@ Options
 
 |Flag|Description|Default|
 |----|---|---|
-|`--classname`|The source’s Java class name||
-|`--cpu`|The CPU (in cores) that needs to be allocated per source instance (applicable only to the Docker runtime)||
-|`--deserialization-classname`|The SerDe classname for the source||
-|`--destination-topic-name`|The Pulsar topic to which data is sent||
-|`--disk`|The disk (in bytes) that needs to be allocated per source instance (applicable only to the Docker runtime)||
-|`--archive`|The path to the NAR archive for the Source||
-|`--name`|The source’s name||
-|`--namespace`|The source’s namespace||
-|`--parallelism`|The source’s parallelism factor (i.e. the number of source instances to run).||
-|`--processing-guarantees`|“The processing guarantees (aka delivery semantics) applied to the source. Available values: ATLEAST_ONCE, ATMOST_ONCE, EFFECTIVELY_ONCE.”||
-|`--ram`|The RAM (in bytes) that needs to be allocated per source instance (applicable only to the Docker runtime)||
-|`--schema-type`|The schema type (either a builtin schema like 'avro', 'json', etc, or custom Schema class name to be used to encode messages emitted from the source||
-|`--source-type`|One of the built-in source's connector provider. The `source-type` parameter of the currently built-in connectors is determined by the setting of the `name` parameter specified in the pulsar-io.yaml file.||
-|`--source-config`|Source config key/values||
-|`--source-config-file`|The path to a YAML config file specifying the source’s configuration||
-|`--tenant`|The source’s tenant||
-
+|`-m`, `--msg-publish-rate`|Threshold for number of messages per second per topic in the namespace (-1 implies not set, 0 for no limit).|-1|
+|`-b`, `--byte-publish-rate`|Threshold for number of bytes per second per topic in the namespace (-1 implies not set, 0 for no limit).|-1|
 
-### `delete`
-Stops a Pulsar IO source
+### `set-offload-policies`
+Set the offload policy for a namespace.
 
 Usage
 
 ```bash
 
-$ pulsar-admin source delete options
+$ pulsar-admin namespaces set-offload-policies tenant/namespace options
 
 ```
 
 Options
 
 |Flag|Description|Default|
-|---|---|---|
-|`--name`|The name of the function to delete||
-|`--namespace`|The namespace of the function to delete||
-|`--tenant`|The tenant of the function to delete||
+|----|---|---|
+|`-d`, `--driver`|Driver to use to offload old data to long term storage,(Possible values: S3, aws-s3, google-cloud-storage)||
+|`-r`, `--region`|The long term storage region||
+|`-b`, `--bucket`|Bucket to place offloaded ledger into||
+|`-e`, `--endpoint`|Alternative endpoint to connect to||
+|`-i`, `--aws-id`|AWS Credential Id to use when using driver S3 or aws-s3||
+|`-s`, `--aws-secret`|AWS Credential Secret to use when using driver S3 or aws-s3||
+|`-ro`, `--s3-role`|S3 Role used for STSAssumeRoleSessionCredentialsProvider using driver S3 or aws-s3||
+|`-rsn`, `--s3-role-session-name`|S3 role session name used for STSAssumeRoleSessionCredentialsProvider using driver S3 or aws-s3||
+|`-mbs`, `--maxBlockSize`|Max block size|64MB|
+|`-rbs`, `--readBufferSize`|Read buffer size|1MB|
+|`-oat`, `--offloadAfterThreshold`|Offload after threshold size (eg: 1M, 5M)||
+|`-oae`, `--offloadAfterElapsed`|Offload after elapsed in millis (or minutes, hours,days,weeks eg: 100m, 3h, 2d, 5w).||
 
+### `get-offload-policies`
+Get the offload policy for a namespace.
 
-### `localrun`
-Run the Pulsar source locally (rather than in the Pulsar cluster)
+Usage
+
+```bash
+
+$ pulsar-admin namespaces get-offload-policies tenant/namespace
+
+```
+
+### `set-max-subscriptions-per-topic`
+Set the maximum subscription per topic for a namespace.
+
+Usage
+
+```bash
+
+$ pulsar-admin namespaces set-max-subscriptions-per-topic tenant/namespace
+
+```
+
+### `get-max-subscriptions-per-topic`
+Get the maximum subscription per topic for a namespace.
+
+Usage
+
+```bash
+
+$ pulsar-admin namespaces get-max-subscriptions-per-topic tenant/namespace
+
+```
+
+### `remove-max-subscriptions-per-topic`
+Remove the maximum subscription per topic for a namespace.
+
+Usage
+
+```bash
+
+$ pulsar-admin namespaces remove-max-subscriptions-per-topic tenant/namespace
+
+```
+
+## `ns-isolation-policy`
+Operations for managing namespace isolation policies.
+
+Usage
+
+```bash
+
+$ pulsar-admin ns-isolation-policy subcommand
+
+```
+
+Subcommands
+* `set`
+* `get`
+* `list`
+* `delete`
+* `brokers`
+* `broker`
+
+### `set`
+Create/update a namespace isolation policy for a cluster. This operation requires Pulsar superuser privileges.
 
 Usage
 
 ```bash
 
-$ pulsar-admin source localrun options
+$ pulsar-admin ns-isolation-policy set cluster-name policy-name options
 
 ```
 
@@ -1473,37 +2233,76 @@ Options
 
 |Flag|Description|Default|
 |----|---|---|
-|`--classname`|The source’s Java class name||
-|`--cpu`|The CPU (in cores) that needs to be allocated per source instance (applicable only to the Docker runtime)||
-|`--deserialization-classname`|The SerDe classname for the source||
-|`--destination-topic-name`|The Pulsar topic to which data is sent||
-|`--disk`|The disk (in bytes) that needs to be allocated per source instance (applicable only to the Docker runtime)||
-|`--archive`|The path to the NAR archive for the Source||
-|`--name`|The source’s name||
-|`--namespace`|The source’s namespace||
-|`--parallelism`|The source’s parallelism factor (i.e. the number of source instances to run).||
-|`--processing-guarantees`|“The processing guarantees (aka delivery semantics) applied to the source. Available values: ATLEAST_ONCE, ATMOST_ONCE, EFFECTIVELY_ONCE.”||
-|`--ram`|The RAM (in bytes) that needs to be allocated per source instance (applicable only to the Docker runtime)||
-|`--schema-type`|The schema type (either a builtin schema like 'avro', 'json', etc, or custom Schema class name to be used to encode messages emitted from the source||
-|`--source-type`|One of the built-in source's connector provider. The `source-type` parameter of the currently built-in connectors is determined by the setting of the `name` parameter specified in the pulsar-io.yaml file.||
-|`--source-config`|Source config key/values||
-|`--source-config-file`|The path to a YAML config file specifying the source’s configuration||
-|`--tenant`|The source’s tenant||
+|`--auto-failover-policy-params`|Comma-separated name=value auto failover policy parameters|[]|
+|`--auto-failover-policy-type`|Auto failover policy type name. Currently available options: min_available.|[]|
+|`--namespaces`|Comma-separated namespaces regex list|[]|
+|`--primary`|Comma-separated primary broker regex list|[]|
+|`--secondary`|Comma-separated secondary broker regex list|[]|
+
+
+### `get`
+Get the namespace isolation policy of a cluster. This operation requires Pulsar superuser privileges.
+
+Usage
+
+```bash
+
+$ pulsar-admin ns-isolation-policy get cluster-name policy-name
+
+```
+
+### `list`
+List all namespace isolation policies of a cluster. This operation requires Pulsar superuser privileges.
+
+Usage
+
+```bash
+
+$ pulsar-admin ns-isolation-policy list cluster-name
+
+```
+
+### `delete`
+Delete namespace isolation policy of a cluster. This operation requires superuser privileges.
+
+Usage
+
+```bash
+
+$ pulsar-admin ns-isolation-policy delete
 
+```
 
-### `available-sources`
-Get a list of all built-in source connectors
+### `brokers`
+List all brokers with namespace-isolation policies attached to it. This operation requires Pulsar super-user privileges.
 
 Usage
 
 ```bash
 
-$ pulsar-admin source available-sources
+$ pulsar-admin ns-isolation-policy brokers cluster-name
 
 ```
 
+### `broker`
+Get broker with namespace-isolation policies attached to it. This operation requires Pulsar super-user privileges.
+
+Usage
+
+```bash
+
+$ pulsar-admin ns-isolation-policy broker cluster-name options
+
+```
+
+Options
+
+|Flag|Description|Default|
+|----|---|---|
+|`--broker`|Broker name to get namespace-isolation policies attached to it||
+
 ## `topics`
-Operations for managing Pulsar topics (both persistent and non persistent)
+Operations for managing Pulsar topics (both persistent and non-persistent). 
 
 Usage
 
@@ -1513,17 +2312,28 @@ $ pulsar-admin topics subcommand
 
 ```
 
+From Pulsar 2.7.0, some namespace-level policies are available on topic level. To enable topic-level policy in Pulsar, you need to configure the following parameters in the `broker.conf` file. 
+
+```shell
+
+systemTopicEnabled=true
+topicLevelPoliciesEnabled=true
+
+```
+
 Subcommands
 * `compact`
 * `compaction-status`
 * `offload`
 * `offload-status`
 * `create-partitioned-topic`
+* `create-missed-partitions`
 * `delete-partitioned-topic`
+* `create`
 * `get-partitioned-topic-metadata`
 * `update-partitioned-topic`
+* `list-partitioned-topics`
 * `list`
-* `list-in-bundle`
 * `terminate`
 * `permissions`
 * `grant-permission`
@@ -1532,19 +2342,67 @@ Subcommands
 * `bundle-range`
 * `delete`
 * `unload`
+* `create-subscription`
 * `subscriptions`
 * `unsubscribe`
 * `stats`
 * `stats-internal`
 * `info-internal`
 * `partitioned-stats`
+* `partitioned-stats-internal`
 * `skip`
-* `skip-all`
+* `clear-backlog`
 * `expire-messages`
 * `expire-messages-all-subscriptions`
 * `peek-messages`
 * `reset-cursor`
-
+* `get-message-by-id`
+* `last-message-id`
+* `get-backlog-quotas`
+* `set-backlog-quota`
+* `remove-backlog-quota`
+* `get-persistence`
+* `set-persistence`
+* `remove-persistence`
+* `get-message-ttl`
+* `set-message-ttl`
+* `remove-message-ttl`
+* `get-deduplication`
+* `set-deduplication`
+* `remove-deduplication`
+* `get-retention`
+* `set-retention`
+* `remove-retention`
+* `get-dispatch-rate`
+* `set-dispatch-rate`
+* `remove-dispatch-rate`
+* `get-max-unacked-messages-per-subscription`
+* `set-max-unacked-messages-per-subscription`
+* `remove-max-unacked-messages-per-subscription`
+* `get-max-unacked-messages-per-consumer`
+* `set-max-unacked-messages-per-consumer`
+* `remove-max-unacked-messages-per-consumer`
+* `get-delayed-delivery`
+* `set-delayed-delivery`
+* `remove-delayed-delivery`
+* `get-max-producers`
+* `set-max-producers`
+* `remove-max-producers`
+* `get-max-consumers`
+* `set-max-consumers`
+* `remove-max-consumers`
+* `get-compaction-threshold`
+* `set-compaction-threshold`
+* `remove-compaction-threshold`
+* `get-offload-policies`
+* `set-offload-policies`
+* `remove-offload-policies`
+* `get-inactive-topic-policies`
+* `set-inactive-topic-policies`
+* `remove-inactive-topic-policies`
+* `set-max-subscriptions`
+* `get-max-subscriptions`
+* `remove-max-subscriptions`
 
 ### `compact`
 Run compaction on the specified topic (persistent topics only)
@@ -1614,6 +2472,15 @@ Options
 ### `create-partitioned-topic`
 Create a partitioned topic. A partitioned topic must be created before producers can publish to it.
 
+:::note
+
+By default, after 60 seconds of creation, topics are considered inactive and deleted automatically to prevent from generating trash data.
+To disable this feature, set `brokerDeleteInactiveTopicsEnabled` to `false`.
+To change the frequency of checking inactive topics, set `brokerDeleteInactiveTopicsFrequencySeconds` to your desired value.
+For more information about these two parameters, see [here](reference-configuration.md#broker).
+
+:::
+
 Usage
 
 ```bash
@@ -1628,6 +2495,17 @@ Options
 |---|---|---|
 |`-p`, `--partitions`|The number of partitions for the topic|0|
 
+### `create-missed-partitions`
+Try to create partitions for partitioned topic. The partitions of partition topic has to be created, 
+can be used by repair partitions when topic auto creation is disabled
+
+Usage
+
+```bash
+
+$ pulsar-admin topics create-missed-partitions persistent://tenant/namespace/topic
+
+```
 
 ### `delete-partitioned-topic`
 Delete a partitioned topic. This will also delete all the partitions of the topic if they exist.
@@ -1640,6 +2518,26 @@ $ pulsar-admin topics delete-partitioned-topic {persistent|non-persistent}
 
 ```
 
+### `create`
+Creates a non-partitioned topic. A non-partitioned topic must explicitly be created by the user if allowAutoTopicCreation or createIfMissing is disabled.
+
+:::note
+
+By default, after 60 seconds of creation, topics are considered inactive and deleted automatically to prevent from generating trash data.
+To disable this feature, set `brokerDeleteInactiveTopicsEnabled`  to `false`.
+To change the frequency of checking inactive topics, set `brokerDeleteInactiveTopicsFrequencySeconds` to your desired value.
+For more information about these two parameters, see [here](reference-configuration.md#broker).
+
+:::
+
+Usage
+
+```bash
+
+$ pulsar-admin topics create {persistent|non-persistent}://tenant/namespace/topic
+
+```
+
 ### `get-partitioned-topic-metadata`
 Get the partitioned topic metadata. If the topic is not created or is a non-partitioned topic, this will return an empty topic with zero partitions.
 
@@ -1668,43 +2566,47 @@ Options
 |---|---|---|
 |`-p`, `--partitions`|The number of partitions for the topic|0|
 
-### `list`
-Get the list of topics under a namespace
+### `list-partitioned-topics`
+Get the list of partitioned topics under a namespace.
 
 Usage
 
-```
+```bash
 
-$ pulsar-admin topics list tenant/cluster/namespace
+$ pulsar-admin topics list-partitioned-topics tenant/namespace
 
 ```
 
-### `list-in-bundle`
-Get a list of non-persistent topics present under a namespace bundle
+### `list`
+Get the list of topics under a namespace
 
 Usage
 
 ```
 
-$ pulsar-admin topics list-in-bundle tenant/namespace options
+$ pulsar-admin topics list tenant/cluster/namespace
 
 ```
 
-Options
+### `terminate`
+Terminate a persistent topic (disallow further messages from being published on the topic)
 
-|Flag|Description|Default|
-|---|---|---|
-|`-b`, `--bundle`|The bundle range||
+Usage
+
+```bash
 
+$ pulsar-admin topics terminate persistent://tenant/namespace/topic
 
-### `terminate`
+```
+
+### `partitioned-terminate`
 Terminate a persistent topic (disallow further messages from being published on the topic)
 
 Usage
 
 ```bash
 
-$ pulsar-admin topics terminate persistent://tenant/namespace/topic
+$ pulsar-admin topics partitioned-terminate persistent://tenant/namespace/topic
 
 ```
 
@@ -1793,6 +2695,24 @@ $ pulsar-admin topics unload topic
 
 ```
 
+### `create-subscription`
+Create a new subscription on a topic.
+
+Usage
+
+```bash
+
+$ pulsar-admin topics create-subscription [options] persistent://tenant/namespace/topic
+
+```
+
+Options
+
+|Flag|Description|Default|
+|---|---|---|
+|`-m`, `--messageId`|messageId where to create the subscription. It can be either 'latest', 'earliest' or (ledgerId:entryId)|latest|
+|`-s`, `--subscription`|Subscription to reset position on||
+
 ### `subscriptions`
 Get the list of subscriptions on the topic
 
@@ -1820,6 +2740,7 @@ Options
 |Flag|Description|Default|
 |---|---|---|
 |`-s`, `--subscription`|The subscription to delete||
+|`-f`, `--force`|Disconnect and close all consumers and delete subscription forcefully|false|
 
 
 ### `stats`
@@ -1833,6 +2754,12 @@ $ pulsar-admin topics stats topic
 
 ```
 
+:::note
+
+The unit of `storageSize` and `averageMsgSize` is Byte.
+
+:::
+
 ### `stats-internal`
 Get the internal stats for the topic
 
@@ -1872,6 +2799,16 @@ Options
 |---|---|---|
 |`--per-partition`|Get per-partition stats|false|
 
+### `partitioned-stats-internal`
+Get the internal stats for the partitioned topic and its connected producers and consumers. All the rates are computed over a 1 minute window and are relative the last completed 1 minute period.
+
+Usage
+
+```bash
+
+$ pulsar-admin topics partitioned-stats-internal topic
+
+```
 
 ### `skip`
 Skip some messages for the subscription
@@ -1892,14 +2829,14 @@ Options
 |`-s`, `--subscription`|The subscription on which to skip messages||
 
 
-### `skip-all`
-Skip all the messages for the subscription
+### `clear-backlog`
+Clear backlog (skip all the messages) for the subscription
 
 Usage
 
 ```bash
 
-$ pulsar-admin topics skip-all topic options
+$ pulsar-admin topics clear-backlog topic options
 
 ```
 
@@ -1967,7 +2904,7 @@ Options
 
 
 ### `reset-cursor`
-Reset position for subscription to closest to timestamp
+Reset position for subscription to a position that is closest to timestamp or messageId.
 
 Usage
 
@@ -1982,9 +2919,220 @@ Options
 |Flag|Description|Default|
 |---|---|---|
 |`-s`, `--subscription`|Subscription to reset position on||
-|`-t`, `--time`|The time, in minutes, to reset back to (or minutes, hours, days, weeks, etc.). Examples: `100m`, `3h`, `2d`, `5w`.||
+|`-t`, `--time`|The time in minutes to reset back to (or minutes, hours, days, weeks, etc.). Examples: `100m`, `3h`, `2d`, `5w`.||
+|`-m`, `--messageId`| The message ID to reset back to (`ledgerId:entryId` or earliest or latest). ||
+
+### `get-message-by-id`
+Get message by ledger id and entry id
+
+Usage
+
+```bash
+
+$ pulsar-admin topics get-message-by-id topic options
+
+```
+
+Options
+
+|Flag|Description|Default|
+|---|---|---|
+|`-l`, `--ledgerId`|The ledger id |0|
+|`-e`, `--entryId`|The entry id |0|
+
+### `last-message-id`
+Get the last commit message ID of the topic.
+
+Usage
+
+```bash
+
+$ pulsar-admin topics last-message-id persistent://tenant/namespace/topic
+
+```
+
+### `get-backlog-quotas`
+Get the backlog quota policies for a topic.
+
+Usage
+
+```bash
+
+$ pulsar-admin topics get-backlog-quotas tenant/namespace/topic
+
+```
+
+### `set-backlog-quota`
+Set a backlog quota policy for a topic.
+
+|Flag|Description|Default|
+|----|---|---|
+|`-l`, `--limit`|The backlog size limit (for example `10M` or `16G`)||
+|`-lt`, `--limitTime`|Time limit in second, non-positive number for disabling time limit. (for example 3600 for 1 hour)||
+|`-p`, `--policy`|The retention policy to enforce when the limit is reached. The valid options are: `producer_request_hold`, `producer_exception` or `consumer_backlog_eviction`|
+|`-t`, `--type`|Backlog quota type to set. The valid options are: `destination_storage`, `message_age` |destination_storage|
+
+Usage
+
+```bash
+
+$ pulsar-admin topics set-backlog-quota tenant/namespace/topic options
+
+```
+
+Example
+
+```bash
+
+$ pulsar-admin namespaces set-backlog-quota my-tenant/my-ns/my-topic \
+--limit 2G \
+--policy producer_request_hold
+
+```
+
+```bash
+
+$ pulsar-admin namespaces set-backlog-quota my-tenant/my-ns/my-topic \
+--limitTime 3600 \
+--policy producer_request_hold \
+--type message_age
+
+```
+
+### `remove-backlog-quota`
+Remove a backlog quota policy from a topic.
+
+|Flag|Description|Default|
+|---|---|---|
+|`-t`, `--type`|Backlog quota type to remove. The valid options are: `destination_storage`, `message_age` |destination_storage|
+
+Usage
+
+```bash
+
+$ pulsar-admin topics remove-backlog-quota tenant/namespace/topic
+
+```
+
+### `get-persistence`
+Get the persistence policies for a topic.
+
+Usage
+
+```bash
+
+$ pulsar-admin topics get-persistence tenant/namespace/topic
+
+```
+
+### `set-persistence`
+Set the persistence policies for a topic.
+
+Usage
+
+```bash
+
+$ pulsar-admin topics set-persistence tenant/namespace/topic options
+
+```
+
+Options
+
+|Flag|Description|Default|
+|----|---|---|
+|`-e`, `--bookkeeper-ensemble`|Number of bookies to use for a topic|0|
+|`-w`, `--bookkeeper-write-quorum`|How many writes to make of each entry|0|
+|`-a`, `--bookkeeper-ack-quorum`|Number of acks (guaranteed copies) to wait for each entry|0|
+|`-r`, `--ml-mark-delete-max-rate`|Throttling rate of mark-delete operation (0 means no throttle)||
+
+### `remove-persistence`
+Remove the persistence policy for a topic.
+
+Usage
+
+```bash
+
+$ pulsar-admin topics remove-persistence tenant/namespace/topic
+
+```
+
+### `get-message-ttl`
+Get the message TTL for a topic.
+
+Usage
+
+```bash
+
+$ pulsar-admin topics get-message-ttl tenant/namespace/topic
+
+```
+
+### `set-message-ttl`
+Set the message TTL for a topic.
+
+Usage
+
+```bash
+
+$ pulsar-admin topics set-message-ttl tenant/namespace/topic options
+
+```
+
+Options
+
+|Flag|Description|Default|
+|----|---|---|
+|`-ttl`, `--messageTTL`|Message TTL for a topic in second, allowed range from 1 to `Integer.MAX_VALUE` |0|
+
+### `remove-message-ttl`
+Remove the message TTL for a topic.
+
+Usage
+
+```bash
+
+$ pulsar-admin topics remove-message-ttl tenant/namespace/topic
+
+```
+
+Options 
+|Flag|Description|Default|
+|---|---|---|
+|`--enable`, `-e`|Enable message deduplication on the specified topic.|false|
+|`--disable`, `-d`|Disable message deduplication on the specified topic.|false|
+
+### `get-deduplication`
+Get a deduplication policy for a topic.
+
+Usage
+
+```bash
+
+$ pulsar-admin topics get-deduplication tenant/namespace/topic
+
+```
 
+### `set-deduplication`
+Set a deduplication policy for a topic.
+
+Usage
+
+```bash
+
+$ pulsar-admin topics set-deduplication tenant/namespace/topic options
+
+```
 
+### `remove-deduplication`
+Remove a deduplication policy for a topic.
+
+Usage
+
+```bash
+
+$ pulsar-admin topics remove-deduplication tenant/namespace/topic
+
+```
 
 ## `tenants`
 Operations for managing tenants
@@ -2074,6 +3222,13 @@ $ pulsar-admin tenants delete tenant-name
 
 ```
 
+Options
+
+|Flag|Description|Default|
+|----|---|---|
+|`-f`, `--force`|Delete a tenant forcefully by deleting all namespaces under it.|false|
+
+
 ## `resource-quotas`
 Operations for managing resource quotas
 
@@ -2170,6 +3325,7 @@ Subcommands
 * `upload`
 * `delete`
 * `get`
+* `extract`
 
 
 ### `upload`
@@ -2218,4 +3374,21 @@ Options
 |----|---|---|
 |`--version`|The version of the schema definition to retrieve for a topic.||
 
+### `extract`
+Provide the schema definition for a topic via Java class name contained in a JAR file
+
+Usage
+
+```bash
+
+$ pulsar-admin schemas extract persistent://tenant/namespace/topic options
+
+```
 
+Options
+
+|Flag|Description|Default|
+|----|---|---|
+|`-c`, `--classname`|The Java class name||
+|`-j`, `--jar`|A path to the JAR file which contains the above Java class||
+|`-t`, `--type`|The type of the schema (avro or json)||
diff --git a/site2/website-next/versioned_docs/version-2.2.0/pulsar-admin.md b/site2/website-next/versioned_docs/version-2.2.0/reference-pulsar-admin.md
similarity index 99%
copy from site2/website-next/versioned_docs/version-2.2.0/pulsar-admin.md
copy to site2/website-next/versioned_docs/version-2.2.0/reference-pulsar-admin.md
index 7307ef6f6a..34fdae0e82 100644
--- a/site2/website-next/versioned_docs/version-2.2.0/pulsar-admin.md
+++ b/site2/website-next/versioned_docs/version-2.2.0/reference-pulsar-admin.md
@@ -1,8 +1,8 @@
 ---
-id: pulsar-admin
+id: reference-pulsar-admin
 title: Pulsar admin CLI
 sidebar_label: "Pulsar Admin CLI"
-original_id: pulsar-admin
+original_id: reference-pulsar-admin
 ---
 
 The `pulsar-admin` tool enables you to manage Pulsar installations, including clusters, brokers, namespaces, tenants, and more.
diff --git a/site2/website-next/versioned_docs/version-2.2.1/concepts-messaging.md b/site2/website-next/versioned_docs/version-2.2.1/concepts-messaging.md
index 1e088ef37e..22da8a3223 100644
--- a/site2/website-next/versioned_docs/version-2.2.1/concepts-messaging.md
+++ b/site2/website-next/versioned_docs/version-2.2.1/concepts-messaging.md
@@ -652,7 +652,7 @@ Subscription mode | Description | Note
 `Durable`|The cursor is durable, which retains messages and persists the current position. <br />If a broker restarts from a failure, it can recover the cursor from the persistent storage (BookKeeper), so that messages can continue to be consumed from the last consumed position.|`Durable` is the **default** subscription mode.
 `NonDurable`|The cursor is non-durable. <br />Once a broker stops, the cursor is lost and can never be recovered, so that messages **can not** continue to be consumed from the last consumed position.|Reader’s subscription mode is `NonDurable` in nature and it does not prevent data in a topic from being deleted. Reader’s subscription mode **can not** be changed. 
 
-A [subscription](#concepts-messaging.md/#subscriptions) can have one or more consumers. When a consumer subscribes to a topic, it must specify the subscription name. A durable subscription and a non-durable subscription can have the same name, they are independent of each other. If a consumer specifies a subscription which does not exist before, the subscription is automatically created.
+A [subscription](#subscriptions) can have one or more consumers. When a consumer subscribes to a topic, it must specify the subscription name. A durable subscription and a non-durable subscription can have the same name, they are independent of each other. If a consumer specifies a subscription which does not exist before, the subscription is automatically created.
 
 #### When to use
 
diff --git a/site2/website-next/versioned_docs/version-2.2.1/cookbooks-tiered-storage.md b/site2/website-next/versioned_docs/version-2.2.1/cookbooks-tiered-storage.md
index f2ea50d636..ea714d8131 100644
--- a/site2/website-next/versioned_docs/version-2.2.1/cookbooks-tiered-storage.md
+++ b/site2/website-next/versioned_docs/version-2.2.1/cookbooks-tiered-storage.md
@@ -111,7 +111,7 @@ export AWS_SECRET_ACCESS_KEY=ded7db27a4558e2ea8bbf0bf37ae0e8521618f366c
 
 ```bash
 
-PULSAR_EXTRA_OPTS="${PULSAR_EXTRA_OPTS} ${PULSAR_MEM} ${PULSAR_GC} -Daws.accessKeyId=ABC123456789 -Daws.secretKey=ded7db27a4558e2ea8bbf0bf37ae0e8521618f366c -Dio.netty.leakDetectionLevel=disabled -Dio.netty.recycler.maxCapacity.default=1000 -Dio.netty.recycler.linkCapacity=1024"
+PULSAR_EXTRA_OPTS="${PULSAR_EXTRA_OPTS} ${PULSAR_MEM} ${PULSAR_GC} -Daws.accessKeyId=ABC123456789 -Daws.secretKey=ded7db27a4558e2ea8bbf0bf37ae0e8521618f366c -Dio.netty.leakDetectionLevel=disabled -Dio.netty.recycler.maxCapacityPerThread=4096"
 
 ```
 
diff --git a/site2/website-next/versioned_docs/version-2.2.1/pulsar-admin.md b/site2/website-next/versioned_docs/version-2.2.1/pulsar-admin.md
index 57c19f3701..ff0c575b31 100644
--- a/site2/website-next/versioned_docs/version-2.2.1/pulsar-admin.md
+++ b/site2/website-next/versioned_docs/version-2.2.1/pulsar-admin.md
@@ -5,6 +5,10 @@ sidebar_label: "Pulsar Admin CLI"
 original_id: pulsar-admin
 ---
 
+> **Important**
+>
+> This page is deprecated and not updated anymore. For the latest and complete information about `Pulsar admin`, including commands, flags, descriptions, and more, see [Pulsar admin doc](https://pulsar.apache.org/tools/pulsar-admin/)
+
 The `pulsar-admin` tool enables you to manage Pulsar installations, including clusters, brokers, namespaces, tenants, and more.
 
 Usage
@@ -20,10 +24,15 @@ Commands
 * `brokers`
 * `clusters`
 * `functions`
+* `functions-worker`
 * `namespaces`
 * `ns-isolation-policy`
-* `sink`
-* `source`
+* `sources`
+
+  For more information, see [here](io-cli.md#sources)
+* `sinks`
+  
+  For more information, see [here](io-cli.md#sinks)
 * `topics`
 * `tenants`
 * `resource-quotas`
@@ -41,10 +50,10 @@ $ pulsar-admin broker-stats subcommand
 
 Subcommands
 * `allocator-stats`
-* `destinations`
+* `topics(destinations)`
 * `mbeans`
 * `monitoring-metrics`
-* `topics`
+* `load-report`
 
 
 ### `allocator-stats`
@@ -59,7 +68,7 @@ $ pulsar-admin broker-stats allocator-stats allocator-name
 
 ```
 
-### `destinations`
+### `topics(destinations)`
 
 Dump topic stats
 
@@ -67,7 +76,7 @@ Usage
 
 ```bash
 
-$ pulsar-admin broker-stats destinations options
+$ pulsar-admin broker-stats topics options
 
 ```
 
@@ -115,25 +124,18 @@ Options
 |`-i`, `--indent`|Indent JSON output|false|
 
 
-### `topics`
+### `load-report`
 
-Dump topic stats
+Dump broker load-report
 
 Usage
 
 ```bash
 
-$ pulsar-admin broker-stats topics options
+$ pulsar-admin broker-stats load-report
 
 ```
 
-Options
-
-|Flag|Description|Default|
-|---|---|---|
-|`-i`, `--indent`|Indent JSON output|false|
-
-
 ## `brokers`
 
 Operations about brokers
@@ -151,6 +153,8 @@ Subcommands
 * `list-dynamic-config`
 * `get-all-dynamic-config`
 * `get-internal-config`
+* `get-runtime-config`
+* `healthcheck`
 
 ### `list`
 List active brokers of the cluster
@@ -163,6 +167,17 @@ $ pulsar-admin brokers list cluster-name
 
 ```
 
+### `leader-broker`
+Get the information of the leader broker
+
+Usage
+
+```bash
+
+$ pulsar-admin brokers leader-broker
+
+```
+
 ### `namespaces`
 List namespaces owned by the broker
 
@@ -211,6 +226,24 @@ $ pulsar-admin brokers list-dynamic-config
 
 ```
 
+### `delete-dynamic-config`
+Delete dynamic-serviceConfiguration of broker
+
+Usage
+
+```bash
+
+$ pulsar-admin brokers delete-dynamic-config options
+
+```
+
+Options
+
+|Flag|Description|Default|
+|---|---|---|
+|`--config`|Service configuration parameter name||
+
+
 ### `get-all-dynamic-config`
 Get all overridden dynamic-configuration values
 
@@ -233,6 +266,28 @@ $ pulsar-admin brokers get-internal-config
 
 ```
 
+### `get-runtime-config`
+Get runtime configuration values
+
+Usage
+
+```bash
+
+$ pulsar-admin brokers get-runtime-config
+
+```
+
+### `healthcheck`
+Run a health check against the broker
+
+Usage
+
+```bash
+
+$ pulsar-admin brokers healthcheck
+
+```
+
 ## `clusters`
 Operations about clusters
 
@@ -251,6 +306,12 @@ Subcommands
 * `delete`
 * `list`
 * `update-peer-clusters`
+* `get-peer-clusters`
+* `get-failure-domain`
+* `create-failure-domain`
+* `update-failure-domain`
+* `delete-failure-domain`
+* `list-failure-domains`
 
 
 ### `get`
@@ -335,7 +396,105 @@ Usage
 
 ```bash
 
-$ pulsar-admin clusters update-peer-clusters peer-cluster-names
+$ pulsar-admin clusters update-peer-clusters cluster-name options
+
+```
+
+Options
+
+|Flag|Description|Default|
+|---|---|---|
+|`--peer-clusters`|Comma separated peer cluster names (Pass empty string "" to delete list)||
+
+### `get-peer-clusters`
+Get list of peer clusters
+
+Usage
+
+```bash
+
+$ pulsar-admin clusters get-peer-clusters
+
+```
+
+### `get-failure-domain`
+Get the configuration brokers of a failure domain
+
+Usage
+
+```bash
+
+$ pulsar-admin clusters get-failure-domain cluster-name options
+
+```
+
+Options
+
+|Flag|Description|Default|
+|---|---|---|
+|`--domain-name`|The failure domain name, which is a logical domain under a Pulsar cluster||
+
+### `create-failure-domain`
+Create a new failure domain for a cluster (updates it if already created)
+
+Usage
+
+```bash
+
+$ pulsar-admin clusters create-failure-domain cluster-name options
+
+```
+
+Options
+
+|Flag|Description|Default|
+|---|---|---|
+|`--broker-list`|Comma separated broker list||
+|`--domain-name`|The failure domain name, which is a logical domain under a Pulsar cluster||
+
+### `update-failure-domain`
+Update failure domain for a cluster (creates a new one if not exist)
+
+Usage
+
+```bash
+
+$ pulsar-admin clusters update-failure-domain cluster-name options
+
+```
+
+Options
+
+|Flag|Description|Default|
+|---|---|---|
+|`--broker-list`|Comma separated broker list||
+|`--domain-name`|The failure domain name, which is a logical domain under a Pulsar cluster||
+
+### `delete-failure-domain`
+Delete an existing failure domain
+
+Usage
+
+```bash
+
+$ pulsar-admin clusters delete-failure-domain cluster-name options
+
+```
+
+Options
+
+|Flag|Description|Default|
+|---|---|---|
+|`--domain-name`|The failure domain name, which is a logical domain under a Pulsar cluster||
+
+### `list-failure-domains`
+List the existing failure domains for a cluster
+
+Usage
+
+```bash
+
+$ pulsar-admin clusters list-failure-domains cluster-name
 
 ```
 
@@ -357,14 +516,19 @@ Subcommands
 * `delete`
 * `update`
 * `get`
-* `getstatus`
+* `restart`
+* `stop`
+* `start`
+* `status`
+* `stats`
 * `list`
 * `querystate`
+* `putstate`
 * `trigger`
 
 
 ### `localrun`
-Run a Pulsar Function locally
+Run the Pulsar Function locally (rather than deploying it to the Pulsar cluster)
 
 
 Usage
@@ -379,42 +543,54 @@ Options
 
 |Flag|Description|Default|
 |---|---|---|
-|`--cpu`|The CPU to allocate to each function instance (in number of cores)||
-|`--ram`|The RAM to allocate to each function instance (in bytes)||
-|`--disk`|The disk space to allocate to each function instance (in bytes)||
-|`--auto-ack`|Let the functions framework manage acking||
+|`--cpu`|The cpu in cores that need to be allocated per function instance(applicable only to docker runtime)||
+|`--ram`|The ram in bytes that need to be allocated per function instance(applicable only to process/docker runtime)||
+|`--disk`|The disk in bytes that need to be allocated per function instance(applicable only to docker runtime)||
+|`--auto-ack`|Whether or not the framework will automatically acknowledge messages||
 |`--subs-name`|Pulsar source subscription name if user wants a specific subscription-name for input-topic consumer||
 |`--broker-service-url `|The URL of the Pulsar broker||
-|`--classname`|The name of the function’s class||
-|`--custom-serde-inputs`|A map of the input topic to SerDe name||
-|`--custom-schema-inputs`|A map of the input topic to Schema class name||
-|`--client-auth-params`|Client Authentication Params||
-|`--function-config-file`|The path of the YAML config file used to configure the function||
-|`--hostname-verification-enabled`|Enable Hostname verification||
-|`--instance-id-offset`|Instance ids will be assigned starting from this offset||
-|`--inputs`|The input topics for the function (as a comma-separated list if more than one topic is desired)||
-|`--log-topic`|The topic to which logs from this function are published||
-|`--jar`|A path to the JAR file for the function (if the function is written in Java)||
-|`--name`|The name of the function||
-|`--namespace`|The function’s namespace||
-|`--output`|The name of the topic to which the function publishes its output (if any)||
-|`--output-serde-classname`|The SerDe class used for the function’s output||
+|`--classname`|The function's class name||
+|`--custom-serde-inputs`|The map of input topics to SerDe class names (as a JSON string)||
+|`--custom-schema-inputs`|The map of input topics to Schema class names (as a JSON string)||
+|`--client-auth-params`|Client authentication param||
+|`--client-auth-plugin`|Client authentication plugin using which function-process can connect to broker||
+|`--function-config-file`|The path to a YAML config file specifying the function's configuration||
+|`--hostname-verification-enabled`|Enable hostname verification|false|
+|`--instance-id-offset`|Start the instanceIds from this offset|0|
+|`--inputs`|The function's input topic or topics (multiple topics can be specified as a comma-separated list)||
+|`--log-topic`|The topic to which the function's logs are produced||
+|`--jar`|Path to the jar file for the function (if the function is written in Java). It also supports URL path [http/https/file (file protocol assumes that file already exists on worker host)/function (package URL from packages management service)] from which worker can download the package.||
+|`--name`|The function's name||
+|`--namespace`|The function's namespace||
+|`--output`|The function's output topic (If none is specified, no output is written)||
+|`--output-serde-classname`|The SerDe class to be used for messages output by the function||
 |`--parallelism`|The function’s parallelism factor, i.e. the number of instances of the function to run|1|
-|`--processing-guarantees`|The processing guarantees applied to the function. Can be one of: ATLEAST_ONCE, ATMOST_ONCE, or EFFECTIVELY_ONCE|ATLEAST_ONCE|
-|`--py`|The path of the Python file containing the function’s processing logic (if the function is written in Python)||
-|`--schema-type`|Schema Type to be used for storing output messages||
-|`--sliding-interval-count`|Number of messages after which the window ends||
+|`--processing-guarantees`|The processing guarantees (aka delivery semantics) applied to the function. Possible Values: [ATLEAST_ONCE, ATMOST_ONCE, EFFECTIVELY_ONCE]|ATLEAST_ONCE|
+|`--py`|Path to the main Python file/Python Wheel file for the function (if the function is written in Python). It also supports URL path [http/https/file (file protocol assumes that file already exists on worker host)/function (package URL from packages management service)] from which worker can download the package.||
+|`--go`|Path to the main Go executable binary for the function (if the function is written in Go). It also supports URL path [http/https/file (file protocol assumes that file already exists on worker host)/function (package URL from packages management service)] from which worker can download the package.||
+|`--schema-type`|The builtin schema type or custom schema class name to be used for messages output by the function||
+|`--sliding-interval-count`|The number of messages after which the window slides||
 |`--sliding-interval-duration-ms`|The time duration after which the window slides||
-|`--state-storage-service-url`|The service URL for the function’s state storage (if the function uses a storage system different from the Apache BookKeeper cluster used by Pulsar)||
+|`--state-storage-service-url`|The URL for the state storage service. By default, it it set to the service URL of the Apache BookKeeper. This service URL must be added manually when the Pulsar Function runs locally. ||
 |`--tenant`|The function’s tenant||
-|`--topics-pattern`|The topic pattern to consume from list of topics under a namespace that match the pattern||
-|`--user-config`|A user-supplied config value, set as a key/value pair. You can set multiple user config values.||
-|`--window-length-count`|The number of messages per window.||
-|`--window-length-duration-ms`|The time duration of the window in milliseconds.||
+|`--topics-pattern`|The topic pattern to consume from list of topics under a namespace that match the pattern. [--input] and [--topic-pattern] are mutually exclusive. Add SerDe class name for a pattern in --custom-serde-inputs (supported for java fun only)||
+|`--user-config`|User-defined config key/values||
+|`--window-length-count`|The number of messages per window||
+|`--window-length-duration-ms`|The time duration of the window in milliseconds||
+|`--dead-letter-topic`|The topic where all messages which could not be processed successfully are sent||
+|`--fqfn`|The Fully Qualified Function Name (FQFN) for the function||
+|`--max-message-retries`|How many times should we try to process a message before giving up||
+|`--retain-ordering`|Function consumes and processes messages in order||
+|`--retain-key-ordering`|Function consumes and processes messages in key order||
+|`--timeout-ms`|The message timeout in milliseconds||
+|`--tls-allow-insecure`|Allow insecure tls connection|false|
+|`--tls-trust-cert-path`|The tls trust cert file path||
+|`--use-tls`|Use tls connection|false|
+|`--producer-config`| The custom producer configuration (as a JSON string) | |
 
 
 ### `create`
-Creates a new Pulsar Function on the target infrastructure
+Create a Pulsar Function in cluster mode (i.e. deploy it on a Pulsar cluster)
 
 Usage
 
@@ -428,37 +604,45 @@ Options
 
 |Flag|Description|Default|
 |---|---|---|
-|`--cpu`|The CPU to allocate to each function instance (in number of cores)||
-|`--ram`|The RAM to allocate to each function instance (in bytes)||
-|`--disk`|The disk space to allocate to each function instance (in bytes)||
-|`--auto-ack`|Let the functions framework manage acking||
+|`--cpu`|The cpu in cores that need to be allocated per function instance(applicable only to docker runtime)||
+|`--ram`|The ram in bytes that need to be allocated per function instance(applicable only to process/docker runtime)||
+|`--disk`|The disk in bytes that need to be allocated per function instance(applicable only to docker runtime)||
+|`--auto-ack`|Whether or not the framework will automatically acknowledge messages||
 |`--subs-name`|Pulsar source subscription name if user wants a specific subscription-name for input-topic consumer||
-|`--classname`|The name of the function’s class||
-|`--custom-serde-inputs`|A map of the input topic to SerDe name||
-|`--custom-schema-inputs`|A map of the input topic to Schema class name||
-|`--function-config-file`|The path of the YAML config file used to configure the function||
-|`--inputs`|The input topics for the function (as a comma-separated list if more than one topic is desired)||
-|`--log-topic`|The topic to which logs from this function are published||
-|`--jar`|A path to the JAR file for the function (if the function is written in Java)||
-|`--name`|The name of the function||
+|`--classname`|The function's class name||
+|`--custom-serde-inputs`|The map of input topics to SerDe class names (as a JSON string)||
+|`--custom-schema-inputs`|The map of input topics to Schema class names (as a JSON string)||
+|`--function-config-file`|The path to a YAML config file specifying the function's configuration||
+|`--inputs`|The function's input topic or topics (multiple topics can be specified as a comma-separated list)||
+|`--log-topic`|The topic to which the function's logs are produced||
+|`--jar`|Path to the jar file for the function (if the function is written in Java). It also supports URL path [http/https/file (file protocol assumes that file already exists on worker host)/function (package URL from packages management service)] from which worker can download the package.||
+|`--name`|The function's name||
 |`--namespace`|The function’s namespace||
-|`--output`|The name of the topic to which the function publishes its output (if any)||
-|`--output-serde-classname`|The SerDe class used for the function’s output||
+|`--output`|The function's output topic (If none is specified, no output is written)||
+|`--output-serde-classname`|The SerDe class to be used for messages output by the function||
 |`--parallelism`|The function’s parallelism factor, i.e. the number of instances of the function to run|1|
-|`--processing-guarantees`|The processing guarantees applied to the function. Can be one of: ATLEAST_ONCE, ATMOST_ONCE, or EFFECTIVELY_ONCE|ATLEAST_ONCE|
-|`--py`|The path of the Python file containing the function’s processing logic (if the function is written in Python)||
-|`--schema-type`|Schema Type to be used for storing output messages||
-|`--sliding-interval-count`|Number of messages after which the window ends||
+|`--processing-guarantees`|The processing guarantees (aka delivery semantics) applied to the function. Possible Values: [ATLEAST_ONCE, ATMOST_ONCE, EFFECTIVELY_ONCE]|ATLEAST_ONCE|
+|`--py`|Path to the main Python file/Python Wheel file for the function (if the function is written in Python). It also supports URL path [http/https/file (file protocol assumes that file already exists on worker host)/function (package URL from packages management service)] from which worker can download the package.||
+|`--go`|Path to the main Go executable binary for the function (if the function is written in Go). It also supports URL path [http/https/file (file protocol assumes that file already exists on worker host)/function (package URL from packages management service)] from which worker can download the package.||
+|`--schema-type`|The builtin schema type or custom schema class name to be used for messages output by the function||
+|`--sliding-interval-count`|The number of messages after which the window slides||
 |`--sliding-interval-duration-ms`|The time duration after which the window slides||
 |`--tenant`|The function’s tenant||
-|`--topics-pattern`|The topic pattern to consume from list of topics under a namespace that match the pattern||
-|`--user-config`|A user-supplied config value, set as a key/value pair. You can set multiple user config values.||
-|`--window-length-count`|The number of messages per window.||
-|`--window-length-duration-ms`|The time duration of the window in milliseconds.||
+|`--topics-pattern`|The topic pattern to consume from list of topics under a namespace that match the pattern. [--input] and [--topic-pattern] are mutually exclusive. Add SerDe class name for a pattern in --custom-serde-inputs (supported for java fun only)||
+|`--user-config`|User-defined config key/values||
+|`--window-length-count`|The number of messages per window||
+|`--window-length-duration-ms`|The time duration of the window in milliseconds||
+|`--dead-letter-topic`|The topic where all messages which could not be processed||
+|`--fqfn`|The Fully Qualified Function Name (FQFN) for the function||
+|`--max-message-retries`|How many times should we try to process a message before giving up||
+|`--retain-ordering`|Function consumes and processes messages in order||
+|`--retain-key-ordering`|Function consumes and processes messages in key order||
+|`--timeout-ms`|The message timeout in milliseconds||
+|`--producer-config`| The custom producer configuration (as a JSON string) | |
 
 
 ### `delete`
-Deletes an existing Pulsar Function
+Delete a Pulsar Function that's running on a Pulsar cluster
 
 Usage
 
@@ -472,13 +656,14 @@ Options
 
 |Flag|Description|Default|
 |---|---|---|
-|`--name`|The name of the function to delete||
-|`--namespace`|The namespace of the function to delete||
-|`--tenant`|The tenant of the function to delete||
+|`--fqfn`|The Fully Qualified Function Name (FQFN) for the function||
+|`--name`|The function's name||
+|`--namespace`|The function's namespace||
+|`--tenant`|The function's tenant||
 
 
 ### `update`
-Updates an existing Pulsar Function
+Update a Pulsar Function that's been deployed to a Pulsar cluster
 
 Usage
 
@@ -492,37 +677,45 @@ Options
 
 |Flag|Description|Default|
 |---|---|---|
-|`--cpu`|The CPU to allocate to each function instance (in number of cores)||
-|`--ram`|The RAM to allocate to each function instance (in bytes)||
-|`--disk`|The disk space to allocate to each function instance (in bytes)||
-|`--auto-ack`|Let the functions framework manage acking||
+|`--cpu`|The cpu in cores that need to be allocated per function instance(applicable only to docker runtime)||
+|`--ram`|The ram in bytes that need to be allocated per function instance(applicable only to process/docker runtime)||
+|`--disk`|The disk in bytes that need to be allocated per function instance(applicable only to docker runtime)||
+|`--auto-ack`|Whether or not the framework will automatically acknowledge messages||
 |`--subs-name`|Pulsar source subscription name if user wants a specific subscription-name for input-topic consumer||
-|`--classname`|The name of the function’s class||
-|`--custom-serde-inputs`|A map of the input topic to SerDe name||
-|`--custom-schema-inputs`|A map of the input topic to Schema class name||
-|`--function-config-file`|The path of the YAML config file used to configure the function||
-|`--inputs`|The input topics for the function (as a comma-separated list if more than one topic is desired)||
-|`--log-topic`|The topic to which logs from this function are published||
-|`--jar`|A path to the JAR file for the function (if the function is written in Java)||
-|`--name`|The name of the function||
+|`--classname`|The function's class name||
+|`--custom-serde-inputs`|The map of input topics to SerDe class names (as a JSON string)||
+|`--custom-schema-inputs`|The map of input topics to Schema class names (as a JSON string)||
+|`--function-config-file`|The path to a YAML config file specifying the function's configuration||
+|`--inputs`|The function's input topic or topics (multiple topics can be specified as a comma-separated list)||
+|`--log-topic`|The topic to which the function's logs are produced||
+|`--jar`|Path to the jar file for the function (if the function is written in Java). It also supports URL path [http/https/file (file protocol assumes that file already exists on worker host)/function (package URL from packages management service)] from which worker can download the package.||
+|`--name`|The function's name||
 |`--namespace`|The function’s namespace||
-|`--output`|The name of the topic to which the function publishes its output (if any)||
-|`--output-serde-classname`|The SerDe class used for the function’s output||
+|`--output`|The function's output topic (If none is specified, no output is written)||
+|`--output-serde-classname`|The SerDe class to be used for messages output by the function||
 |`--parallelism`|The function’s parallelism factor, i.e. the number of instances of the function to run|1|
-|`--processing-guarantees`|The processing guarantees applied to the function. Can be one of: ATLEAST_ONCE, ATMOST_ONCE, or EFFECTIVELY_ONCE|ATLEAST_ONCE|
-|`--py`|The path of the Python file containing the function’s processing logic (if the function is written in Python)||
-|`--schema-type`|Schema Type to be used for storing output messages||
-|`--sliding-interval-count`|Number of messages after which the window ends||
+|`--processing-guarantees`|The processing guarantees (aka delivery semantics) applied to the function. Possible Values: [ATLEAST_ONCE, ATMOST_ONCE, EFFECTIVELY_ONCE]|ATLEAST_ONCE|
+|`--py`|Path to the main Python file/Python Wheel file for the function (if the function is written in Python). It also supports URL path [http/https/file (file protocol assumes that file already exists on worker host)/function (package URL from packages management service)] from which worker can download the package.||
+|`--go`|Path to the main Go executable binary for the function (if the function is written in Go). It also supports URL path [http/https/file (file protocol assumes that file already exists on worker host)/function (package URL from packages management service)] from which worker can download the package.||
+|`--schema-type`|The builtin schema type or custom schema class name to be used for messages output by the function||
+|`--sliding-interval-count`|The number of messages after which the window slides||
 |`--sliding-interval-duration-ms`|The time duration after which the window slides||
 |`--tenant`|The function’s tenant||
-|`--topics-pattern`|The topic pattern to consume from list of topics under a namespace that match the pattern||
-|`--user-config`|A user-supplied config value, set as a key/value pair. You can set multiple user config values.||
-|`--window-length-count`|The number of messages per window.||
-|`--window-length-duration-ms`|The time duration of the window in milliseconds.||
+|`--topics-pattern`|The topic pattern to consume from list of topics under a namespace that match the pattern. [--input] and [--topic-pattern] are mutually exclusive. Add SerDe class name for a pattern in --custom-serde-inputs (supported for java fun only)||
+|`--user-config`|User-defined config key/values||
+|`--window-length-count`|The number of messages per window||
+|`--window-length-duration-ms`|The time duration of the window in milliseconds||
+|`--dead-letter-topic`|The topic where all messages which could not be processed||
+|`--fqfn`|The Fully Qualified Function Name (FQFN) for the function||
+|`--max-message-retries`|How many times should we try to process a message before giving up||
+|`--retain-ordering`|Function consumes and processes messages in order||
+|`--retain-key-ordering`|Function consumes and processes messages in key order||
+|`--timeout-ms`|The message timeout in milliseconds||
+|`--producer-config`| The custom producer configuration (as a JSON string) | |
 
 
 ### `get`
-Fetch information about an existing Pulsar Function
+Fetch information about a Pulsar Function
 
 Usage
 
@@ -536,13 +729,14 @@ Options
 
 |Flag|Description|Default|
 |---|---|---|
-|`--name`|The name of the function||
-|`--namespace`|The namespace of the function||
-|`--tenant`|The tenant of the function||
+|`--fqfn`|The Fully Qualified Function Name (FQFN) for the function||
+|`--name`|The function's name||
+|`--namespace`|The function's namespace||
+|`--tenant`|The function's tenant||
 
 
 ### `restart`
-Restarts either all instances or one particular instance of a function
+Restart function instance
 
 Usage
 
@@ -556,14 +750,15 @@ Options
 
 |Flag|Description|Default|
 |---|---|---|
-|`--name`|The name of the function||
-|`--namespace`|The namespace of the function||
-|`--tenant`|The tenant of the function||
-|`--instance-id`|The function instanceId; restart all instances if instance-id is not provided||
+|`--fqfn`|The Fully Qualified Function Name (FQFN) for the function||
+|`--instance-id`|The function instanceId (restart all instances if instance-id is not provided)||
+|`--name`|The function's name||
+|`--namespace`|The function's namespace||
+|`--tenant`|The function's tenant||
 
 
 ### `stop`
-Temporary stops function instance. (If worker restarts then it reassigns and starts functiona again)
+Stops function instance
 
 Usage
 
@@ -577,20 +772,65 @@ Options
 
 |Flag|Description|Default|
 |---|---|---|
-|`--name`|The name of the function||
-|`--namespace`|The namespace of the function||
-|`--tenant`|The tenant of the function||
-|`--instance-id`|The function instanceId; stop all instances if instance-id is not provided||
+|`--fqfn`|The Fully Qualified Function Name (FQFN) for the function||
+|`--instance-id`|The function instanceId (stop all instances if instance-id is not provided)||
+|`--name`|The function's name||
+|`--namespace`|The function's namespace||
+|`--tenant`|The function's tenant||
+
+
+### `start`
... 21716 lines suppressed ...