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/09/19 08:48:12 UTC

[pulsar-site] branch main updated: docs: add legacy docs for 2.6.0 to 2.8.0 (#214)

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 b91fd527fe5 docs: add legacy docs for 2.6.0 to 2.8.0 (#214)
b91fd527fe5 is described below

commit b91fd527fe56a9ea9ffca6e013054ceab9e760cb
Author: Mercurio <32...@users.noreply.github.com>
AuthorDate: Mon Sep 19 16:48:08 2022 +0800

    docs: add legacy docs for 2.6.0 to 2.8.0 (#214)
---
 site2/website-next/docsify/2.6.0/README.md         |    3 +
 site2/website-next/docsify/2.6.0/client/README.md  |    1 +
 .../website-next/docsify/2.6.0/client/_sidebar.md  |    1 +
 .../docsify/2.6.0/client/client-libraries-java.md  |  867 +++++++
 site2/website-next/docsify/2.6.0/config/README.md  |    1 +
 .../website-next/docsify/2.6.0/config/_sidebar.md  |    1 +
 .../2.6.0/config/reference-configuration.md        |  548 +++++
 .../docsify/2.6.0/pulsar-admin/README.md           |    1 +
 .../docsify/2.6.0/pulsar-admin/_sidebar.md         |   18 +
 .../docsify/2.6.0/pulsar-admin/bookies.md          |  119 +
 .../docsify/2.6.0/pulsar-admin/broker-stats.md     |  116 +
 .../docsify/2.6.0/pulsar-admin/brokers.md          |  235 ++
 .../docsify/2.6.0/pulsar-admin/clusters.md         |  292 +++
 .../docsify/2.6.0/pulsar-admin/functions-worker.md |   98 +
 .../docsify/2.6.0/pulsar-admin/functions.md        |  614 +++++
 .../docsify/2.6.0/pulsar-admin/namespaces.md       | 2467 ++++++++++++++++++++
 .../2.6.0/pulsar-admin/ns-isolation-policy.md      |  130 ++
 .../docsify/2.6.0/pulsar-admin/packages.md         |  159 ++
 .../docsify/2.6.0/pulsar-admin/proxy-stats.md      |   62 +
 .../docsify/2.6.0/pulsar-admin/resource-quotas.md  |   93 +
 .../docsify/2.6.0/pulsar-admin/resourcegroups.md   |  116 +
 .../docsify/2.6.0/pulsar-admin/schemas.md          |  105 +
 .../docsify/2.6.0/pulsar-admin/sinks.md            |  411 ++++
 .../docsify/2.6.0/pulsar-admin/sources.md          |  384 +++
 .../docsify/2.6.0/pulsar-admin/tenants.md          |  118 +
 .../docsify/2.6.0/pulsar-admin/topics.md           | 2454 +++++++++++++++++++
 .../docsify/2.6.0/pulsar-admin/transactions.md     |  227 ++
 .../docsify/2.6.0/pulsar-client/README.md          |    1 +
 .../docsify/2.6.0/pulsar-client/_sidebar.md        |    1 +
 .../docsify/2.6.0/pulsar-client/pulsar-client.md   |   69 +
 .../docsify/2.6.0/pulsar-perf/README.md            |    1 +
 .../docsify/2.6.0/pulsar-perf/_sidebar.md          |    1 +
 .../docsify/2.6.0/pulsar-perf/pulsar-perf.md       |   27 +
 site2/website-next/docsify/2.6.0/pulsar/README.md  |    1 +
 .../website-next/docsify/2.6.0/pulsar/_sidebar.md  |   10 +
 .../docsify/2.6.0/pulsar/broker-tool.md            |   38 +
 .../docsify/2.6.0/pulsar/compact-topic.md          |   23 +
 .../2.6.0/pulsar/delete-cluster-metadata.md        |   26 +
 .../docsify/2.6.0/pulsar/functions-worker.md       |   22 +
 .../2.6.0/pulsar/initialize-cluster-metadata.md    |   34 +
 .../docsify/2.6.0/pulsar/initialize-namespace.md   |   24 +
 .../initialize-transaction-coordinator-metadata.md |   25 +
 site2/website-next/docsify/2.6.0/pulsar/proxy.md   |   25 +
 site2/website-next/docsify/2.6.0/pulsar/tokens.md  |  135 ++
 .../website-next/docsify/2.6.0/pulsar/websocket.md |   21 +
 site2/website-next/docsify/2.7.0/README.md         |    3 +
 site2/website-next/docsify/2.7.0/client/README.md  |    1 +
 .../website-next/docsify/2.7.0/client/_sidebar.md  |    1 +
 .../docsify/2.7.0/client/client-libraries-java.md  |  881 +++++++
 site2/website-next/docsify/2.7.0/config/README.md  |    1 +
 .../website-next/docsify/2.7.0/config/_sidebar.md  |    1 +
 .../2.7.0/config/reference-configuration.md        |  802 +++++++
 .../docsify/2.7.0/pulsar-admin/README.md           |    1 +
 .../docsify/2.7.0/pulsar-admin/_sidebar.md         |   18 +
 .../docsify/2.7.0/pulsar-admin/bookies.md          |  119 +
 .../docsify/2.7.0/pulsar-admin/broker-stats.md     |  116 +
 .../docsify/2.7.0/pulsar-admin/brokers.md          |  235 ++
 .../docsify/2.7.0/pulsar-admin/clusters.md         |  292 +++
 .../docsify/2.7.0/pulsar-admin/functions-worker.md |   98 +
 .../docsify/2.7.0/pulsar-admin/functions.md        |  614 +++++
 .../docsify/2.7.0/pulsar-admin/namespaces.md       | 2467 ++++++++++++++++++++
 .../2.7.0/pulsar-admin/ns-isolation-policy.md      |  130 ++
 .../docsify/2.7.0/pulsar-admin/packages.md         |  159 ++
 .../docsify/2.7.0/pulsar-admin/proxy-stats.md      |   62 +
 .../docsify/2.7.0/pulsar-admin/resource-quotas.md  |   93 +
 .../docsify/2.7.0/pulsar-admin/resourcegroups.md   |  116 +
 .../docsify/2.7.0/pulsar-admin/schemas.md          |  105 +
 .../docsify/2.7.0/pulsar-admin/sinks.md            |  411 ++++
 .../docsify/2.7.0/pulsar-admin/sources.md          |  384 +++
 .../docsify/2.7.0/pulsar-admin/tenants.md          |  118 +
 .../docsify/2.7.0/pulsar-admin/topics.md           | 2454 +++++++++++++++++++
 .../docsify/2.7.0/pulsar-admin/transactions.md     |  227 ++
 .../docsify/2.7.0/pulsar-client/README.md          |    1 +
 .../docsify/2.7.0/pulsar-client/_sidebar.md        |    1 +
 .../docsify/2.7.0/pulsar-client/pulsar-client.md   |   69 +
 .../docsify/2.7.0/pulsar-perf/README.md            |    1 +
 .../docsify/2.7.0/pulsar-perf/_sidebar.md          |    1 +
 .../docsify/2.7.0/pulsar-perf/pulsar-perf.md       |   27 +
 site2/website-next/docsify/2.7.0/pulsar/README.md  |    1 +
 .../website-next/docsify/2.7.0/pulsar/_sidebar.md  |   11 +
 .../docsify/2.7.0/pulsar/broker-tool.md            |   38 +
 .../docsify/2.7.0/pulsar/compact-topic.md          |   23 +
 .../2.7.0/pulsar/delete-cluster-metadata.md        |   26 +
 .../docsify/2.7.0/pulsar/functions-worker.md       |   22 +
 .../2.7.0/pulsar/initialize-cluster-metadata.md    |   34 +
 .../docsify/2.7.0/pulsar/initialize-namespace.md   |   24 +
 .../initialize-transaction-coordinator-metadata.md |   25 +
 site2/website-next/docsify/2.7.0/pulsar/proxy.md   |   25 +
 site2/website-next/docsify/2.7.0/pulsar/tokens.md  |  135 ++
 site2/website-next/docsify/2.7.0/pulsar/version.md |   21 +
 .../website-next/docsify/2.7.0/pulsar/websocket.md |   21 +
 site2/website-next/docsify/2.8.0/README.md         |    3 +
 site2/website-next/docsify/2.8.0/client/README.md  |    1 +
 .../website-next/docsify/2.8.0/client/_sidebar.md  |    1 +
 .../docsify/2.8.0/client/client-libraries-java.md  |  884 +++++++
 site2/website-next/docsify/2.8.0/config/README.md  |    1 +
 .../website-next/docsify/2.8.0/config/_sidebar.md  |    1 +
 .../2.8.0/config/reference-configuration.md        |  813 +++++++
 .../docsify/2.8.0/pulsar-admin/README.md           |    1 +
 .../docsify/2.8.0/pulsar-admin/_sidebar.md         |   18 +
 .../docsify/2.8.0/pulsar-admin/bookies.md          |  119 +
 .../docsify/2.8.0/pulsar-admin/broker-stats.md     |  116 +
 .../docsify/2.8.0/pulsar-admin/brokers.md          |  235 ++
 .../docsify/2.8.0/pulsar-admin/clusters.md         |  292 +++
 .../docsify/2.8.0/pulsar-admin/functions-worker.md |   98 +
 .../docsify/2.8.0/pulsar-admin/functions.md        |  614 +++++
 .../docsify/2.8.0/pulsar-admin/namespaces.md       | 2467 ++++++++++++++++++++
 .../2.8.0/pulsar-admin/ns-isolation-policy.md      |  130 ++
 .../docsify/2.8.0/pulsar-admin/packages.md         |  159 ++
 .../docsify/2.8.0/pulsar-admin/proxy-stats.md      |   62 +
 .../docsify/2.8.0/pulsar-admin/resource-quotas.md  |   93 +
 .../docsify/2.8.0/pulsar-admin/resourcegroups.md   |  116 +
 .../docsify/2.8.0/pulsar-admin/schemas.md          |  105 +
 .../docsify/2.8.0/pulsar-admin/sinks.md            |  411 ++++
 .../docsify/2.8.0/pulsar-admin/sources.md          |  384 +++
 .../docsify/2.8.0/pulsar-admin/tenants.md          |  118 +
 .../docsify/2.8.0/pulsar-admin/topics.md           | 2454 +++++++++++++++++++
 .../docsify/2.8.0/pulsar-admin/transactions.md     |  227 ++
 .../docsify/2.8.0/pulsar-client/README.md          |    1 +
 .../docsify/2.8.0/pulsar-client/_sidebar.md        |    1 +
 .../docsify/2.8.0/pulsar-client/pulsar-client.md   |   69 +
 .../docsify/2.8.0/pulsar-perf/README.md            |    1 +
 .../docsify/2.8.0/pulsar-perf/_sidebar.md          |    1 +
 .../docsify/2.8.0/pulsar-perf/pulsar-perf.md       |  349 +++
 site2/website-next/docsify/2.8.0/pulsar/README.md  |    1 +
 .../website-next/docsify/2.8.0/pulsar/_sidebar.md  |   13 +
 .../docsify/2.8.0/pulsar/broker-tool.md            |   38 +
 site2/website-next/docsify/2.8.0/pulsar/broker.md  |   28 +
 .../docsify/2.8.0/pulsar/compact-topic.md          |   23 +
 .../2.8.0/pulsar/delete-cluster-metadata.md        |   26 +
 .../docsify/2.8.0/pulsar/functions-worker.md       |   22 +
 .../2.8.0/pulsar/initialize-cluster-metadata.md    |   34 +
 .../docsify/2.8.0/pulsar/initialize-namespace.md   |   24 +
 .../initialize-transaction-coordinator-metadata.md |   25 +
 site2/website-next/docsify/2.8.0/pulsar/proxy.md   |   25 +
 .../docsify/2.8.0/pulsar/standalone.md             |   35 +
 site2/website-next/docsify/2.8.0/pulsar/tokens.md  |  135 ++
 site2/website-next/docsify/2.8.0/pulsar/version.md |   21 +
 .../website-next/docsify/2.8.0/pulsar/websocket.md |   21 +
 site2/website-next/docsify/index.html              |    5 +-
 140 files changed, 31360 insertions(+), 1 deletion(-)

diff --git a/site2/website-next/docsify/2.6.0/README.md b/site2/website-next/docsify/2.6.0/README.md
new file mode 100644
index 00000000000..7308b61184c
--- /dev/null
+++ b/site2/website-next/docsify/2.6.0/README.md
@@ -0,0 +1,3 @@
+# Welcome
+
+> Welcome to Pulsar Configuration Docs.
diff --git a/site2/website-next/docsify/2.6.0/client/README.md b/site2/website-next/docsify/2.6.0/client/README.md
new file mode 100644
index 00000000000..63a63d11ae1
--- /dev/null
+++ b/site2/website-next/docsify/2.6.0/client/README.md
@@ -0,0 +1 @@
+> Docs for Pulsar Client Configuration.
diff --git a/site2/website-next/docsify/2.6.0/client/_sidebar.md b/site2/website-next/docsify/2.6.0/client/_sidebar.md
new file mode 100644
index 00000000000..bf8af188ca9
--- /dev/null
+++ b/site2/website-next/docsify/2.6.0/client/_sidebar.md
@@ -0,0 +1 @@
+- [Java](client/client-libraries-java)
diff --git a/site2/website-next/docsify/2.6.0/client/client-libraries-java.md b/site2/website-next/docsify/2.6.0/client/client-libraries-java.md
new file mode 100644
index 00000000000..da6fbc06738
--- /dev/null
+++ b/site2/website-next/docsify/2.6.0/client/client-libraries-java.md
@@ -0,0 +1,867 @@
+---
+id: client-libraries-java
+title: Pulsar Java client
+sidebar_label: Java
+---
+
+You can use Pulsar Java client to create Java [producer](#producer), [consumer](#consumer), and [readers](#reader-interface) of messages and to perform [administrative tasks](admin-api-overview.md). The current version of the Java client is **{{pulsar:version}}**.
+
+All the methods in [producer](#producer), [consumer](#consumer), and [reader](#reader) of a Java client are thread-safe.
+
+Javadoc for the Pulsar client is divided into two domains by package as follows.
+
+Package | Description | Maven Artifact
+:-------|:------------|:--------------
+[`org.apache.pulsar.client.api`](/api/client) | The producer and consumer API | [org.apache.pulsar:pulsar-client:{{pulsar:version}}](http://search.maven.org/#artifactdetails%7Corg.apache.pulsar%7Cpulsar-client%7C{{pulsar:version}}%7Cjar)
+[`org.apache.pulsar.client.admin`](/api/admin) | The Java [admin API](admin-api-overview.md) | [org.apache.pulsar:pulsar-client-admin:{{pulsar:version}}](http://search.maven.org/#artifactdetails%7Corg.apache.pulsar%7Cpulsar-client-admin%7C{{pulsar:version}}%7Cjar)
+
+This document focuses only on the client API for producing and consuming messages on Pulsar topics. For how to use the Java admin client, see [Pulsar admin interface](admin-api-overview.md).
+
+## Installation
+
+The latest version of the Pulsar Java client library is available via [Maven Central](http://search.maven.org/#artifactdetails%7Corg.apache.pulsar%7Cpulsar-client%7C{{pulsar:version}}%7Cjar). To use the latest version, add the `pulsar-client` library to your build configuration.
+
+### Maven
+
+If you use Maven, add the following information to the `pom.xml` file.
+
+```xml
+<!-- in your <properties> block -->
+<pulsar.version>{{pulsar:version}}</pulsar.version>
+
+<!-- in your <dependencies> block -->
+<dependency>
+  <groupId>org.apache.pulsar</groupId>
+  <artifactId>pulsar-client</artifactId>
+  <version>${pulsar.version}</version>
+</dependency>
+```
+
+### Gradle
+
+If you use Gradle, add the following information to the `build.gradle` file.
+
+```groovy
+def pulsarVersion = '{{pulsar:version}}'
+
+dependencies {
+    compile group: 'org.apache.pulsar', name: 'pulsar-client', version: pulsarVersion
+}
+```
+
+## Connection URLs
+
+To connect to Pulsar using client libraries, you need to specify a [Pulsar protocol](developing-binary-protocol.md) URL.
+
+You can assign Pulsar protocol URLs to specific clusters and use the `pulsar` scheme. The default port is `6650`. The following is an example of `localhost`.
+
+```http
+pulsar://localhost:6650
+```
+
+If you have multiple brokers, the URL is as follows.
+
+```http
+pulsar://localhost:6550,localhost:6651,localhost:6652
+```
+
+A URL for a production Pulsar cluster is as follows.
+
+```http
+pulsar://pulsar.us-west.example.com:6650
+```
+
+If you use [TLS](security-tls-authentication.md) authentication, the URL is as follows. 
+
+```http
+pulsar+ssl://pulsar.us-west.example.com:6651
+```
+
+## Client 
+
+You can instantiate a {@inject: javadoc:PulsarClient:/client/org/apache/pulsar/client/api/PulsarClient} object using just a URL for the target Pulsar [cluster](reference-terminology.md#cluster) like this:
+
+```java
+PulsarClient client = PulsarClient.builder()
+        .serviceUrl("pulsar://localhost:6650")
+        .build();
+```
+
+If you have multiple brokers, you can initiate a PulsarClient like this:
+```java
+PulsarClient client = PulsarClient.builder()
+        .serviceUrl("pulsar://localhost:6650,localhost:6651,localhost:6652")
+        .build();
+```
+
+> ### Default broker URLs for standalone clusters
+> If you run a cluster in [standalone mode](getting-started-standalone.md), the broker is available at the `pulsar://localhost:6650` URL by default.
+
+If you create a client, you can use the `loadConf` configuration. The following parameters are available in `loadConf`.
+
+| Type | Name | <div style="width:260px">Description</div> | Default
+|---|---|---|---
+String | `serviceUrl` |Service URL provider for Pulsar service | None
+String | `authPluginClassName` | Name of the authentication plugin | None
+String | `authParams` | String represents parameters for the authentication plugin <br/><br/>**Example**<br/> key1:val1,key2:val2|None
+long|`operationTimeoutMs`|Operation timeout |30000
+long|`statsIntervalSeconds`|Interval between each stats info<br/><br/>Stats is activated with positive `statsInterval`<br/><br/>Set `statsIntervalSeconds` to 1 second at least |60
+int|`numIoThreads`| The number of threads used for handling connections to brokers | 1 
+int|`numListenerThreads`|The number of threads used for handling message listeners | 1 
+boolean|`useTcpNoDelay`|Whether to use TCP no-delay flag on the connection to disable Nagle algorithm |true
+boolean |`useTls` |Whether to use TLS encryption on the connection| false
+string | `tlsTrustCertsFilePath` |Path to the trusted TLS certificate file|None
+boolean|`tlsAllowInsecureConnection`|Whether the Pulsar client accepts untrusted TLS certificate from broker | false
+boolean | `tlsHostnameVerificationEnable` | Whether to enable TLS hostname verification|false
+int|`concurrentLookupRequest`|The number of concurrent lookup requests allowed to send on each broker connection to prevent overload on broker|5000
+int|`maxLookupRequest`|The maximum number of lookup requests allowed on each broker connection to prevent overload on broker | 50000
+int|`maxNumberOfRejectedRequestPerConnection`|The maximum number of rejected requests of a broker in a certain time frame (30 seconds) after the current connection is closed and the client creates a new connection to connect to a different broker|50
+int|`keepAliveIntervalSeconds`|Seconds of keeping alive interval for each client broker connection|30
+int|`connectionTimeoutMs`|Duration of waiting for a connection to a broker to be established <br/><br/>If the duration passes without a response from a broker, the connection attempt is dropped|10000
+int|`requestTimeoutMs`|Maximum duration for completing a request |60000
+int|`defaultBackoffIntervalNanos`| Default duration for a backoff interval | TimeUnit.MILLISECONDS.toNanos(100);
+long|`maxBackoffIntervalNanos`|Maximum duration for a backoff interval|TimeUnit.SECONDS.toNanos(30)
+
+Check out the Javadoc for the {@inject: javadoc:PulsarClient:/client/org/apache/pulsar/client/api/PulsarClient} class for a full list of configurable parameters.
+
+> In addition to client-level configuration, you can also apply [producer](#configuring-producers) and [consumer](#configuring-consumers) specific configuration as described in sections below.
+
+## Producer
+
+In Pulsar, producers write messages to topics. Once you've instantiated a {@inject: javadoc:PulsarClient:/client/org/apache/pulsar/client/api/PulsarClient} object (as in the section [above](#client-configuration)), you can create a {@inject: javadoc:Producer:/client/org/apache/pulsar/client/api/Producer} for a specific Pulsar [topic](reference-terminology.md#topic).
+
+```java
+Producer<byte[]> producer = client.newProducer()
+        .topic("my-topic")
+        .create();
+
+// You can then send messages to the broker and topic you specified:
+producer.send("My message".getBytes());
+```
+
+By default, producers produce messages that consist of byte arrays. You can produce different types by specifying a message [schema](#schemas).
+
+```java
+Producer<String> stringProducer = client.newProducer(Schema.STRING)
+        .topic("my-topic")
+        .create();
+stringProducer.send("My message");
+```
+
+> Make sure that you close your producers, consumers, and clients when you do not need them.
+> ```java
+> producer.close();
+> consumer.close();
+> client.close();
+> ```
+>
+> Close operations can also be asynchronous:
+> ```java
+> producer.closeAsync()
+>    .thenRun(() -> System.out.println("Producer closed"))
+>    .exceptionally((ex) -> {
+>        System.err.println("Failed to close producer: " + ex);
+>        return null;
+>    });
+> ```
+
+### Configure producer
+
+If you instantiate a `Producer` object by specifying only a topic name as the example above, use the default configuration for producer. 
+
+If you create a producer, you can use the `loadConf` configuration. The following parameters are available in `loadConf`.
+
+Type | Name| <div style="width:300px">Description</div>|  Default
+|---|---|---|---
+String|	`topicName`|	Topic name| null|
+String|`producerName`|Producer name| null
+long|`sendTimeoutMs`|Message send timeout in ms.<br/><br/>If a message is not acknowledged by a server before the `sendTimeout` expires, an error occurs.|30000
+boolean|`blockIfQueueFull`|If it is set to `true`, when the outgoing message queue is full, the `Send` and `SendAsync` methods of producer block, rather than failing and throwing errors. <br/><br>If it is set to `false`, when the outgoing message queue is full, the `Send` and `SendAsync` methods of producer fail and `ProducerQueueIsFullError` exceptions occur.<br/><br/>The `MaxPendingMessages` parameter determines the size of the outgoing message queue.|false
+int|`maxPendingMessages`|The maximum size of a queue holding pending messages.<br/><br/>For example, a message waiting to receive an acknowledgment from a [broker](reference-terminology.md#broker). <br/><br/>By default, when the queue is full, all calls to the `Send` and `SendAsync` methods fail **unless** you set `BlockIfQueueFull` to `true`.|1000
+int|`maxPendingMessagesAcrossPartitions`|The maximum number of pending messages across partitions. <br/><br/>Use the setting to lower the max pending messages for each partition ({@link #setMaxPendingMessages(int)}) if the total number exceeds the configured value.|50000
+MessageRoutingMode|`messageRoutingMode`|Message routing logic for producers on [partitioned topics](concepts-architecture-overview.md#partitioned-topics).<br/><br/> Apply the logic only when setting no key on messages. <br/><br/>Available options are as follows: <br/><br/><li>`pulsar.RoundRobinDistribution`: round robin<br/><br/> <li>`pulsar.UseSinglePartition`: publish all messages to a single partition<br/><br/><li>`pulsar.CustomPartition`: a custom partitioning scheme|`pulsar.RoundRob [...]
+HashingScheme|`hashingScheme`|Hashing function determining the partition where you publish a particular message (**partitioned topics only**).<br/><br/>Available options are as follows:<br/><br/><li> `pulsar.JavaStringHash`: the equivalent of `String.hashCode()` in Java<br/><br/><li> `pulsar.Murmur3_32Hash`: applies the [Murmur3](https://en.wikipedia.org/wiki/MurmurHash) hashing function<br/><br/><li>`pulsar.BoostHash`: applies the hashing function from C++'s [Boost](https://www.boost.or [...]
+ProducerCryptoFailureAction|`cryptoFailureAction`|Producer should take action when encryption fails.<br/><br/><li>**FAIL**: if encryption fails, unencrypted messages fail to send.</li><br/><li> **SEND**: if encryption fails, unencrypted messages are sent. |`ProducerCryptoFailureAction.FAIL`
+long|`batchingMaxPublishDelayMicros`|Batching time period of sending messages.|TimeUnit.MILLISECONDS.toMicros(1)
+int|batchingMaxMessages|The maximum number of messages permitted in a batch.|1000
+boolean|`batchingEnabled`|Enable batching of messages. |true
+CompressionType|`compressionType`|Message data compression type used by a producer. <br/><br/>Available options:<li>[`LZ4`](https://github.com/lz4/lz4)<br/><li>[`ZLIB`](https://zlib.net/)<br/><li>[`ZSTD`](https://facebook.github.io/zstd/)<br/><li>[`SNAPPY`](https://google.github.io/snappy/)| No compression
+
+You can configure parameters if you do not want to use the default configuration.
+
+For a full list, see the Javadoc for the {@inject: javadoc:ProducerBuilder:/client/org/apache/pulsar/client/api/ProducerBuilder} class. The following is an example.
+
+```java
+Producer<byte[]> producer = client.newProducer()
+    .topic("my-topic")
+    .batchingMaxPublishDelay(10, TimeUnit.MILLISECONDS)
+    .sendTimeout(10, TimeUnit.SECONDS)
+    .blockIfQueueFull(true)
+    .create();
+```
+
+### Message routing
+
+When using partitioned topics, you can specify the routing mode whenever you publish messages using a producer. For more information on specifying a routing mode using the Java client, see the [Partitioned Topics](cookbooks-partitioned.md) cookbook.
+
+### Async send
+
+You can publish messages [asynchronously](concepts-messaging.md#send-modes) using the Java client. With async send, the producer puts the message in a blocking queue and returns it immediately. Then the client library sends the message to the broker in the background. If the queue is full (max size configurable), the producer is blocked or fails immediately when calling the API, depending on arguments passed to the producer.
+
+The following is an example.
+
+```java
+producer.sendAsync("my-async-message".getBytes()).thenAccept(msgId -> {
+    System.out.printf("Message with ID %s successfully sent", msgId);
+});
+```
+
+As you can see from the example above, async send operations return a {@inject: javadoc:MessageId:/client/org/apache/pulsar/client/api/MessageId} wrapped in a [`CompletableFuture`](http://www.baeldung.com/java-completablefuture).
+
+### Configure messages
+
+In addition to a value, you can set additional items on a given message:
+
+```java
+producer.newMessage()
+    .key("my-message-key")
+    .value("my-async-message".getBytes())
+    .property("my-key", "my-value")
+    .property("my-other-key", "my-other-value")
+    .send();
+```
+
+You can terminate the builder chain with `sendAsync()` and get a future return.
+
+## Consumer
+
+In Pulsar, consumers subscribe to topics and handle messages that producers publish to those topics. You can instantiate a new [consumer](reference-terminology.md#consumer) by first instantiating a {@inject: javadoc:PulsarClient:/client/org/apache/pulsar/client/api/PulsarClient} object and passing it a URL for a Pulsar broker (as [above](#client-configuration)).
+
+Once you've instantiated a {@inject: javadoc:PulsarClient:/client/org/apache/pulsar/client/api/PulsarClient} object, you can create a {@inject: javadoc:Consumer:/client/org/apache/pulsar/client/api/Consumer} by specifying a [topic](reference-terminology.md#topic) and a [subscription](concepts-messaging.md#subscription-modes).
+
+```java
+Consumer consumer = client.newConsumer()
+        .topic("my-topic")
+        .subscriptionName("my-subscription")
+        .subscribe();
+```
+
+The `subscribe` method will auto subscribe the consumer to the specified topic and subscription. One way to make the consumer listen on the topic is to set up a `while` loop. In this example loop, the consumer listens for messages, prints the contents of any received message, and then [acknowledges](reference-terminology.md#acknowledgment-ack) that the message has been processed. If the processing logic fails, you can use [negative acknowledgement](reference-terminology.md#acknowledgment [...]
+
+```java
+while (true) {
+  // Wait for a message
+  Message msg = consumer.receive();
+
+  try {
+      // Do something with the message
+      System.out.printf("Message received: %s", new String(msg.getData()));
+
+      // Acknowledge the message so that it can be deleted by the message broker
+      consumer.acknowledge(msg);
+  } catch (Exception e) {
+      // Message failed to process, redeliver later
+      consumer.negativeAcknowledge(msg);
+  }
+}
+```
+
+### Configure consumer
+
+If you instantiate a `Consumer` object by specifying only a topic and subscription name as in the example above, the consumer uses the default configuration. 
+
+When you create a consumer, you can use the `loadConf` configuration. The following parameters are available in `loadConf`.
+
+Type | Name| <div style="width:300px">Description</div>|  Default
+|---|---|---|---
+Set&lt;String&gt;|	`topicNames`|	Topic name|	Sets.newTreeSet()
+Pattern|   `topicsPattern`|	Topic pattern	|None
+String|	`subscriptionName`|	Subscription name|	None
+SubscriptionType| `subscriptionType`|	Subscription type <br/><br/>Three subscription types are available:<li>Exclusive</li><li>Failover</li><li>Shared</li>|SubscriptionType.Exclusive
+int | `receiverQueueSize` | Size of a consumer's receiver queue. <br/><br/>For example, the number of messages accumulated by a consumer before an application calls `Receive`. <br/><br/>A value higher than the default value increases consumer throughput, though at the expense of more memory utilization.| 1000
+long|`acknowledgementsGroupTimeMicros`|Group a consumer acknowledgment for a specified time.<br/><br/>By default, a consumer uses 100ms grouping time to send out acknowledgments to a broker.<br/><br/>Setting a group time of 0 sends out acknowledgments immediately. <br/><br/>A longer ack group time is more efficient at the expense of a slight increase in message re-deliveries after a failure.|TimeUnit.MILLISECONDS.toMicros(100)
+long|`negativeAckRedeliveryDelayMicros`|Delay to wait before redelivering messages that failed to be processed.<br/><br/> When an application uses {@link Consumer#negativeAcknowledge(Message)}, failed messages are redelivered after a fixed timeout. |TimeUnit.MINUTES.toMicros(1)
+int |`maxTotalReceiverQueueSizeAcrossPartitions`|The max total receiver queue size across partitions.<br/><br/>This setting reduces the receiver queue size for individual partitions if the total receiver queue size exceeds this value.|50000
+String|`consumerName`|Consumer name|null
+long|`ackTimeoutMillis`|Timeout of unacked messages|0
+long|`tickDurationMillis`|Granularity of the ack-timeout redelivery.<br/><br/>Using an higher `tickDurationMillis` reduces the memory overhead to track messages when setting ack-timeout to a bigger value (for example, 1 hour).|1000
+int|`priorityLevel`|Priority level for a consumer to which a broker gives more priority while dispatching messages in the shared subscription mode. <br/><br/>The broker follows descending priorities. For example, 0=max-priority, 1, 2,...<br/><br/>In shared subscription mode, the broker **first dispatches messages to the max priority level consumers if they have permits**. Otherwise, the broker considers next priority level consumers.<br/><br/> **Example 1**<br/><br/>If a subscription has [...]
+ConsumerCryptoFailureAction|`cryptoFailureAction`|Consumer should take action when it receives a message that can not be decrypted.<br/><br/><li>**FAIL**: this is the default option to fail messages until crypto succeeds.</li><br/><li> **DISCARD**:silently acknowledge and not deliver message to an application.</li><br/><li>**CONSUME**: deliver encrypted messages to applications. It is the application's responsibility to decrypt the message.<br/><br/>The decompression of message fails. <b [...]
+SortedMap<String, String>|`properties`|A name or value property of this consumer.<br/><br/>`properties` is application defined metadata attached to a consumer. <br/><br/>When getting a topic stats, associate this metadata with the consumer stats for easier identification.|new TreeMap<>()
+boolean|`readCompacted`|If enabling `readCompacted`, a consumer reads messages from a compacted topic rather than reading a full message backlog of a topic.<br/><br/> A consumer only sees the latest value for each key in the compacted topic, up until reaching the point in the topic message when compacting backlog. Beyond that point, send messages as normal.<br/><br/>Only enabling `readCompacted` on subscriptions to persistent topics, which have a single active consumer (like failure or e [...]
+SubscriptionInitialPosition|`subscriptionInitialPosition`|Initial position at which to set cursor when subscribing to a topic at first time.|SubscriptionInitialPosition.Latest
+int|`patternAutoDiscoveryPeriod`|Topic auto discovery period when using a pattern for topic's consumer.<br/><br/>The default and minimum value is 1 minute.|1
+RegexSubscriptionMode|`regexSubscriptionMode`|When subscribing to a topic using a regular expression, you can pick a certain type of topics.<br/><br/><li>**PersistentOnly**: only subscribe to persistent topics.</li><br/><li>**NonPersistentOnly**: only subscribe to non-persistent topics.</li><br/><li>**AllTopics**: subscribe to both persistent and non-persistent topics.</li>|RegexSubscriptionMode.PersistentOnly
+DeadLetterPolicy|`deadLetterPolicy`|Dead letter policy for consumers.<br/><br/>By default, some messages are probably redelivered many times, even to the extent that it never stops.<br/><br/>By using the dead letter mechanism, messages have the max redelivery count. **When exceeding the maximum number of redeliveries, messages are sent to the Dead Letter Topic and acknowledged automatically**.<br/><br/>You can enable the dead letter mechanism by setting `deadLetterPolicy`.<br/><br/>**Exa [...]
+boolean|`autoUpdatePartitions`|If `autoUpdatePartitions` is enabled, a consumer subscribes to partition increasement automatically.<br/><br/>**Note**: this is only for partitioned consumers.|true
+boolean|`replicateSubscriptionState`|If `replicateSubscriptionState` is enabled, a subscription state is replicated to geo-replicated clusters.|false
+
+You can configure parameters if you do not want to use the default configuration. For a full list, see the Javadoc for the {@inject: javadoc:ConsumerBuilder:/client/org/apache/pulsar/client/api/ConsumerBuilder} class. 
+
+The following is an example.
+
+```java
+Consumer consumer = client.newConsumer()
+        .topic("my-topic")
+        .subscriptionName("my-subscription")
+        .ackTimeout(10, TimeUnit.SECONDS)
+        .subscriptionType(SubscriptionType.Exclusive)
+        .subscribe();
+```
+
+### Async receive
+
+The `receive` method receives messages synchronously (the consumer process is blocked until a message is available). You can also use [async receive](concepts-messaging.md#receive-modes), which returns a [`CompletableFuture`](http://www.baeldung.com/java-completablefuture) object immediately once a new message is available.
+
+The following is an example.
+
+```java
+CompletableFuture<Message> asyncMessage = consumer.receiveAsync();
+```
+
+Async receive operations return a {@inject: javadoc:Message:/client/org/apache/pulsar/client/api/Message} wrapped inside of a [`CompletableFuture`](http://www.baeldung.com/java-completablefuture).
+
+### Batch receive
+
+Use `batchReceive` to receive multiple messages for each call. 
+
+The following is an example.
+
+```java
+Messages messages = consumer.batchReceive();
+for (message in messages) {
+  // do something
+}
+consumer.acknowledge(messages)
+```
+
+> Note:
+>
+> Batch receive policy limits the number and bytes of messages in a single batch. You can specify a timeout to wait for enough messages.
+>
+> The batch receive is completed if any of the following condition is met: enough number of messages, bytes of messages, wait timeout.
+>
+> ```java
+> Consumer consumer = client.newConsumer()
+>         .topic("my-topic")
+>         .subscriptionName("my-subscription")
+>         .batchReceivePolicy(BatchReceivePolicy.builder()
+>              .maxNumMessages(100)
+>              .maxNumBytes(1024 * 1024)
+>              .timeout(200, TimeUnit.MILLISECONDS)
+>              .build())
+>         .subscribe();
+> ```
+> The default batch receive policy is:
+> ```java
+> BatchReceivePolicy.builder()
+>     .maxNumMessage(-1)
+>     .maxNumBytes(10 * 1024 * 1024)
+>     .timeout(100, TimeUnit.MILLISECONDS)
+>     .build();
+> ```
+
+### Multi-topic subscriptions
+
+In addition to subscribing a consumer to a single Pulsar topic, you can also subscribe to multiple topics simultaneously using [multi-topic subscriptions](concepts-messaging.md#multi-topic-subscriptions). To use multi-topic subscriptions you can supply either a regular expression (regex) or a `List` of topics. If you select topics via regex, all topics must be within the same Pulsar namespace.
+
+The followings are some examples.
+
+```java
+import org.apache.pulsar.client.api.Consumer;
+import org.apache.pulsar.client.api.PulsarClient;
+
+import java.util.Arrays;
+import java.util.List;
+import java.util.regex.Pattern;
+
+ConsumerBuilder consumerBuilder = pulsarClient.newConsumer()
+        .subscriptionName(subscription);
+
+// Subscribe to all topics in a namespace
+Pattern allTopicsInNamespace = Pattern.compile("persistent://public/default/.*");
+Consumer allTopicsConsumer = consumerBuilder
+        .topicsPattern(allTopicsInNamespace)
+        .subscribe();
+
+// Subscribe to a subsets of topics in a namespace, based on regex
+Pattern someTopicsInNamespace = Pattern.compile("persistent://public/default/foo.*");
+Consumer allTopicsConsumer = consumerBuilder
+        .topicsPattern(someTopicsInNamespace)
+        .subscribe();
+```
+
+You can also subscribe to an explicit list of topics (across namespaces if you wish):
+
+```java
+List<String> topics = Arrays.asList(
+        "topic-1",
+        "topic-2",
+        "topic-3"
+);
+
+Consumer multiTopicConsumer = consumerBuilder
+        .topics(topics)
+        .subscribe();
+
+// Alternatively:
+Consumer multiTopicConsumer = consumerBuilder
+        .topics(
+            "topic-1",
+            "topic-2",
+            "topic-3"
+        )
+        .subscribe();
+```
+
+You can also subscribe to multiple topics asynchronously using the `subscribeAsync` method rather than the synchronous `subscribe` method. The following is an example.
+
+```java
+Pattern allTopicsInNamespace = Pattern.compile("persistent://public/default.*");
+consumerBuilder
+        .topics(topics)
+        .subscribeAsync()
+        .thenAccept(this::receiveMessageFromConsumer);
+
+private void receiveMessageFromConsumer(Consumer consumer) {
+    consumer.receiveAsync().thenAccept(message -> {
+                // Do something with the received message
+                receiveMessageFromConsumer(consumer);
+            });
+}
+```
+
+### Subscription modes
+
+Pulsar has various [subscription modes](concepts-messaging#subscription-modes) to match different scenarios. A topic can have multiple subscriptions with different subscription modes. However, a subscription can only have one subscription mode at a time.
+
+A subscription is identical with the subscription name which can specify only one subscription mode at a time. You cannot change the subscription mode unless all existing consumers of this subscription are offline.
+
+Different subscription modes have different message distribution modes. This section describes the differences of subscription modes and how to use them.
+
+In order to better describe their differences, assuming you have a topic named "my-topic", and the producer has published 10 messages.
+
+```java
+Producer<String> producer = client.newProducer(Schema.STRING)
+        .topic("my-topic")
+        .enableBatching(false)
+        .create();
+// 3 messages with "key-1", 3 messages with "key-2", 2 messages with "key-3" and 2 messages with "key-4"
+producer.newMessage().key("key-1").value("message-1-1").send();
+producer.newMessage().key("key-1").value("message-1-2").send();
+producer.newMessage().key("key-1").value("message-1-3").send();
+producer.newMessage().key("key-2").value("message-2-1").send();
+producer.newMessage().key("key-2").value("message-2-2").send();
+producer.newMessage().key("key-2").value("message-2-3").send();
+producer.newMessage().key("key-3").value("message-3-1").send();
+producer.newMessage().key("key-3").value("message-3-2").send();
+producer.newMessage().key("key-4").value("message-4-1").send();
+producer.newMessage().key("key-4").value("message-4-2").send();
+```
+
+#### Exclusive
+
+Create a new consumer and subscribe with the `Exclusive` subscription mode.
+
+```java
+Consumer consumer = client.newConsumer()
+        .topic("my-topic")
+        .subscriptionName("my-subscription")
+        .subscriptionType(SubscriptionType.Exclusive)
+        .subscribe()
+```
+
+Only the first consumer is allowed to the subscription, other consumers receive an error. The first consumer receives all 10 messages, and the consuming order is the same as the producing order.
+
+> Note:
+>
+> If topic is a partitioned topic, the first consumer subscribes to all partitioned topics, other consumers are not assigned with partitions and receive an error. 
+
+#### Failover
+
+Create new consumers and subscribe with the`Failover` subscription mode.
+
+```java
+Consumer consumer1 = client.newConsumer()
+        .topic("my-topic")
+        .subscriptionName("my-subscription")
+        .subscriptionType(SubscriptionType.Failover)
+        .subscribe()
+Consumer consumer2 = client.newConsumer()
+        .topic("my-topic")
+        .subscriptionName("my-subscription")
+        .subscriptionType(SubscriptionType.Failover)
+        .subscribe()
+//conumser1 is the active consumer, consumer2 is the standby consumer.
+//consumer1 receives 5 messages and then crashes, consumer2 takes over as an  active consumer.
+
+  
+```
+
+Multiple consumers can attach to the same subscription, yet only the first consumer is active, and others are standby. When the active consumer is disconnected, messages will be dispatched to one of standby consumers, and the standby consumer then becomes active consumer. 
+
+If the first active consumer is disconnected after receiving 5 messages, the standby consumer becomes active consumer. Consumer1 will receive:
+
+```
+("key-1", "message-1-1")
+("key-1", "message-1-2")
+("key-1", "message-1-3")
+("key-2", "message-2-1")
+("key-2", "message-2-2")
+```
+
+consumer2 will receive:
+
+```
+("key-2", "message-2-3")
+("key-3", "message-3-1")
+("key-3", "message-3-2")
+("key-4", "message-4-1")
+("key-4", "message-4-2")
+```
+
+> Note:
+>
+> If a topic is a partitioned topic, each partition has only one active consumer, messages of one partition are distributed to only one consumer, and messages of multiple partitions are distributed to multiple consumers. 
+
+#### Shared
+
+Create new consumers and subscribe with `Shared` subscription mode:
+
+```java
+Consumer consumer1 = client.newConsumer()
+        .topic("my-topic")
+        .subscriptionName("my-subscription")
+        .subscriptionType(SubscriptionType.Shared)
+        .subscribe()
+  
+Consumer consumer2 = client.newConsumer()
+        .topic("my-topic")
+        .subscriptionName("my-subscription")
+        .subscriptionType(SubscriptionType.Shared)
+        .subscribe()
+//Both consumer1 and consumer 2 is active consumers.
+```
+
+In shared subscription mode, multiple consumers can attach to the same subscription and messages are delivered in a round robin distribution across consumers.
+
+If a broker dispatches only one message at a time, consumer1 receives the following information.
+
+```
+("key-1", "message-1-1")
+("key-1", "message-1-3")
+("key-2", "message-2-2")
+("key-3", "message-3-1")
+("key-4", "message-4-1")
+```
+
+consumer2 receives the follwoing information.
+
+```
+("key-1", "message-1-2")
+("key-2", "message-2-1")
+("key-2", "message-2-3")
+("key-3", "message-3-2")
+("key-4", "message-4-2")
+```
+
+`Shared` subscription is different from `Exclusive` and `Failover` subscription modes. `Shared` subscription has better flexibility, but cannot provide order guarantee.
+
+#### Key_shared
+
+This is a new subscription mode since 2.4.0 release, create new consumers and subscribe with `Key_Shared` subscription mode.
+
+```java
+Consumer consumer1 = client.newConsumer()
+        .topic("my-topic")
+        .subscriptionName("my-subscription")
+        .subscriptionType(SubscriptionType.Key_Shared)
+        .subscribe()
+  
+Consumer consumer2 = client.newConsumer()
+        .topic("my-topic")
+        .subscriptionName("my-subscription")
+        .subscriptionType(SubscriptionType.Key_Shared)
+        .subscribe()
+//Both consumer1 and consumer2 are active consumers.
+```
+
+`Key_Shared` subscription is like `Shared` subscription, all consumers can attach to the same subscription. But it is different from `Key_Shared` subscription, messages with the same key are delivered to only one consumer in order. The possible distribution of messages between different consumers (by default we do not know in advance which keys will be assigned to a consumer, but a key will only be assigned to a consumer at the same time).
+
+consumer1 receives the follwoing information.
+
+```
+("key-1", "message-1-1")
+("key-1", "message-1-2")
+("key-1", "message-1-3")
+("key-3", "message-3-1")
+("key-3", "message-3-2")
+```
+
+consumer2 receives the follwoing information.
+
+```
+("key-2", "message-2-1")
+("key-2", "message-2-2")
+("key-2", "message-2-3")
+("key-4", "message-4-1")
+("key-4", "message-4-2")
+```
+
+If batching is enabled at the producer side, messages with different keys are added to a batch by default. The broker will dispatch the batch to the consumer, so the default batch mechanism may break the Key_Shared subscription guaranteed message distribution semantics. The producer needs to use the `KeyBasedBatcher`.
+
+```java
+Producer producer = client.newProducer()
+        .topic("my-topic")
+        .batcherBuilder(BatcherBuilder.KEY_BASED)
+        .create();
+```
+Or the producer can disable batching.
+
+```java
+Producer producer = client.newProducer()
+        .topic("my-topic")
+        .enableBatching(false)
+        .create();
+```
+> Note:
+>
+> If the message key is not specified, messages without key are dispatched to one consumer in order by default.
+
+## Reader 
+
+With the [reader interface](concepts-clients.md#reader-interface), Pulsar clients can "manually position" themselves within a topic and reading all messages from a specified message onward. The Pulsar API for Java enables you to create {@inject: javadoc:Reader:/client/org/apache/pulsar/client/api/Reader} objects by specifying a topic, a {@inject: javadoc:MessageId:/client/org/apache/pulsar/client/api/MessageId}, and {@inject: javadoc:ReaderConfiguration:/client/org/apache/pulsar/client/a [...]
+
+The following is an example.
+
+```java
+ReaderConfiguration conf = new ReaderConfiguration();
+byte[] msgIdBytes = // Some message ID byte array
+MessageId id = MessageId.fromByteArray(msgIdBytes);
+Reader reader = pulsarClient.newReader()
+        .topic(topic)
+        .startMessageId(id)
+        .create();
+
+while (true) {
+    Message message = reader.readNext();
+    // Process message
+}
+```
+
+In the example above, a `Reader` object is instantiated for a specific topic and message (by ID); the reader iterates over each message in the topic after the message is identified by `msgIdBytes` (how that value is obtained depends on the application).
+
+The code sample above shows pointing the `Reader` object to a specific message (by ID), but you can also use `MessageId.earliest` to point to the earliest available message on the topic of `MessageId.latest` to point to the most recent available message.
+
+When you create a reader, you can use the `loadConf` configuration. The following parameters are available in `loadConf`.
+
+| Type | Name | <div style="width:300px">Description</div> | Default
+|---|---|---|---
+String|`topicName`|Topic name. |None
+int|`receiverQueueSize`|Size of a consumer's receiver queue.<br/><br/>For example, the number of messages that can be accumulated by a consumer before an application calls `Receive`.<br/><br/>A value higher than the default value increases consumer throughput, though at the expense of more memory utilization.|1000
+ReaderListener&lt;T&gt;|`readerListener`|A listener that is called for message received.|None
+String|`readerName`|Read name.|null
+String|`subscriptionRolePrefix`|Prefix of subscription role. |null
+CryptoKeyReader|`cryptoKeyReader`|Interface that abstracts the access to a key store.|null
+ConsumerCryptoFailureAction|`cryptoFailureAction`|Consumer should take action when it receives a message that can not be decrypted.<br/><br/><li>**FAIL**: this is the default option to fail messages until crypto succeeds.</li><br/><li> **DISCARD**: silently acknowledge and not deliver message to an application.</li><br/><li>**CONSUME**: deliver encrypted messages to applications. It is the application's responsibility to decrypt the message.<br/><br/>The message decompression fails. <br/ [...]
+boolean|`readCompacted`|If enabling `readCompacted`, a consumer reads messages from a compacted topic rather than a full message backlog of a topic.<br/><br/> A consumer only sees the latest value for each key in the compacted topic, up until reaching the point in the topic message when compacting backlog. Beyond that point, send messages as normal.<br/><br/>`readCompacted` can only be enabled on subscriptions to persistent topics, which have a single active consumer (for example, failur [...]
+boolean|`resetIncludeHead`|If set to true, the first message to be returned is the one specified by `messageId`.<br/><br/>If set to false, the first message to be returned is the one next to the message specified by `messageId`.|false
+
+### Sticky key range reader
+
+In sticky key range reader, broker will only dispatch messages which hash of the message key contains by the specified key hash range. Multiple key hash ranges can be specified on a reader.
+
+The following is an example to create a sticky key range reader.
+
+```java
+pulsarClient.newReader()
+        .topic(topic)
+        .startMessageId(MessageId.earliest)
+        .keyHashRange(Range.of(0, 10000), Range.of(20001, 30000))
+        .create();
+```
+
+Total hash range size is 65536, so the max end of the range should be less than or equal to 65535.
+
+## Schema
+
+In Pulsar, all message data consists of byte arrays "under the hood." [Message schemas](schema-get-started.md) enable you to use other types of data when constructing and handling messages (from simple types like strings to more complex, application-specific types). If you construct, say, a [producer](#producers) without specifying a schema, then the producer can only produce messages of type `byte[]`. The following is an example.
+
+```java
+Producer<byte[]> producer = client.newProducer()
+        .topic(topic)
+        .create();
+```
+
+The producer above is equivalent to a `Producer<byte[]>` (in fact, you should *always* explicitly specify the type). If you'd like to use a producer for a different type of data, you'll need to specify a **schema** that informs Pulsar which data type will be transmitted over the [topic](reference-terminology.md#topic).
+
+### Schema example
+
+Let's say that you have a `SensorReading` class that you'd like to transmit over a Pulsar topic:
+
+```java
+public class SensorReading {
+    public float temperature;
+
+    public SensorReading(float temperature) {
+        this.temperature = temperature;
+    }
+
+    // A no-arg constructor is required
+    public SensorReading() {
+    }
+
+    public float getTemperature() {
+        return temperature;
+    }
+
+    public void setTemperature(float temperature) {
+        this.temperature = temperature;
+    }
+}
+```
+
+You could then create a `Producer<SensorReading>` (or `Consumer<SensorReading>`) like this:
+
+```java
+Producer<SensorReading> producer = client.newProducer(JSONSchema.of(SensorReading.class))
+        .topic("sensor-readings")
+        .create();
+```
+
+The following schema formats are currently available for Java:
+
+* No schema or the byte array schema (which can be applied using `Schema.BYTES`):
+
+  ```java
+  Producer<byte[]> bytesProducer = client.newProducer(Schema.BYTES)
+        .topic("some-raw-bytes-topic")
+        .create();
+  ```
+
+  Or, equivalently:
+
+  ```java
+  Producer<byte[]> bytesProducer = client.newProducer()
+        .topic("some-raw-bytes-topic")
+        .create();
+  ```
+
+* `String` for normal UTF-8-encoded string data. Apply the schema using `Schema.STRING`:
+
+  ```java
+  Producer<String> stringProducer = client.newProducer(Schema.STRING)
+        .topic("some-string-topic")
+        .create();
+  ```
+
+* Create JSON schemas for POJOs using `Schema.JSON`. The following is an example.
+
+  ```java
+  Producer<MyPojo> pojoProducer = client.newProducer(Schema.JSON(MyPojo.class))
+        .topic("some-pojo-topic")
+        .create();
+  ```
+
+* Generate Protobuf schemas using `Schema.PROTOBUF`. The following example shows how to create the Protobuf schema and use it to instantiate a new producer:
+
+  ```java
+  Producer<MyProtobuf> protobufProducer = client.newProducer(Schema.PROTOBUF(MyProtobuf.class))
+        .topic("some-protobuf-topic")
+        .create();
+  ```
+
+* Define Avro schemas with `Schema.AVRO`. The following code snippet demonstrates how to create and use Avro schema.
+  
+  ```java
+  Producer<MyAvro> avroProducer = client.newProducer(Schema.AVRO(MyAvro.class))
+        .topic("some-avro-topic")
+        .create();
+  ```
+
+## Authentication
+
+Pulsar currently supports three authentication schemes: [TLS](security-tls-authentication.md), [Athenz](security-athenz.md), and [Oauth2](security-oauth2.md). You can use the Pulsar Java client with all of them.
+
+### TLS Authentication
+
+To use [TLS](security-tls-authentication.md), you need to set TLS to `true` using the `setUseTls` method, point your Pulsar client to a TLS cert path, and provide paths to cert and key files.
+
+The following is an example.
+
+```java
+Map<String, String> authParams = new HashMap<>();
+authParams.put("tlsCertFile", "/path/to/client-cert.pem");
+authParams.put("tlsKeyFile", "/path/to/client-key.pem");
+
+Authentication tlsAuth = AuthenticationFactory
+        .create(AuthenticationTls.class.getName(), authParams);
+
+PulsarClient client = PulsarClient.builder()
+        .serviceUrl("pulsar+ssl://my-broker.com:6651")
+        .enableTls(true)
+        .tlsTrustCertsFilePath("/path/to/cacert.pem")
+        .authentication(tlsAuth)
+        .build();
+```
+
+### Athenz
+
+To use [Athenz](security-athenz.md) as an authentication provider, you need to [use TLS](#tls-authentication) and provide values for four parameters in a hash:
+
+* `tenantDomain`
+* `tenantService`
+* `providerDomain`
+* `privateKey`
+
+You can also set an optional `keyId`. The following is an example.
+
+```java
+Map<String, String> authParams = new HashMap<>();
+authParams.put("tenantDomain", "shopping"); // Tenant domain name
+authParams.put("tenantService", "some_app"); // Tenant service name
+authParams.put("providerDomain", "pulsar"); // Provider domain name
+authParams.put("privateKey", "file:///path/to/private.pem"); // Tenant private key path
+authParams.put("keyId", "v1"); // Key id for the tenant private key (optional, default: "0")
+
+Authentication athenzAuth = AuthenticationFactory
+        .create(AuthenticationAthenz.class.getName(), authParams);
+
+PulsarClient client = PulsarClient.builder()
+        .serviceUrl("pulsar+ssl://my-broker.com:6651")
+        .enableTls(true)
+        .tlsTrustCertsFilePath("/path/to/cacert.pem")
+        .authentication(athenzAuth)
+        .build();
+```
+
+> #### Supported pattern formats
+> The `privateKey` parameter supports the following three pattern formats:
+> * `file:///path/to/file`
+> * `file:/path/to/file`
+> * `data:application/x-pem-file;base64,<base64-encoded value>`
+
+### Oauth2
+
+The following example shows how to use [Oauth2](security-oauth2.md) as an authentication provider for the Pulsar Java client.
+
+You can use the factory method to configure authentication for Pulsar Java client.
+
+```java
+PulsarClient client = PulsarClient.builder()
+    .serviceUrl("pulsar://broker.example.com:6650/")
+    .authentication(
+        AuthenticationFactoryOAuth2.clientCredentials(this.issuerUrl, this.credentialsUrl, this.audience))
+    .build();
+```
+
+In addition, you can also use the encoded parameters to configure authentication for Pulsar Java client.
+
+```java
+Authentication auth = AuthenticationFactory
+    .create(AuthenticationOAuth2.class.getName(), "{"type":"client_credentials","privateKey":"...","issuerUrl":"...","audience":"..."}");
+PulsarClient client = PulsarClient.builder()
+    .serviceUrl("pulsar://broker.example.com:6650/")
+    .authentication(auth)
+    .build();
+```
\ No newline at end of file
diff --git a/site2/website-next/docsify/2.6.0/config/README.md b/site2/website-next/docsify/2.6.0/config/README.md
new file mode 100644
index 00000000000..889b0f555a3
--- /dev/null
+++ b/site2/website-next/docsify/2.6.0/config/README.md
@@ -0,0 +1 @@
+> Docs for Pulsar Configuration.
diff --git a/site2/website-next/docsify/2.6.0/config/_sidebar.md b/site2/website-next/docsify/2.6.0/config/_sidebar.md
new file mode 100644
index 00000000000..b9053bef529
--- /dev/null
+++ b/site2/website-next/docsify/2.6.0/config/_sidebar.md
@@ -0,0 +1 @@
+- [Configuration](config/reference-configuration)
diff --git a/site2/website-next/docsify/2.6.0/config/reference-configuration.md b/site2/website-next/docsify/2.6.0/config/reference-configuration.md
new file mode 100644
index 00000000000..778488554e6
--- /dev/null
+++ b/site2/website-next/docsify/2.6.0/config/reference-configuration.md
@@ -0,0 +1,548 @@
+---
+id: reference-configuration
+title: Pulsar configuration
+sidebar_label: Pulsar configuration
+---
+
+<style type="text/css">
+  table{
+    font-size: 80%;
+  }
+</style>
+
+
+Pulsar configuration can be managed via a series of configuration files contained in the [`conf`](https://github.com/apache/pulsar/tree/master/conf) directory of a Pulsar [installation](getting-started-standalone.md)
+
+- [BookKeeper](#bookkeeper)
+- [Broker](#broker)
+- [Client](#client)
+- [Service discovery](#service-discovery)
+- [Log4j](#log4j)
+- [Log4j shell](#log4j-shell)
+- [Standalone](#standalone)
+- [WebSocket](#websocket)
+- [Pulsar proxy](#pulsar-proxy)
+- [ZooKeeper](#zookeeper)
+
+## BookKeeper
+
+BookKeeper is a replicated log storage system that Pulsar uses for durable storage of all messages.
+
+
+|Name|Description|Default|
+|---|---|---|
+|bookiePort|The port on which the bookie server listens.|3181|
+|allowLoopback|Whether the bookie is allowed to use a loopback interface as its primary interface (i.e. the interface used to establish its identity). By default, loopback interfaces are not allowed as the primary interface. Using a loopback interface as the primary interface usually indicates a configuration error. For example, it’s fairly common in some VPS setups to not configure a hostname or to have the hostname resolve to `127.0.0.1`. If this is the case, then all bookies in the cl [...]
+|listeningInterface|The network interface on which the bookie listens. If not set, the bookie will listen on all interfaces.|eth0|
+|journalDirectory|The directory where Bookkeeper outputs its write-ahead log (WAL)|data/bookkeeper/journal|
+|ledgerDirectories|The directory where Bookkeeper outputs ledger snapshots. This could define multiple directories to store snapshots separated by comma, for example `ledgerDirectories=/tmp/bk1-data,/tmp/bk2-data`. Ideally, ledger dirs and the journal dir are each in a different device, which reduces the contention between random I/O and sequential write. It is possible to run with a single disk, but performance will be significantly lower.|data/bookkeeper/ledgers|
+|ledgerManagerType|The type of ledger manager used to manage how ledgers are stored, managed, and garbage collected. See [BookKeeper Internals](http://bookkeeper.apache.org/docs/latest/getting-started/concepts) for more info.|hierarchical|
+|zkLedgersRootPath|The root ZooKeeper path used to store ledger metadata. This parameter is used by the ZooKeeper-based ledger manager as a root znode to store all ledgers.|/ledgers|
+|ledgerStorageClass|Ledger storage implementation class|org.apache.bookkeeper.bookie.storage.ldb.DbLedgerStorage|
+|entryLogFilePreallocationEnabled|Enable or disable entry logger preallocation|true|
+|logSizeLimit|Max file size of the entry logger, in bytes. A new entry log file will be created when the old one reaches the file size limitation.|2147483648|
+|minorCompactionThreshold|Threshold of minor compaction. Entry log files whose remaining size percentage reaches below this threshold will be compacted in a minor compaction. If set to less than zero, the minor compaction is disabled.|0.2|
+|minorCompactionInterval|Time interval to run minor compaction, in seconds. If set to less than zero, the minor compaction is disabled.|3600|
+|majorCompactionThreshold|The threshold of major compaction. Entry log files whose remaining size percentage reaches below this threshold will be compacted in a major compaction. Those entry log files whose remaining size percentage is still higher than the threshold will never be compacted. If set to less than zero, the minor compaction is disabled.|0.5|
+|majorCompactionInterval|The time interval to run major compaction, in seconds. If set to less than zero, the major compaction is disabled.|86400|
+|compactionMaxOutstandingRequests|Sets the maximum number of entries that can be compacted without flushing. When compacting, the entries are written to the entrylog and the new offsets are cached in memory. Once the entrylog is flushed the index is updated with the new offsets. This parameter controls the number of entries added to the entrylog before a flush is forced. A higher value for this parameter means more memory will be used for offsets. Each offset consists of 3 longs. This pa [...]
+|compactionRate|The rate at which compaction will read entries, in adds per second.|1000|
+|isThrottleByBytes|Throttle compaction by bytes or by entries.|false|
+|compactionRateByEntries|The rate at which compaction will read entries, in adds per second.|1000|
+|compactionRateByBytes|Set the rate at which compaction will readd entries. The unit is bytes added per second.|1000000|
+|journalMaxSizeMB|Max file size of journal file, in megabytes. A new journal file will be created when the old one reaches the file size limitation.|2048|
+|journalMaxBackups|The max number of old journal filse to keep. Keeping a number of old journal files would help data recovery in special cases.|5|
+|journalPreAllocSizeMB|How space to pre-allocate at a time in the journal.|16|
+|journalWriteBufferSizeKB|The of the write buffers used for the journal.|64|
+|journalRemoveFromPageCache|Whether pages should be removed from the page cache after force write.|true|
+|journalAdaptiveGroupWrites|Whether to group journal force writes, which optimizes group commit for higher throughput.|true|
+|journalMaxGroupWaitMSec|The maximum latency to impose on a journal write to achieve grouping.|1|
+|journalAlignmentSize|All the journal writes and commits should be aligned to given size|4096|
+|journalBufferedWritesThreshold|Maximum writes to buffer to achieve grouping|524288|
+|journalFlushWhenQueueEmpty|If we should flush the journal when journal queue is empty|false|
+|numJournalCallbackThreads|The number of threads that should handle journal callbacks|8|
+|rereplicationEntryBatchSize|The number of max entries to keep in fragment for re-replication|5000|
+|gcWaitTime|How long the interval to trigger next garbage collection, in milliseconds. Since garbage collection is running in background, too frequent gc will heart performance. It is better to give a higher number of gc interval if there is enough disk capacity.|900000|
+|gcOverreplicatedLedgerWaitTime|How long the interval to trigger next garbage collection of overreplicated ledgers, in milliseconds. This should not be run very frequently since we read the metadata for all the ledgers on the bookie from zk.|86400000|
+|flushInterval|How long the interval to flush ledger index pages to disk, in milliseconds. Flushing index files will introduce much random disk I/O. If separating journal dir and ledger dirs each on different devices, flushing would not affect performance. But if putting journal dir and ledger dirs on same device, performance degrade significantly on too frequent flushing. You can consider increment flush interval to get better performance, but you need to pay more time on bookie server  [...]
+|bookieDeathWatchInterval|Interval to watch whether bookie is dead or not, in milliseconds|1000|
+|zkServers|A list of one of more servers on which zookeeper is running. The server list can be comma separated values, for example: zkServers=zk1:2181,zk2:2181,zk3:2181.|localhost:2181|
+|zkTimeout|ZooKeeper client session timeout in milliseconds Bookie server will exit if it received SESSION_EXPIRED because it was partitioned off from ZooKeeper for more than the session timeout JVM garbage collection, disk I/O will cause SESSION_EXPIRED. Increment this value could help avoiding this issue|30000|
+|serverTcpNoDelay|This settings is used to enabled/disabled Nagle’s algorithm, which is a means of improving the efficiency of TCP/IP networks by reducing the number of packets that need to be sent over the network. If you are sending many small messages, such that more than one can fit in a single IP packet, setting server.tcpnodelay to false to enable Nagle algorithm can provide better performance.|true|
+|openFileLimit|Max number of ledger index files could be opened in bookie server If number of ledger index files reaches this limitation, bookie server started to swap some ledgers from memory to disk. Too frequent swap will affect performance. You can tune this number to gain performance according your requirements.|0|
+|pageSize|Size of a index page in ledger cache, in bytes A larger index page can improve performance writing page to disk, which is efficent when you have small number of ledgers and these ledgers have similar number of entries. If you have large number of ledgers and each ledger has fewer entries, smaller index page would improve memory usage.|8192|
+|pageLimit|How many index pages provided in ledger cache If number of index pages reaches this limitation, bookie server starts to swap some ledgers from memory to disk. You can increment this value when you found swap became more frequent. But make sure pageLimit*pageSize should not more than JVM max memory limitation, otherwise you would got OutOfMemoryException. In general, incrementing pageLimit, using smaller index page would gain bettern performance in lager number of ledgers with  [...]
+|readOnlyModeEnabled|If all ledger directories configured are full, then support only read requests for clients. If “readOnlyModeEnabled=true” then on all ledger disks full, bookie will be converted to read-only mode and serve only read requests. Otherwise the bookie will be shutdown. By default this will be disabled.|true|
+|diskUsageThreshold|For each ledger dir, maximum disk space which can be used. Default is 0.95f. i.e. 95% of disk can be used at most after which nothing will be written to that partition. If all ledger dir partions are full, then bookie will turn to readonly mode if ‘readOnlyModeEnabled=true’ is set, else it will shutdown. Valid values should be in between 0 and 1 (exclusive).|0.95|
+|diskCheckInterval|Disk check interval in milli seconds, interval to check the ledger dirs usage.|10000|
+|auditorPeriodicCheckInterval|Interval at which the auditor will do a check of all ledgers in the cluster. By default this runs once a week. The interval is set in seconds. To disable the periodic check completely, set this to 0. Note that periodic checking will put extra load on the cluster, so it should not be run more frequently than once a day.|604800|
+|auditorPeriodicBookieCheckInterval|The interval between auditor bookie checks. The auditor bookie check, checks ledger metadata to see which bookies should contain entries for each ledger. If a bookie which should contain entries is unavailable, thea the ledger containing that entry is marked for recovery. Setting this to 0 disabled the periodic check. Bookie checks will still run when a bookie fails. The interval is specified in seconds.|86400|
+|numAddWorkerThreads|number of threads that should handle write requests. if zero, the writes would be handled by netty threads directly.|0|
+|numReadWorkerThreads|number of threads that should handle read requests. if zero, the reads would be handled by netty threads directly.|8|
+|maxPendingReadRequestsPerThread|If read workers threads are enabled, limit the number of pending requests, to avoid the executor queue to grow indefinitely.|2500|
+|readBufferSizeBytes|The number of bytes we should use as capacity for BufferedReadChannel.|4096|
+|writeBufferSizeBytes|The number of bytes used as capacity for the write buffer|65536|
+|useHostNameAsBookieID|Whether the bookie should use its hostname to register with the coordination service (e.g.: zookeeper service). When false, bookie will use its ipaddress for the registration.|false|
+|statsProviderClass||org.apache.bookkeeper.stats.prometheus.PrometheusMetricsProvider|
+|prometheusStatsHttpPort||8000|
+|dbStorage_writeCacheMaxSizeMb|Size of Write Cache. Memory is allocated from JVM direct memory. Write cache is used to buffer entries before flushing into the entry log For good performance, it should be big enough to hold a sub|25% of direct memory|
+|dbStorage_readAheadCacheMaxSizeMb|Size of Read cache. Memory is allocated from JVM direct memory. This read cache is pre-filled doing read-ahead whenever a cache miss happens|25% of direct memory|
+|dbStorage_readAheadCacheBatchSize|How many entries to pre-fill in cache after a read cache miss|1000|
+|dbStorage_rocksDB_blockCacheSize|Size of RocksDB block-cache. For best performance, this cache should be big enough to hold a significant portion of the index database which can reach ~2GB in some cases|10% of direct memory|
+|dbStorage_rocksDB_writeBufferSizeMB||64|
+|dbStorage_rocksDB_sstSizeInMB||64|
+|dbStorage_rocksDB_blockSize||65536|
+|dbStorage_rocksDB_bloomFilterBitsPerKey||10|
+|dbStorage_rocksDB_numLevels||-1|
+|dbStorage_rocksDB_numFilesInLevel0||4|
+|dbStorage_rocksDB_maxSizeInLevel1MB||256|
+| nettyMaxFrameSizeBytes | Set the maximum netty frame size in bytes. If the size of a received message is larger than the configured value, the message is rejected. | 1 GB |
+
+
+## Broker
+
+Pulsar brokers are responsible for handling incoming messages from producers, dispatching messages to consumers, replicating data between clusters, and more.
+
+|Name|Description|Default|
+|---|---|---|
+|enablePersistentTopics|  Whether persistent topics are enabled on the broker |true|
+|enableNonPersistentTopics| Whether non-persistent topics are enabled on the broker |true|
+|functionsWorkerEnabled|  Whether the Pulsar Functions worker service is enabled in the broker  |false|
+|zookeeperServers|  Zookeeper quorum connection string  ||
+|zooKeeperCacheExpirySeconds|ZooKeeper cache expiry time in seconds|300
+|configurationStoreServers| Configuration store connection string (as a comma-separated list) ||
+|brokerServicePort| Broker data port  |6650|
+|brokerServicePortTls|  Broker data port for TLS  |6651|
+|webServicePort|  Port to use to server HTTP request  |8080|
+|webServicePortTls| Port to use to server HTTPS request |8443|
+|webSocketServiceEnabled| Enable the WebSocket API service in broker  |false|
+|bindAddress| Hostname or IP address the service binds on, default is 0.0.0.0.  |0.0.0.0|
+|advertisedAddress| Hostname or IP address the service advertises to the outside world. If not set, the value of `InetAddress.getLocalHost().getHostName()` is used.  ||
+|clusterName| Name of the cluster to which this broker belongs to ||
+|brokerDeduplicationEnabled|  Sets the default behavior for message deduplication in the broker. If enabled, the broker will reject messages that were already stored in the topic. This setting can be overridden on a per-namespace basis.  |false|
+|brokerDeduplicationMaxNumberOfProducers| The maximum number of producers for which information will be stored for deduplication purposes.  |10000|
+|brokerDeduplicationEntriesInterval|  The number of entries after which a deduplication informational snapshot is taken. A larger interval will lead to fewer snapshots being taken, though this would also lengthen the topic recovery time (the time required for entries published after the snapshot to be replayed). |1000|
+|brokerDeduplicationProducerInactivityTimeoutMinutes| The time of inactivity (in minutes) after which the broker will discard deduplication information related to a disconnected producer. |360|
+|dispatchThrottlingRatePerReplicatorInMsg| The default messages per second dispatch throttling-limit for every replicator in replication. The value of `0` means disabling replication message dispatch-throttling| 0 |
+|dispatchThrottlingRatePerReplicatorInByte| The default bytes per second dispatch throttling-limit for every replicator in replication. The value of `0` means disabling replication message-byte dispatch-throttling| 0 | 
+|zooKeeperSessionTimeoutMillis| Zookeeper session timeout in milliseconds |30000|
+|brokerShutdownTimeoutMs| Time to wait for broker graceful shutdown. After this time elapses, the process will be killed  |60000|
+|skipBrokerShutdownOnOOM| Flag to skip broker shutdown when broker handles Out of memory error. |false|
+|backlogQuotaCheckEnabled|  Enable backlog quota check. Enforces action on topic when the quota is reached  |true|
+|backlogQuotaCheckIntervalInSeconds|  How often to check for topics that have reached the quota |60|
+|backlogQuotaDefaultLimitGB| The default per-topic backlog quota limit | -1 |
+|allowAutoTopicCreation| Enable topic auto creation if a new producer or consumer connected |true|
+|allowAutoTopicCreationType| The topic type (partitioned or non-partitioned) that is allowed to be automatically created. |Partitioned|
+|allowAutoSubscriptionCreation| Enable subscription auto creation if a new consumer connected |true|
+|defaultNumPartitions| The number of partitioned topics that is allowed to be automatically created if `allowAutoTopicCreationType` is partitioned |1|
+|brokerDeleteInactiveTopicsEnabled| Enable the deletion of inactive topics  |true|
+|brokerDeleteInactiveTopicsFrequencySeconds|  How often to check for inactive topics  |60|
+| brokerDeleteInactiveTopicsMode | Set the mode to delete inactive topics. <li> `delete_when_no_subscriptions`: delete the topic which has no subscriptions or active producers. <li> `delete_when_subscriptions_caught_up`: delete the topic whose subscriptions have no backlogs and which has no active producers or consumers. | `delete_when_no_subscriptions` |
+| brokerDeleteInactiveTopicsMaxInactiveDurationSeconds | Set the maximum duration for inactive topics. If it is not specified, the `brokerDeleteInactiveTopicsFrequencySeconds` parameter is adopted. | N/A |
+|messageExpiryCheckIntervalInMinutes| How frequently to proactively check and purge expired messages  |5|
+|brokerServiceCompactionMonitorIntervalInSeconds| Interval between checks to see if topics with compaction policies need to be compacted  |60|
+|activeConsumerFailoverDelayTimeMillis| How long to delay rewinding cursor and dispatching messages when active consumer is changed.  |1000|
+|clientLibraryVersionCheckEnabled|  Enable check for minimum allowed client library version |false|
+|clientLibraryVersionCheckAllowUnversioned| Allow client libraries with no version information  |true|
+|statusFilePath|  Path for the file used to determine the rotation status for the broker when responding to service discovery health checks ||
+|preferLaterVersions| If true, (and ModularLoadManagerImpl is being used), the load manager will attempt to use only brokers running the latest software version (to minimize impact to bundles)  |false|
+|maxNumPartitionsPerPartitionedTopic|Max number of partitions per partitioned topic. Use 0 or negative number to disable the check|0|
+|tlsEnabled|  Enable TLS  |false|
+|tlsCertificateFilePath|  Path for the TLS certificate file ||
+|tlsKeyFilePath|  Path for the TLS private key file ||
+|tlsTrustCertsFilePath| Path for the trusted TLS certificate file ||
+|tlsAllowInsecureConnection|  Accept untrusted TLS certificate from client  |false|
+|tlsProtocols|Specify the tls protocols the broker will use to negotiate during TLS Handshake. Multiple values can be specified, separated by commas. Example:- ```TLSv1.2```, ```TLSv1.1```, ```TLSv1``` ||
+|tlsCiphers|Specify the tls cipher the broker will use to negotiate during TLS Handshake. Multiple values can be specified, separated by commas. Example:- ```TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256```||
+|tlsEnabledWithKeyStore| Enable TLS with KeyStore type configuration in broker |false|
+|tlsProvider| TLS Provider for KeyStore type ||
+|tlsKeyStoreType| LS KeyStore type configuration in broker: JKS, PKCS12 |JKS|
+|tlsKeyStore| TLS KeyStore path in broker ||
+|tlsKeyStorePassword| TLS KeyStore password for broker ||
+|brokerClientTlsEnabledWithKeyStore| Whether internal client use KeyStore type to authenticate with Pulsar brokers |false|
+|brokerClientSslProvider| The TLS Provider used by internal client to authenticate with other Pulsar brokers ||
+|brokerClientTlsTrustStoreType| TLS TrustStore type configuration for internal client: JKS, PKCS12, used by the internal client to authenticate with Pulsar brokers |JKS|
+|brokerClientTlsTrustStore| TLS TrustStore path for internal client, used by the internal client to authenticate with Pulsar brokers ||
+|brokerClientTlsTrustStorePassword| TLS TrustStore password for internal client, used by the internal client to authenticate with Pulsar brokers ||
+|brokerClientTlsCiphers| Specify the tls cipher the internal client will use to negotiate during TLS Handshake. (a comma-separated list of ciphers) e.g.  [TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256]||
+|brokerClientTlsProtocols|Specify the tls protocols the broker will use to negotiate during TLS handshake. (a comma-separated list of protocol names). e.g.  [TLSv1.2, TLSv1.1, TLSv1] ||
+|ttlDurationDefaultInSeconds|  The default ttl for namespaces if ttl is not configured at namespace policies.  |0|
+|tokenSecretKey| Configure the secret key to be used to validate auth tokens. The key can be specified like: `tokenSecretKey=data:;base64,xxxxxxxxx` or `tokenSecretKey=file:///my/secret.key`||
+|tokenPublicKey| Configure the public key to be used to validate auth tokens. The key can be specified like: `tokenPublicKey=data:;base64,xxxxxxxxx` or `tokenPublicKey=file:///my/secret.key`||
+|tokenPublicAlg| Configure the algorithm to be used to validate auth tokens. This can be any of the asymettric algorithms supported by Java JWT (https://github.com/jwtk/jjwt#signature-algorithms-keys) |RS256|
+|tokenAuthClaim| Specify which of the token's claims will be used as the authentication "principal" or "role". The default "sub" claim will be used if this is left blank ||
+|tokenAudienceClaim| The token audience "claim" name, e.g. "aud", that will be used to get the audience from token. If not set, audience will not be verified. ||
+|tokenAudience| The token audience stands for this broker. The field `tokenAudienceClaim` of a valid token, need contains this. ||
+|maxUnackedMessagesPerConsumer| Max number of unacknowledged messages allowed to receive messages by a consumer on a shared subscription. Broker will stop sending messages to consumer once, this limit reaches until consumer starts acknowledging messages back. Using a value of 0, is disabling unackeMessage limit check and consumer can receive messages without any restriction  |50000|
+|maxUnackedMessagesPerSubscription| Max number of unacknowledged messages allowed per shared subscription. Broker will stop dispatching messages to all consumers of the subscription once this limit reaches until consumer starts acknowledging messages back and unack count reaches to limit/2. Using a value of 0, is disabling unackedMessage-limit check and dispatcher can dispatch messages without any restriction  |200000|
+|subscriptionRedeliveryTrackerEnabled| Enable subscription message redelivery tracker |true|
+subscriptionExpirationTimeMinutes | How long to delete inactive subscriptions from last consuming. <br/><br/>Setting this configuration to a value **greater than 0** deletes inactive subscriptions automatically.<br/>Setting this configuration to **0** does not delete inactive subscriptions automatically. <br/><br/> Since this configuration takes effect on all topics, if there is even one topic whose subscriptions should not be deleted automatically, you need to set it to 0. <br/>Instead, [...]
+|maxConcurrentLookupRequest|  Max number of concurrent lookup request broker allows to throttle heavy incoming lookup traffic |50000|
+|maxConcurrentTopicLoadRequest| Max number of concurrent topic loading request broker allows to control number of zk-operations |5000|
+|authenticationEnabled| Enable authentication |false|
+|authenticationProviders| Autentication provider name list, which is comma separated list of class names  ||
+|authorizationEnabled|  Enforce authorization |false|
+|superUserRoles|  Role names that are treated as “super-user”, meaning they will be able to do all admin operations and publish/consume from all topics ||
+|brokerClientAuthenticationPlugin|  Authentication settings of the broker itself. Used when the broker connects to other brokers, either in same or other clusters  ||
+|brokerClientAuthenticationParameters|||
+|athenzDomainNames| Supported Athenz provider domain names(comma separated) for authentication  ||
+|exposePreciseBacklogInPrometheus| Enable expose the precise backlog stats, set false to use published counter and consumed counter to calculate, this would be more efficient but may be inaccurate. |false|
+|bookkeeperMetadataServiceUri| Metadata service uri that bookkeeper is used for loading corresponding metadata driver and resolving its metadata service location. This value can be fetched using `bookkeeper shell whatisinstanceid` command in BookKeeper cluster. For example: zk+hierarchical://localhost:2181/ledgers. The metadata service uri list can also be semicolon separated values like below: zk+hierarchical://zk1:2181;zk2:2181;zk3:2181/ledgers ||
+|bookkeeperClientAuthenticationPlugin|  Authentication plugin to use when connecting to bookies ||
+|bookkeeperClientAuthenticationParametersName|  BookKeeper auth plugin implementatation specifics parameters name and values  ||
+|bookkeeperClientAuthenticationParameters|||
+|bookkeeperClientTimeoutInSeconds|  Timeout for BK add / read operations  |30|
+|bookkeeperClientSpeculativeReadTimeoutInMillis|  Speculative reads are initiated if a read request doesn’t complete within a certain time Using a value of 0, is disabling the speculative reads |0|
+|bookkeeperNumberOfChannelsPerBookie|  Number of channels per bookie  |16|
+|bookkeeperClientHealthCheckEnabled|  Enable bookies health check. Bookies that have more than the configured number of failure within the interval will be quarantined for some time. During this period, new ledgers won’t be created on these bookies  |true|
+|bookkeeperClientHealthCheckIntervalSeconds||60|
+|bookkeeperClientHealthCheckErrorThresholdPerInterval||5|
+|bookkeeperClientHealthCheckQuarantineTimeInSeconds ||1800|
+|bookkeeperClientRackawarePolicyEnabled|  Enable rack-aware bookie selection policy. BK will chose bookies from different racks when forming a new bookie ensemble  |true|
+|bookkeeperClientRegionawarePolicyEnabled|  Enable region-aware bookie selection policy. BK will chose bookies from different regions and racks when forming a new bookie ensemble. If enabled, the value of bookkeeperClientRackawarePolicyEnabled is ignored  |false|
+|bookkeeperClientReorderReadSequenceEnabled|  Enable/disable reordering read sequence on reading entries.  |false|
+|bookkeeperClientIsolationGroups| Enable bookie isolation by specifying a list of bookie groups to choose from. Any bookie outside the specified groups will not be used by the broker  ||
+|bookkeeperClientSecondaryIsolationGroups| Enable bookie secondary-isolation group if bookkeeperClientIsolationGroups doesn't have enough bookie available.  ||
+|bookkeeperClientMinAvailableBookiesInIsolationGroups| Minimum bookies that should be available as part of bookkeeperClientIsolationGroups else broker will include bookkeeperClientSecondaryIsolationGroups bookies in isolated list.  ||
+|bookkeeperClientGetBookieInfoIntervalSeconds| Set the interval to periodically check bookie info |86400|
+|bookkeeperClientGetBookieInfoRetryIntervalSeconds|  Set the interval to retry a failed bookie info lookup |60|
+|bookkeeperEnableStickyReads | Enable/disable having read operations for a ledger to be sticky to a single bookie. If this flag is enabled, the client will use one single bookie (by preference) to read  all entries for a ledger. | true |
+|managedLedgerDefaultEnsembleSize|  Number of bookies to use when creating a ledger |2|
+|managedLedgerDefaultWriteQuorum| Number of copies to store for each message  |2|
+|managedLedgerDefaultAckQuorum| Number of guaranteed copies (acks to wait before write is complete) |2|
+|managedLedgerCacheSizeMB|  Amount of memory to use for caching data payload in managed ledger. This memory is allocated from JVM direct memory and it’s shared across all the topics running in the same broker. By default, uses 1/5th of available direct memory ||
+|managedLedgerCacheCopyEntries| Whether we should make a copy of the entry payloads when inserting in cache| false|
+|managedLedgerCacheEvictionWatermark| Threshold to which bring down the cache level when eviction is triggered  |0.9|
+|managedLedgerCacheEvictionFrequency| Configure the cache eviction frequency for the managed ledger cache (evictions/sec) | 100.0 |
+|managedLedgerCacheEvictionTimeThresholdMillis| All entries that have stayed in cache for more than the configured time, will be evicted | 1000 |
+|managedLedgerCursorBackloggedThreshold| Configure the threshold (in number of entries) from where a cursor should be considered 'backlogged' and thus should be set as inactive. | 1000|
+|managedLedgerDefaultMarkDeleteRateLimit| Rate limit the amount of writes per second generated by consumer acking the messages  |1.0|
+|managedLedgerMaxEntriesPerLedger|  Max number of entries to append to a ledger before triggering a rollover. A ledger rollover is triggered on these conditions: <ul><li>Either the max rollover time has been reached</li><li>or max entries have been written to the ledged and at least min-time has passed</li></ul>|50000|
+|managedLedgerMinLedgerRolloverTimeMinutes| Minimum time between ledger rollover for a topic  |10|
+|managedLedgerMaxLedgerRolloverTimeMinutes| Maximum time before forcing a ledger rollover for a topic |240|
+|managedLedgerCursorMaxEntriesPerLedger|  Max number of entries to append to a cursor ledger  |50000|
+|managedLedgerCursorRolloverTimeInSeconds|  Max time before triggering a rollover on a cursor ledger  |14400|
+|managedLedgerMaxUnackedRangesToPersist|  Max number of “acknowledgment holes” that are going to be persistently stored. When acknowledging out of order, a consumer will leave holes that are supposed to be quickly filled by acking all the messages. The information of which messages are acknowledged is persisted by compressing in “ranges” of messages that were acknowledged. After the max number of ranges is reached, the information will only be tracked in memory and messages will be redel [...]
+|autoSkipNonRecoverableData|  Skip reading non-recoverable/unreadable data-ledger under managed-ledger’s list.It helps when data-ledgers gets corrupted at bookkeeper and managed-cursor is stuck at that ledger. |false|
+|loadBalancerEnabled| Enable load balancer  |true|
+|loadBalancerPlacementStrategy| Strategy to assign a new bundle weightedRandomSelection ||
+|loadBalancerReportUpdateThresholdPercentage| Percentage of change to trigger load report update  |10|
+|loadBalancerReportUpdateMaxIntervalMinutes|  maximum interval to update load report  |15|
+|loadBalancerHostUsageCheckIntervalMinutes| Frequency of report to collect  |1|
+|loadBalancerSheddingIntervalMinutes| Load shedding interval. Broker periodically checks whether some traffic should be offload from some over-loaded broker to other under-loaded brokers  |30|
+|loadBalancerSheddingGracePeriodMinutes|  Prevent the same topics to be shed and moved to other broker more that once within this timeframe |30|
+|loadBalancerBrokerMaxTopics| Usage threshold to allocate max number of topics to broker  |50000|
+|loadBalancerBrokerUnderloadedThresholdPercentage|  Usage threshold to determine a broker as under-loaded |1|
+|loadBalancerBrokerOverloadedThresholdPercentage| Usage threshold to determine a broker as over-loaded  |85|
+|loadBalancerResourceQuotaUpdateIntervalMinutes|  Interval to update namespace bundle resource quotat |15|
+|loadBalancerBrokerComfortLoadLevelPercentage|  Usage threshold to determine a broker is having just right level of load  |65|
+|loadBalancerAutoBundleSplitEnabled|  enable/disable namespace bundle auto split  |false|
+|loadBalancerNamespaceBundleMaxTopics|  maximum topics in a bundle, otherwise bundle split will be triggered  |1000|
+|loadBalancerNamespaceBundleMaxSessions|  maximum sessions (producers + consumers) in a bundle, otherwise bundle split will be triggered  |1000|
+|loadBalancerNamespaceBundleMaxMsgRate| maximum msgRate (in + out) in a bundle, otherwise bundle split will be triggered  |1000|
+|loadBalancerNamespaceBundleMaxBandwidthMbytes| maximum bandwidth (in + out) in a bundle, otherwise bundle split will be triggered  |100|
+|loadBalancerNamespaceMaximumBundles| maximum number of bundles in a namespace  |128|
+|replicationMetricsEnabled| Enable replication metrics  |true|
+|replicationConnectionsPerBroker| Max number of connections to open for each broker in a remote cluster More connections host-to-host lead to better throughput over high-latency links.  |16|
+|replicationProducerQueueSize|  Replicator producer queue size  |1000|
+|replicatorPrefix|  Replicator prefix used for replicator producer name and cursor name pulsar.repl||
+|replicationTlsEnabled| Enable TLS when talking with other clusters to replicate messages |false|
+|defaultRetentionTimeInMinutes| Default message retention time  ||
+|defaultRetentionSizeInMB|  Default retention size  |0|
+|keepAliveIntervalSeconds|  How often to check whether the connections are still alive  |30|
+|loadManagerClassName|  Name of load manager to use |org.apache.pulsar.broker.loadbalance.impl.SimpleLoadManagerImpl|
+|supportedNamespaceBundleSplitAlgorithms| Supported algorithms name for namespace bundle split |[range_equally_divide,topic_count_equally_divide]|
+|defaultNamespaceBundleSplitAlgorithm| Default algorithm name for namespace bundle split |range_equally_divide|
+|managedLedgerOffloadDriver|  Driver to use to offload old data to long term storage (Possible values: S3)  ||
+|managedLedgerOffloadMaxThreads|  Maximum number of thread pool threads for ledger offloading |2|
+|managedLedgerUnackedRangesOpenCacheSetEnabled|  Use Open Range-Set to cache unacknowledged messages |true|
+|managedLedgerOffloadDeletionLagMs|Delay between a ledger being successfully offloaded to long term storage and the ledger being deleted from bookkeeper | 14400000|
+|managedLedgerOffloadAutoTriggerSizeThresholdBytes|The number of bytes before triggering automatic offload to long term storage |-1 (disabled)|
+|s3ManagedLedgerOffloadRegion|  For Amazon S3 ledger offload, AWS region  ||
+|s3ManagedLedgerOffloadBucket|  For Amazon S3 ledger offload, Bucket to place offloaded ledger into ||
+|s3ManagedLedgerOffloadServiceEndpoint| For Amazon S3 ledger offload, Alternative endpoint to connect to (useful for testing) ||
+|s3ManagedLedgerOffloadMaxBlockSizeInBytes| For Amazon S3 ledger offload, Max block size in bytes. (64MB by default, 5MB minimum) |67108864|
+|s3ManagedLedgerOffloadReadBufferSizeInBytes| For Amazon S3 ledger offload, Read buffer size in bytes (1MB by default)  |1048576|
+|s3ManagedLedgerOffloadRole| For Amazon S3 ledger offload, provide a role to assume before writing to s3 ||
+|s3ManagedLedgerOffloadRoleSessionName| For Amazon S3 ledger offload, provide a role session name when using a role |pulsar-s3-offload|
+| acknowledgmentAtBatchIndexLevelEnabled | Enable or disable the batch index acknowledgement. | false |
+| maxMessageSize | Set the maximum size of a message. | 5 MB |
+| lazyCursorRecovery | Whether to recover cursors lazily when trying to recover a managed ledger backing a persistent topic. It can improve write availability of topics. The caveat is now when recovered ledger is ready to write we're not sure if all old consumers' last mark delete position(ack position) can be recovered or not. So user can make the trade off or have custom logic in application to checkpoint consumer state.| false |  
+
+
+
+## Client
+
+The [`pulsar-client`](reference-cli-tools.md#pulsar-client) CLI tool can be used to publish messages to Pulsar and consume messages from Pulsar topics. This tool can be used in lieu of a client library.
+
+|Name|Description|Default|
+|---|---|---|
+|webServiceUrl| The web URL for the cluster.  |http://localhost:8080/|
+|brokerServiceUrl|  The Pulsar protocol URL for the cluster.  |pulsar://localhost:6650/|
+|authPlugin|  The authentication plugin.  ||
+|authParams|  The authentication parameters for the cluster, as a comma-separated string. ||
+|useTls|  Whether or not TLS authentication will be enforced in the cluster.  |false|
+|tlsAllowInsecureConnection|||
+|tlsTrustCertsFilePath|||
+
+
+## Service discovery
+
+|Name|Description|Default|
+|---|---|---|
+|zookeeperServers|  Zookeeper quorum connection string (comma-separated)  ||
+|zooKeeperCacheExpirySeconds|ZooKeeper cache expiry time in seconds|300
+|configurationStoreServers| Configuration store connection string (as a comma-separated list) ||
+|zookeeperSessionTimeoutMs| ZooKeeper session timeout |30000|
+|servicePort| Port to use to server binary-proto request  |6650|
+|servicePortTls|  Port to use to server binary-proto-tls request  |6651|
+|webServicePort|  Port that discovery service listen on |8080|
+|webServicePortTls| Port to use to server HTTPS request |8443|
+|bindOnLocalhost| Control whether to bind directly on localhost rather than on normal hostname  |false|
+|authenticationEnabled| Enable authentication |false|
+|authenticationProviders| Authentication provider name list, which is comma separated list of class names (comma-separated) ||
+|authorizationEnabled|  Enforce authorization |false|
+|superUserRoles|  Role names that are treated as “super-user”, meaning they will be able to do all admin operations and publish/consume from all topics (comma-separated) ||
+|tlsEnabled|  Enable TLS  |false|
+|tlsCertificateFilePath|  Path for the TLS certificate file ||
+|tlsKeyFilePath|  Path for the TLS private key file ||
+
+
+
+## Log4j
+
+
+|Name|Default|
+|---|---|
+|pulsar.root.logger|  WARN,CONSOLE|
+|pulsar.log.dir|  logs|
+|pulsar.log.file| pulsar.log|
+|log4j.rootLogger|  ${pulsar.root.logger}|
+|log4j.appender.CONSOLE|  org.apache.log4j.ConsoleAppender|
+|log4j.appender.CONSOLE.Threshold|  DEBUG|
+|log4j.appender.CONSOLE.layout| org.apache.log4j.PatternLayout|
+|log4j.appender.CONSOLE.layout.ConversionPattern| %d{ISO8601} - %-5p - [%t:%C{1}@%L] - %m%n|
+|log4j.appender.ROLLINGFILE|  org.apache.log4j.DailyRollingFileAppender|
+|log4j.appender.ROLLINGFILE.Threshold|  DEBUG|
+|log4j.appender.ROLLINGFILE.File| ${pulsar.log.dir}/${pulsar.log.file}|
+|log4j.appender.ROLLINGFILE.layout| org.apache.log4j.PatternLayout|
+|log4j.appender.ROLLINGFILE.layout.ConversionPattern| %d{ISO8601} - %-5p [%t:%C{1}@%L] - %m%n|
+|log4j.appender.TRACEFILE|  org.apache.log4j.FileAppender|
+|log4j.appender.TRACEFILE.Threshold|  TRACE|
+|log4j.appender.TRACEFILE.File| pulsar-trace.log|
+|log4j.appender.TRACEFILE.layout| org.apache.log4j.PatternLayout|
+|log4j.appender.TRACEFILE.layout.ConversionPattern| %d{ISO8601} - %-5p [%t:%C{1}@%L][%x] - %m%n|
+
+
+## Log4j shell
+
+|Name|Default|
+|---|---|
+|bookkeeper.root.logger|  ERROR,CONSOLE|
+|log4j.rootLogger|  ${bookkeeper.root.logger}|
+|log4j.appender.CONSOLE|  org.apache.log4j.ConsoleAppender|
+|log4j.appender.CONSOLE.Threshold|  DEBUG|
+|log4j.appender.CONSOLE.layout| org.apache.log4j.PatternLayout|
+|log4j.appender.CONSOLE.layout.ConversionPattern| %d{ABSOLUTE} %-5p %m%n|
+|log4j.logger.org.apache.zookeeper| ERROR|
+|log4j.logger.org.apache.bookkeeper|  ERROR|
+|log4j.logger.org.apache.bookkeeper.bookie.BookieShell| INFO|
+
+
+## Standalone
+
+|Name|Description|Default|
+|---|---|---|
+|zookeeperServers|  The quorum connection string for local ZooKeeper  ||
+|zooKeeperCacheExpirySeconds|ZooKeeper cache expiry time in seconds|300
+|configurationStoreServers| Configuration store connection string (as a comma-separated list) ||
+|brokerServicePort| The port on which the standalone broker listens for connections |6650|
+|webServicePort|  THe port used by the standalone broker for HTTP requests  |8080|
+|bindAddress| The hostname or IP address on which the standalone service binds  |0.0.0.0|
+|advertisedAddress| The hostname or IP address that the standalone service advertises to the outside world. If not set, the value of `InetAddress.getLocalHost().getHostName()` is used.  ||
+|clusterName| The name of the cluster that this broker belongs to. |standalone|
+|zooKeeperSessionTimeoutMillis| The ZooKeeper session timeout, in milliseconds. |30000|
+|brokerShutdownTimeoutMs| The time to wait for graceful broker shutdown. After this time elapses, the process will be killed. |60000|
+|skipBrokerShutdownOnOOM| Flag to skip broker shutdown when broker handles Out of memory error. |false|
+|backlogQuotaCheckEnabled|  Enable the backlog quota check, which enforces a specified action when the quota is reached.  |true|
+|backlogQuotaCheckIntervalInSeconds|  How often to check for topics that have reached the backlog quota.  |60|
+|backlogQuotaDefaultLimitGB|  The default per-topic backlog quota limit.  |10|
+|ttlDurationDefaultInSeconds|  The default ttl for namespaces if ttl is not configured at namespace policies.  |0|
+|brokerDeleteInactiveTopicsEnabled| Enable the deletion of inactive topics. |true|
+|brokerDeleteInactiveTopicsFrequencySeconds|  How often to check for inactive topics, in seconds. |60|
+|messageExpiryCheckIntervalInMinutes| How often to proactively check and purged expired messages. |5|
+|activeConsumerFailoverDelayTimeMillis| How long to delay rewinding cursor and dispatching messages when active consumer is changed.  |1000|
+|clientLibraryVersionCheckEnabled|  Enable checks for minimum allowed client library version. |false|
+|clientLibraryVersionCheckAllowUnversioned| Allow client libraries with no version information  |true|
+|statusFilePath|  The path for the file used to determine the rotation status for the broker when responding to service discovery health checks |/usr/local/apache/htdocs|
+|maxUnackedMessagesPerConsumer| The maximum number of unacknowledged messages allowed to be received by consumers on a shared subscription. The broker will stop sending messages to a consumer once this limit is reached or until the consumer begins acknowledging messages. A value of 0 disables the unacked message limit check and thus allows consumers to receive messages without any restrictions. |50000|
+|maxUnackedMessagesPerSubscription| The same as above, except per subscription rather than per consumer.  |200000|
+|maxNumPartitionsPerPartitionedTopic|Max number of partitions per partitioned topic. Use 0 or negative number to disable the check|0|
+|authenticationEnabled| Enable authentication for the broker. |false|
+|authenticationProviders| A comma-separated list of class names for authentication providers. |false|
+|authorizationEnabled|  Enforce authorization in brokers. |false|
+|superUserRoles|  Role names that are treated as “superusers.” Superusers are authorized to perform all admin tasks. ||
+|brokerClientAuthenticationPlugin|  The authentication settings of the broker itself. Used when the broker connects to other brokers either in the same cluster or from other clusters. ||
+|brokerClientAuthenticationParameters|  The parameters that go along with the plugin specified using brokerClientAuthenticationPlugin.  ||
+|athenzDomainNames| Supported Athenz authentication provider domain names as a comma-separated list.  ||
+|exposePreciseBacklogInPrometheus| Enable expose the precise backlog stats, set false to use published counter and consumed counter to calculate, this would be more efficient but may be inaccurate. |false|
+|bookkeeperClientAuthenticationPlugin|  Authentication plugin to be used when connecting to bookies (BookKeeper servers). ||
+|bookkeeperClientAuthenticationParametersName|  BookKeeper authentication plugin implementation parameters and values.  ||
+|bookkeeperClientAuthenticationParameters|  Parameters associated with the bookkeeperClientAuthenticationParametersName ||
+|bookkeeperClientTimeoutInSeconds|  Timeout for BookKeeper add and read operations. |30|
+|bookkeeperClientSpeculativeReadTimeoutInMillis|  Speculative reads are initiated if a read request doesn’t complete within a certain time. A value of 0 disables speculative reads.  |0|
+|bookkeeperClientHealthCheckEnabled|  Enable bookie health checks.  |true|
+|bookkeeperClientHealthCheckIntervalSeconds|  The time interval, in seconds, at which health checks are performed. New ledgers are not created during health checks.  |60|
+|bookkeeperClientHealthCheckErrorThresholdPerInterval|  Error threshold for health checks.  |5|
+|bookkeeperClientHealthCheckQuarantineTimeInSeconds|  If bookies have more than the allowed number of failures within the time interval specified by bookkeeperClientHealthCheckIntervalSeconds |1800|
+|bookkeeperClientRackawarePolicyEnabled|    |true|
+|bookkeeperClientRegionawarePolicyEnabled|    |false|
+|bookkeeperClientReorderReadSequenceEnabled|    |false|
+|bookkeeperClientIsolationGroups|||
+|bookkeeperClientSecondaryIsolationGroups| Enable bookie secondary-isolation group if bookkeeperClientIsolationGroups doesn't have enough bookie available.  ||
+|bookkeeperClientMinAvailableBookiesInIsolationGroups| Minimum bookies that should be available as part of bookkeeperClientIsolationGroups else broker will include bookkeeperClientSecondaryIsolationGroups bookies in isolated list.  ||
+|managedLedgerDefaultEnsembleSize|    |1|
+|managedLedgerDefaultWriteQuorum|   |1|
+|managedLedgerDefaultAckQuorum|   |1|
+|managedLedgerCacheSizeMB|    |1024|
+|managedLedgerCacheCopyEntries| Whether we should make a copy of the entry payloads when inserting in cache| false|
+|managedLedgerCacheEvictionWatermark|   |0.9|
+|managedLedgerCacheEvictionFrequency| Configure the cache eviction frequency for the managed ledger cache (evictions/sec) | 100.0 |
+|managedLedgerCacheEvictionTimeThresholdMillis| All entries that have stayed in cache for more than the configured time, will be evicted | 1000 |
+|managedLedgerCursorBackloggedThreshold| Configure the threshold (in number of entries) from where a cursor should be considered 'backlogged' and thus should be set as inactive. | 1000|
+|managedLedgerUnackedRangesOpenCacheSetEnabled|  Use Open Range-Set to cache unacknowledged messages |true|
+|managedLedgerDefaultMarkDeleteRateLimit|   |0.1|
+|managedLedgerMaxEntriesPerLedger|    |50000|
+|managedLedgerMinLedgerRolloverTimeMinutes|   |10|
+|managedLedgerMaxLedgerRolloverTimeMinutes|   |240|
+|managedLedgerCursorMaxEntriesPerLedger|    |50000|
+|managedLedgerCursorRolloverTimeInSeconds|    |14400|
+|autoSkipNonRecoverableData|    |false|
+|loadBalancerEnabled|   |false|
+|loadBalancerPlacementStrategy|   |weightedRandomSelection|
+|loadBalancerReportUpdateThresholdPercentage|   |10|
+|loadBalancerReportUpdateMaxIntervalMinutes|    |15|
+|loadBalancerHostUsageCheckIntervalMinutes|  |1|
+|loadBalancerSheddingIntervalMinutes|   |30|
+|loadBalancerSheddingGracePeriodMinutes|    |30|
+|loadBalancerBrokerMaxTopics|   |50000|
+|loadBalancerBrokerUnderloadedThresholdPercentage|    |1|
+|loadBalancerBrokerOverloadedThresholdPercentage|   |85|
+|loadBalancerResourceQuotaUpdateIntervalMinutes|    |15|
+|loadBalancerBrokerComfortLoadLevelPercentage|    |65|
+|loadBalancerAutoBundleSplitEnabled|    |false|
+|loadBalancerNamespaceBundleMaxTopics|    |1000|
+|loadBalancerNamespaceBundleMaxSessions|    |1000|
+|loadBalancerNamespaceBundleMaxMsgRate|   |1000|
+|loadBalancerNamespaceBundleMaxBandwidthMbytes|   |100|
+|loadBalancerNamespaceMaximumBundles|   |128|
+|replicationMetricsEnabled|   |true|
+|replicationConnectionsPerBroker|   |16|
+|replicationProducerQueueSize|    |1000|
+| replicationPolicyCheckDurationSeconds | Duration to check replication policy to avoid replicator inconsistency due to missing ZooKeeper watch. When the value is set to 0, disable checking replication policy. | 600 |
+|defaultRetentionTimeInMinutes|   |0|
+|defaultRetentionSizeInMB|    |0|
+|keepAliveIntervalSeconds|    |30|
+
+
+
+
+
+## WebSocket
+
+|Name|Description|Default|
+|---|---|---|
+|configurationStoreServers    |||
+|zooKeeperSessionTimeoutMillis|   |30000|
+|zooKeeperCacheExpirySeconds|ZooKeeper cache expiry time in seconds|300
+|serviceUrl|||
+|serviceUrlTls|||
+|brokerServiceUrl|||
+|brokerServiceUrlTls|||
+|webServicePort||8080|
+|webServicePortTls||8443|
+|bindAddress||0.0.0.0|
+|clusterName |||
+|authenticationEnabled||false|
+|authenticationProviders|||
+|authorizationEnabled||false|
+|superUserRoles |||
+|brokerClientAuthenticationPlugin|||
+|brokerClientAuthenticationParameters|||
+|tlsEnabled||false|
+|tlsAllowInsecureConnection||false|
+|tlsCertificateFilePath|||
+|tlsKeyFilePath |||
+|tlsTrustCertsFilePath|||
+
+
+## Pulsar proxy
+
+The [Pulsar proxy](concepts-architecture-overview.md#pulsar-proxy) can be configured in the `conf/proxy.conf` file.
+
+
+|Name|Description|Default|
+|---|---|---|
+|zookeeperServers|  The ZooKeeper quorum connection string (as a comma-separated list)  ||
+|configurationStoreServers| Configuration store connection string (as a comma-separated list) ||
+|zookeeperSessionTimeoutMs| ZooKeeper session timeout (in milliseconds) |30000|
+|zooKeeperCacheExpirySeconds|ZooKeeper cache expiry time in seconds|300
+|servicePort| The port to use for server binary Protobuf requests |6650|
+|servicePortTls|  The port to use to server binary Protobuf TLS requests  |6651|
+|statusFilePath|  Path for the file used to determine the rotation status for the proxy instance when responding to service discovery health checks ||
+|advertisedAddress|Hostname or IP address the service advertises to the outside world.|`InetAddress.getLocalHost().getHostname()`|
+|authenticationEnabled| Whether authentication is enabled for the Pulsar proxy  |false|
+|authenticateMetricsEndpoint| Whether the '/metrics' endpoint requires authentication. Defaults to true. 'authenticationEnabled' must also be set for this to take effect. |true|
+|authenticationProviders| Authentication provider name list (a comma-separated list of class names) ||
+|authorizationEnabled|  Whether authorization is enforced by the Pulsar proxy |false|
+|authorizationProvider| Authorization provider as a fully qualified class name  |org.apache.pulsar.broker.authorization.PulsarAuthorizationProvider|
+|brokerClientAuthenticationPlugin|  The authentication plugin used by the Pulsar proxy to authenticate with Pulsar brokers  ||
+|brokerClientAuthenticationParameters|  The authentication parameters used by the Pulsar proxy to authenticate with Pulsar brokers  ||
+|brokerClientTrustCertsFilePath|  The path to trusted certificates used by the Pulsar proxy to authenticate with Pulsar brokers ||
+|superUserRoles|  Role names that are treated as “super-users,” meaning that they will be able to perform all admin ||
+|forwardAuthorizationCredentials| Whether client authorization credentials are forwared to the broker for re-authorization. Authentication must be enabled via authenticationEnabled=true for this to take effect.  |false|
+|maxConcurrentInboundConnections| Max concurrent inbound connections. The proxy will reject requests beyond that. |10000|
+|maxConcurrentLookupRequests| Max concurrent outbound connections. The proxy will error out requests beyond that. |50000|
+|tlsEnabledInProxy| Whether TLS is enabled for the proxy  |false|
+|tlsEnabledWithBroker|  Whether TLS is enabled when communicating with Pulsar brokers |false|
+|tlsCertificateFilePath|  Path for the TLS certificate file ||
+|tlsKeyFilePath|  Path for the TLS private key file ||
+|tlsTrustCertsFilePath| Path for the trusted TLS certificate pem file ||
+|tlsHostnameVerificationEnabled|  Whether the hostname is validated when the proxy creates a TLS connection with brokers  |false|
+|tlsRequireTrustedClientCertOnConnect|  Whether client certificates are required for TLS. Connections are rejected if the client certificate isn’t trusted. |false|
+|tlsProtocols|Specify the tls protocols the broker will use to negotiate during TLS Handshake. Multiple values can be specified, separated by commas. Example:- ```TLSv1.2```, ```TLSv1.1```, ```TLSv1``` ||
+|tlsCiphers|Specify the tls cipher the broker will use to negotiate during TLS Handshake. Multiple values can be specified, separated by commas. Example:- ```TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256```||
+|tokenSecretKey| Configure the secret key to be used to validate auth tokens. The key can be specified like: `tokenSecretKey=data:;base64,xxxxxxxxx` or `tokenSecretKey=file:///my/secret.key`||
+|tokenPublicKey| Configure the public key to be used to validate auth tokens. The key can be specified like: `tokenPublicKey=data:;base64,xxxxxxxxx` or `tokenPublicKey=file:///my/secret.key`||
+|tokenPublicAlg| Configure the algorithm to be used to validate auth tokens. This can be any of the asymettric algorithms supported by Java JWT (https://github.com/jwtk/jjwt#signature-algorithms-keys) |RS256|
+|tokenAuthClaim| Specify the token claim that will be used as the authentication "principal" or "role". The "subject" field will be used if this is left blank ||
+
+## ZooKeeper
+
+ZooKeeper handles a broad range of essential configuration- and coordination-related tasks for Pulsar. The default configuration file for ZooKeeper is in the `conf/zookeeper.conf` file in your Pulsar installation. The following parameters are available:
+
+
+|Name|Description|Default|
+|---|---|---|
+|tickTime|  The tick is the basic unit of time in ZooKeeper, measured in milliseconds and used to regulate things like heartbeats and timeouts. tickTime is the length of a single tick.  |2000|
+|initLimit| The maximum time, in ticks, that the leader ZooKeeper server allows follower ZooKeeper servers to successfully connect and sync. The tick time is set in milliseconds using the tickTime parameter. |10|
+|syncLimit| The maximum time, in ticks, that a follower ZooKeeper server is allowed to sync with other ZooKeeper servers. The tick time is set in milliseconds using the tickTime parameter.  |5|
+|dataDir| The location where ZooKeeper will store in-memory database snapshots as well as the transaction log of updates to the database. |data/zookeeper|
+|clientPort|  The port on which the ZooKeeper server will listen for connections. |2181|
+|autopurge.snapRetainCount| In ZooKeeper, auto purge determines how many recent snapshots of the database stored in dataDir to retain within the time interval specified by autopurge.purgeInterval (while deleting the rest).  |3|
+|autopurge.purgeInterval| The time interval, in hours, by which the ZooKeeper database purge task is triggered. Setting to a non-zero number will enable auto purge; setting to 0 will disable. Read this guide before enabling auto purge. |1|
+|maxClientCnxns|  The maximum number of client connections. Increase this if you need to handle more ZooKeeper clients. |60|
+
+
+
+
+In addition to the parameters in the table above, configuring ZooKeeper for Pulsar involves adding
+a `server.N` line to the `conf/zookeeper.conf` file for each node in the ZooKeeper cluster, where `N` is the number of the ZooKeeper node. Here's an example for a three-node ZooKeeper cluster:
+
+```properties
+server.1=zk1.us-west.example.com:2888:3888
+server.2=zk2.us-west.example.com:2888:3888
+server.3=zk3.us-west.example.com:2888:3888
+```
+
+> We strongly recommend consulting the [ZooKeeper Administrator's Guide](https://zookeeper.apache.org/doc/current/zookeeperAdmin.html) for a more thorough and comprehensive introduction to ZooKeeper configuration
diff --git a/site2/website-next/docsify/2.6.0/pulsar-admin/README.md b/site2/website-next/docsify/2.6.0/pulsar-admin/README.md
new file mode 100644
index 00000000000..9b92f9b9a2d
--- /dev/null
+++ b/site2/website-next/docsify/2.6.0/pulsar-admin/README.md
@@ -0,0 +1 @@
+> Docs for Configuration for `pulsar-admin`.
diff --git a/site2/website-next/docsify/2.6.0/pulsar-admin/_sidebar.md b/site2/website-next/docsify/2.6.0/pulsar-admin/_sidebar.md
new file mode 100644
index 00000000000..a352df20784
--- /dev/null
+++ b/site2/website-next/docsify/2.6.0/pulsar-admin/_sidebar.md
@@ -0,0 +1,18 @@
+- [broker-stats](pulsar-admin/broker-stats.md)
+- [brokers](pulsar-admin/brokers.md)
+- [bookies](pulsar-admin/bookies.md)
+- [clusters](pulsar-admin/clusters.md)
+- [functions](pulsar-admin/functions.md)
+- [functions-worker](pulsar-admin/functions-worker.md)
+- [namespaces](pulsar-admin/namespaces.md)
+- [ns-isolation-policy](pulsar-admin/ns-isolation-policy.md)
+- [sources](pulsar-admin/sources.md)
+- [sinks](pulsar-admin/sinks.md)
+- [topics](pulsar-admin/topics.md)
+- [proxy-stats](pulsar-admin/proxy-stats.md)
+- [resourcegroups](pulsar-admin/resourcegroups.md)
+- [transactions](pulsar-admin/transactions.md)
+- [tenants](pulsar-admin/tenants.md)
+- [resource-quotas](pulsar-admin/resource-quotas.md)
+- [schemas](pulsar-admin/schemas.md)
+- [packages](pulsar-admin/packages.md)
diff --git a/site2/website-next/docsify/2.6.0/pulsar-admin/bookies.md b/site2/website-next/docsify/2.6.0/pulsar-admin/bookies.md
new file mode 100644
index 00000000000..e7d7a8ecb60
--- /dev/null
+++ b/site2/website-next/docsify/2.6.0/pulsar-admin/bookies.md
@@ -0,0 +1,119 @@
+------------
+
+# bookies
+
+### Usage
+
+`$bookies`
+
+------------
+
+Operations about bookies rack placement
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin bookies subcommand
+```
+
+* `racks-placement`
+* `list-bookies`
+* `get-bookie-rack`
+* `delete-bookie-rack`
+* `set-bookie-rack`
+
+
+## <em>racks-placement</em>
+
+Gets the rack placement information for all the bookies in the cluster
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin bookies racks-placement options
+```
+
+
+
+## <em>list-bookies</em>
+
+List bookies
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin bookies list-bookies options
+```
+
+
+
+## <em>get-bookie-rack</em>
+
+Gets the rack placement information for a specific bookie in the cluster
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin bookies get-bookie-rack options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `-b, --bookie` | Bookie address (format: `address:port`)|null|
+
+
+## <em>delete-bookie-rack</em>
+
+Remove rack placement information for a specific bookie in the cluster
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin bookies delete-bookie-rack options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `-b, --bookie` | Bookie address (format: `address:port`)|null|
+
+
+## <em>set-bookie-rack</em>
+
+Updates the rack placement information for a specific bookie in the cluster (note. bookie address format:`address:port`)
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin bookies set-bookie-rack options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `-b, --bookie` | Bookie address (format: `address:port`)|null|
+| `-g, --group` | Bookie group name|default|
+| `-r, --rack` | Bookie rack name|null|
+| `--hostname` | Bookie host name|null|
+
diff --git a/site2/website-next/docsify/2.6.0/pulsar-admin/broker-stats.md b/site2/website-next/docsify/2.6.0/pulsar-admin/broker-stats.md
new file mode 100644
index 00000000000..339ddb55000
--- /dev/null
+++ b/site2/website-next/docsify/2.6.0/pulsar-admin/broker-stats.md
@@ -0,0 +1,116 @@
+------------
+
+# broker-stats
+
+### Usage
+
+`$broker-stats`
+
+------------
+
+Operations to collect broker statistics
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin broker-stats subcommand
+```
+
+* `monitoring-metrics`
+* `mbeans`
+* `topics`
+* `allocator-stats`
+* `load-report`
+
+
+## <em>monitoring-metrics</em>
+
+dump metrics for Monitoring
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin broker-stats monitoring-metrics options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `-i, --indent` | Indent JSON output|false|
+
+
+## <em>mbeans</em>
+
+dump mbean stats
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin broker-stats mbeans options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `-i, --indent` | Indent JSON output|false|
+
+
+## <em>topics</em>
+
+dump topics stats
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin broker-stats topics options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `-i, --indent` | Indent JSON output|false|
+
+
+## <em>allocator-stats</em>
+
+dump allocator stats
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin broker-stats allocator-stats options
+```
+
+
+
+## <em>load-report</em>
+
+dump broker load-report
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin broker-stats load-report options
+```
+
+
diff --git a/site2/website-next/docsify/2.6.0/pulsar-admin/brokers.md b/site2/website-next/docsify/2.6.0/pulsar-admin/brokers.md
new file mode 100644
index 00000000000..48592178ce7
--- /dev/null
+++ b/site2/website-next/docsify/2.6.0/pulsar-admin/brokers.md
@@ -0,0 +1,235 @@
+------------
+
+# brokers
+
+### Usage
+
+`$brokers`
+
+------------
+
+Operations about brokers
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin brokers subcommand
+```
+
+* `list`
+* `leader-broker`
+* `namespaces`
+* `update-dynamic-config`
+* `delete-dynamic-config`
+* `list-dynamic-config`
+* `get-all-dynamic-config`
+* `get-internal-config`
+* `get-runtime-config`
+* `healthcheck`
+* `backlog-quota-check`
+* `version`
+
+
+## <em>list</em>
+
+List active brokers of the cluster
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin brokers list options
+```
+
+
+
+## <em>leader-broker</em>
+
+Get the information of the leader broker
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin brokers leader-broker options
+```
+
+
+
+## <em>namespaces</em>
+
+List namespaces owned by the broker
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin brokers namespaces options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--url` | broker-url|null|
+
+
+## <em>update-dynamic-config</em>
+
+Update dynamic-serviceConfiguration of broker
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin brokers update-dynamic-config options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--config` | service-configuration name|null|
+| `--value` | service-configuration value|null|
+
+
+## <em>delete-dynamic-config</em>
+
+Delete dynamic-serviceConfiguration of broker
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin brokers delete-dynamic-config options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--config` | service-configuration name|null|
+
+
+## <em>list-dynamic-config</em>
+
+Get list of updatable configuration name
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin brokers list-dynamic-config options
+```
+
+
+
+## <em>get-all-dynamic-config</em>
+
+Get all overridden dynamic-configuration values
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin brokers get-all-dynamic-config options
+```
+
+
+
+## <em>get-internal-config</em>
+
+Get internal configuration information
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin brokers get-internal-config options
+```
+
+
+
+## <em>get-runtime-config</em>
+
+Get runtime configuration values
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin brokers get-runtime-config options
+```
+
+
+
+## <em>healthcheck</em>
+
+Run a health check against the broker
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin brokers healthcheck options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--topic-version` | topic version V1 is default|null|
+
+
+## <em>backlog-quota-check</em>
+
+Manually trigger backlogQuotaCheck
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin brokers backlog-quota-check options
+```
+
+
+
+## <em>version</em>
+
+Get the version of the currently connected broker
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin brokers version options
+```
+
+
diff --git a/site2/website-next/docsify/2.6.0/pulsar-admin/clusters.md b/site2/website-next/docsify/2.6.0/pulsar-admin/clusters.md
new file mode 100644
index 00000000000..7b51e92a5cf
--- /dev/null
+++ b/site2/website-next/docsify/2.6.0/pulsar-admin/clusters.md
@@ -0,0 +1,292 @@
+------------
+
+# clusters
+
+### Usage
+
+`$clusters`
+
+------------
+
+Operations about clusters
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin clusters subcommand
+```
+
+* `get`
+* `create`
+* `update`
+* `delete`
+* `list`
+* `update-peer-clusters`
+* `get-peer-clusters`
+* `get-failure-domain`
+* `create-failure-domain`
+* `update-failure-domain`
+* `delete-failure-domain`
+* `list-failure-domains`
+
+
+## <em>get</em>
+
+Get the configuration data for the specified cluster
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin clusters get options
+```
+
+
+
+## <em>create</em>
+
+Provisions a new cluster. This operation requires Pulsar super-user privileges
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin clusters create options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--listener-name` | listenerName when client would like to connect to cluster|null|
+| `--proxy-url` | Proxy-service url when client would like to connect to broker via proxy.|null|
+| `--tls-trust-store-type` | TLS TrustStore type configuration for internal client eg: JKS|null|
+| `--tls-enable` | Enable tls connection|null|
+| `--auth-parameters` | authentication parameters|null|
+| `--proxy-protocol` | protocol to decide type of proxy routing eg: SNI|null|
+| `--tls-allow-insecure` | Allow insecure tls connection|null|
+| `--url` | service-url|null|
+| `--broker-url` | broker-service-url|null|
+| `--auth-plugin` | authentication plugin|null|
+| `--tls-trust-certs-filepath` | path for the trusted TLS certificate file|null|
+| `--cluster-config-file` | The path to a YAML config file specifying the cluster's configuration|null|
+| `--tls-enable-keystore` | Whether use KeyStore type to authenticate|null|
+| `--tls-trust-store-pwd` | TLS TrustStore password for internal client|null|
+| `--tls-trust-store` | TLS TrustStore path for internal client|null|
+| `--broker-url-secure` | broker-service-url for secure connection|null|
+| `--url-secure` | service-url for secure connection|null|
+
+
+## <em>update</em>
+
+Update the configuration for a cluster
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin clusters update options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--listener-name` | listenerName when client would like to connect to cluster|null|
+| `--proxy-url` | Proxy-service url when client would like to connect to broker via proxy.|null|
+| `--tls-trust-store-type` | TLS TrustStore type configuration for internal client eg: JKS|null|
+| `--tls-enable` | Enable tls connection|null|
+| `--auth-parameters` | authentication parameters|null|
+| `--proxy-protocol` | protocol to decide type of proxy routing eg: SNI|null|
+| `--tls-allow-insecure` | Allow insecure tls connection|null|
+| `--url` | service-url|null|
+| `--broker-url` | broker-service-url|null|
+| `--auth-plugin` | authentication plugin|null|
+| `--tls-trust-certs-filepath` | path for the trusted TLS certificate file|null|
+| `--cluster-config-file` | The path to a YAML config file specifying the cluster's configuration|null|
+| `--tls-enable-keystore` | Whether use KeyStore type to authenticate|null|
+| `--tls-trust-store-pwd` | TLS TrustStore password for internal client|null|
+| `--tls-trust-store` | TLS TrustStore path for internal client|null|
+| `--broker-url-secure` | broker-service-url for secure connection|null|
+| `--url-secure` | service-url for secure connection|null|
+
+
+## <em>delete</em>
+
+Deletes an existing cluster
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin clusters delete options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `-a, --all` | Delete all data (tenants) of the cluster|false|
+
+
+## <em>list</em>
+
+List the existing clusters
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin clusters list options
+```
+
+
+
+## <em>update-peer-clusters</em>
+
+Update peer cluster names
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin clusters update-peer-clusters options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--peer-clusters` | Comma separated peer-cluster names [Pass empty string "" to delete list]|null|
+
+
+## <em>get-peer-clusters</em>
+
+Get list of peer-clusters
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin clusters get-peer-clusters options
+```
+
+
+
+## <em>get-failure-domain</em>
+
+Get the configuration brokers of a failure-domain
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin clusters get-failure-domain options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--domain-name` | domain-name|null|
+
+
+## <em>create-failure-domain</em>
+
+Create a new failure-domain for a cluster. updates it if already created.
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin clusters create-failure-domain options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--domain-name` | domain-name|null|
+| `--broker-list` | Comma separated broker list|null|
+
+
+## <em>update-failure-domain</em>
+
+Update failure-domain for a cluster. Creates a new one if not exist.
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin clusters update-failure-domain options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--domain-name` | domain-name|null|
+| `--broker-list` | Comma separated broker list|null|
+
+
+## <em>delete-failure-domain</em>
+
+Deletes an existing failure-domain
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin clusters delete-failure-domain options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--domain-name` | domain-name|null|
+
+
+## <em>list-failure-domains</em>
+
+List the existing failure-domains for a cluster
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin clusters list-failure-domains options
+```
+
+
diff --git a/site2/website-next/docsify/2.6.0/pulsar-admin/functions-worker.md b/site2/website-next/docsify/2.6.0/pulsar-admin/functions-worker.md
new file mode 100644
index 00000000000..dfae36fb56b
--- /dev/null
+++ b/site2/website-next/docsify/2.6.0/pulsar-admin/functions-worker.md
@@ -0,0 +1,98 @@
+------------
+
+# functions-worker
+
+### Usage
+
+`$functions-worker`
+
+------------
+
+Operations to collect function-worker statistics
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin functions-worker subcommand
+```
+
+* `function-stats`
+* `monitoring-metrics`
+* `get-cluster`
+* `get-cluster-leader`
+* `get-function-assignments`
+
+
+## <em>function-stats</em>
+
+Dump all functions stats running on this broker
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin functions-worker function-stats options
+```
+
+
+
+## <em>monitoring-metrics</em>
+
+Dump metrics for Monitoring
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin functions-worker monitoring-metrics options
+```
+
+
+
+## <em>get-cluster</em>
+
+Get all workers belonging to this cluster
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin functions-worker get-cluster options
+```
+
+
+
+## <em>get-cluster-leader</em>
+
+Get the leader of the worker cluster
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin functions-worker get-cluster-leader options
+```
+
+
+
+## <em>get-function-assignments</em>
+
+Get the assignments of the functions across the worker cluster
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin functions-worker get-function-assignments options
+```
+
+
diff --git a/site2/website-next/docsify/2.6.0/pulsar-admin/functions.md b/site2/website-next/docsify/2.6.0/pulsar-admin/functions.md
new file mode 100644
index 00000000000..256ffedbd8e
--- /dev/null
+++ b/site2/website-next/docsify/2.6.0/pulsar-admin/functions.md
@@ -0,0 +1,614 @@
+------------
+
+# functions
+
+### Usage
+
+`$functions`
+
+------------
+
+Interface for managing Pulsar Functions (lightweight, Lambda-style compute processes that work with Pulsar)
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin functions subcommand
+```
+
+* `localrun`
+* `create`
+* `delete`
+* `update`
+* `get`
+* `restart`
+* `stop`
+* `start`
+* `status`
+* `stats`
+* `list`
+* `querystate`
+* `putstate`
+* `trigger`
+* `upload`
+* `download`
+
+
+## <em>localrun</em>
+
+Run a Pulsar Function locally, rather than deploy to a Pulsar cluster)
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin functions localrun options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--hostname_verification_enabled` | Enable hostname verification|null|
+| `--custom-schema-outputs` | The map of input topics to Schema properties (as a JSON string)|null|
+| `--processingGuarantees` | The processing guarantees (aka delivery semantics) applied to the function|null|
+| `--window-length-duration-ms` | The time duration of the window in milliseconds|null|
+| `--batch-builder` | BatcherBuilder provides two types of batch construction methods, DEFAULT and KEY_BASED. The default value is: DEFAULT|null|
+| `--custom-schema-inputs` | The map of input topics to Schema properties (as a JSON string)|null|
+| `--window-length-count` | The number of messages per window|null|
+| `--forward-source-message-property` | Forwarding input message's properties to output topic when processing (use false to disable it)|true|
+| `--brokerServiceUrl` | The URL for Pulsar broker|null|
+| `--metrics-port-start` | The starting port range for metrics server|null|
+| `--secrets` | The map of secretName to an object that encapsulates how the secret is fetched by the underlying secrets provider|null|
+| `--tls_allow_insecure` | Allow insecure tls connection|null|
+| `--instanceIdOffset` | Start the instanceIds from this offset|null|
+| `--ram` | The ram in bytes that need to be allocated per function instance(applicable only to process/docker runtime)|null|
+| `--use_tls` | Use tls connection|null|
+| `--function-config-file` | The path to a YAML config file that specifies the configuration of a Pulsar Function|null|
+| `--topicsPattern` | TopicsPattern 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)|null|
+| `--tls_trust_cert_path` | tls trust cert file path|null|
+| `--subs-name` | Pulsar source subscription name if user wants a specific subscription-name for input-topic consumer|null|
+| `--clientAuthPlugin` | Client authentication plugin using which function-process can connect to broker|null|
+| `--use-tls` | Use tls connection|false|
+| `--dead-letter-topic` | The topic where messages that are not processed successfully are sent to|null|
+| `-i, --inputs` | The input topic or topics (multiple topics can be specified as a comma-separated list) of a Pulsar Function|null|
+| `--auto-ack` | Whether or not the framework acknowledges messages automatically|null|
+| `--subs-position` | Pulsar source subscription position if user wants to consume messages from the specified location|null|
+| `--user-config` | User-defined config key/values|null|
+| `--secrets-provider-classname` | Whats the classname for secrets provider|null|
+| `--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.|null|
+| `--broker-service-url` | The URL for Pulsar broker|null|
+| `--functionConfigFile` | The path to a YAML config file that specifies the configuration of a Pulsar Function|null|
+| `--clientAuthParams` | Client authentication param|null|
+| `--retainOrdering` | Function consumes and processes messages in order|null|
+| `--slidingIntervalDurationMs` | The time duration after which the window slides|null|
+| `--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.|null|
+| `--parallelism` | The parallelism factor of a Pulsar Function (i.e. the number of function instances to run)|null|
+| `--tenant` | The tenant of a Pulsar Function|null|
+| `--producer-config` | The custom producer configuration (as a JSON string)|null|
+| `--tls-trust-cert-path` | tls trust cert file path|null|
+| `--log-topic` | The topic to which the logs of a Pulsar Function are produced|null|
+| `--processing-guarantees` | The processing guarantees (aka delivery semantics) applied to the function|null|
+| `--input-specs` | The map of inputs to custom configuration (as a JSON string)|null|
+| `--className` | The class name of a Pulsar Function|null|
+| `-o, --output` | The output topic of a Pulsar Function (If none is specified, no output is written)|null|
+| `--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.|null|
+| `--autoAck` | Whether or not the framework acknowledges messages automatically|null|
+| `--web-service-url` | The URL for Pulsar web service|null|
+| `--retain-ordering` | Function consumes and processes messages in order|null|
+| `--state-storage-service-url` | The URL for the state storage service (the default is Apache BookKeeper)|null|
+| `--logTopic` | The topic to which the logs of a Pulsar Function are produced|null|
+| `-st, --schema-type` | The builtin schema type or custom schema class name to be used for messages output by the function||
+| `--client-auth-plugin` | Client authentication plugin using which function-process can connect to broker|null|
+| `--fqfn` | The Fully Qualified Function Name (FQFN) for the function|null|
+| `--retain-key-ordering` | Function consumes and processes messages in key order|null|
+| `--sliding-interval-count` | The number of messages after which the window slides|null|
+| `--custom-runtime-options` | A string that encodes options to customize the runtime, see docs for configured runtime for details|null|
+| `--custom-serde-inputs` | The map of input topics to SerDe class names (as a JSON string)|null|
+| `--windowLengthDurationMs` | The time duration of the window in milliseconds|null|
+| `--timeout-ms` | The message timeout in milliseconds|null|
+| `--max-message-retries` | How many times should we try to process a message before giving up|null|
+| `--runtime` | either THREAD or PROCESS. Only applies for Java functions|null|
+| `--cpu` | The cpu in cores that need to be allocated per function instance(applicable only to docker runtime)|null|
+| `--userConfig` | User-defined config key/values|null|
+| `--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)|null|
+| `--tls-allow-insecure` | Allow insecure tls connection|false|
+| `--slidingIntervalCount` | The number of messages after which the window slides|null|
+| `--secrets-provider-config` | Config that needs to be passed to secrets provider|null|
+| `--outputSerdeClassName` | The SerDe class to be used for messages output by the function|null|
+| `--hostname-verification-enabled` | Enable hostname verification|false|
+| `--instance-id-offset` | Start the instanceIds from this offset|0|
+| `--customSerdeInputs` | The map of input topics to SerDe class names (as a JSON string)|null|
+| `--name` | The name of a Pulsar Function|null|
+| `--stateStorageServiceUrl` | The URL for the state storage service (the default is Apache BookKeeper)|null|
+| `--classname` | The class name of a Pulsar Function|null|
+| `--client-auth-params` | Client authentication param|null|
+| `--disk` | The disk in bytes that need to be allocated per function instance(applicable only to docker runtime)|null|
+| `--timeoutMs` | The message timeout in milliseconds|null|
+| `--output-serde-classname` | The SerDe class to be used for messages output by the function|null|
+| `--windowLengthCount` | The number of messages per window|null|
+| `--sliding-interval-duration-ms` | The time duration after which the window slides|null|
+| `--namespace` | The namespace of a Pulsar Function|null|
+
+
+## <em>create</em>
+
+Create a Pulsar Function in cluster mode (deploy it on a Pulsar cluster)
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin functions create options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--custom-schema-outputs` | The map of input topics to Schema properties (as a JSON string)|null|
+| `--processingGuarantees` | The processing guarantees (aka delivery semantics) applied to the function|null|
+| `--window-length-duration-ms` | The time duration of the window in milliseconds|null|
+| `--batch-builder` | BatcherBuilder provides two types of batch construction methods, DEFAULT and KEY_BASED. The default value is: DEFAULT|null|
+| `--custom-schema-inputs` | The map of input topics to Schema properties (as a JSON string)|null|
+| `--window-length-count` | The number of messages per window|null|
+| `--forward-source-message-property` | Forwarding input message's properties to output topic when processing (use false to disable it)|true|
+| `--secrets` | The map of secretName to an object that encapsulates how the secret is fetched by the underlying secrets provider|null|
+| `--ram` | The ram in bytes that need to be allocated per function instance(applicable only to process/docker runtime)|null|
+| `--function-config-file` | The path to a YAML config file that specifies the configuration of a Pulsar Function|null|
+| `--topicsPattern` | TopicsPattern 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)|null|
+| `--subs-name` | Pulsar source subscription name if user wants a specific subscription-name for input-topic consumer|null|
+| `--dead-letter-topic` | The topic where messages that are not processed successfully are sent to|null|
+| `-i, --inputs` | The input topic or topics (multiple topics can be specified as a comma-separated list) of a Pulsar Function|null|
+| `--auto-ack` | Whether or not the framework acknowledges messages automatically|null|
+| `--subs-position` | Pulsar source subscription position if user wants to consume messages from the specified location|null|
+| `--user-config` | User-defined config key/values|null|
+| `--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.|null|
+| `--functionConfigFile` | The path to a YAML config file that specifies the configuration of a Pulsar Function|null|
+| `--retainOrdering` | Function consumes and processes messages in order|null|
+| `--slidingIntervalDurationMs` | The time duration after which the window slides|null|
+| `--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.|null|
+| `--parallelism` | The parallelism factor of a Pulsar Function (i.e. the number of function instances to run)|null|
+| `--tenant` | The tenant of a Pulsar Function|null|
+| `--producer-config` | The custom producer configuration (as a JSON string)|null|
+| `--log-topic` | The topic to which the logs of a Pulsar Function are produced|null|
+| `--processing-guarantees` | The processing guarantees (aka delivery semantics) applied to the function|null|
+| `--input-specs` | The map of inputs to custom configuration (as a JSON string)|null|
+| `--className` | The class name of a Pulsar Function|null|
+| `-o, --output` | The output topic of a Pulsar Function (If none is specified, no output is written)|null|
+| `--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.|null|
+| `--autoAck` | Whether or not the framework acknowledges messages automatically|null|
+| `--retain-ordering` | Function consumes and processes messages in order|null|
+| `--logTopic` | The topic to which the logs of a Pulsar Function are produced|null|
+| `-st, --schema-type` | The builtin schema type or custom schema class name to be used for messages output by the function||
+| `--fqfn` | The Fully Qualified Function Name (FQFN) for the function|null|
+| `--retain-key-ordering` | Function consumes and processes messages in key order|null|
+| `--sliding-interval-count` | The number of messages after which the window slides|null|
+| `--custom-runtime-options` | A string that encodes options to customize the runtime, see docs for configured runtime for details|null|
+| `--custom-serde-inputs` | The map of input topics to SerDe class names (as a JSON string)|null|
+| `--windowLengthDurationMs` | The time duration of the window in milliseconds|null|
+| `--timeout-ms` | The message timeout in milliseconds|null|
+| `--max-message-retries` | How many times should we try to process a message before giving up|null|
+| `--cpu` | The cpu in cores that need to be allocated per function instance(applicable only to docker runtime)|null|
+| `--userConfig` | User-defined config key/values|null|
+| `--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)|null|
+| `--slidingIntervalCount` | The number of messages after which the window slides|null|
+| `--outputSerdeClassName` | The SerDe class to be used for messages output by the function|null|
+| `--customSerdeInputs` | The map of input topics to SerDe class names (as a JSON string)|null|
+| `--name` | The name of a Pulsar Function|null|
+| `--classname` | The class name of a Pulsar Function|null|
+| `--disk` | The disk in bytes that need to be allocated per function instance(applicable only to docker runtime)|null|
+| `--timeoutMs` | The message timeout in milliseconds|null|
+| `--output-serde-classname` | The SerDe class to be used for messages output by the function|null|
+| `--windowLengthCount` | The number of messages per window|null|
+| `--sliding-interval-duration-ms` | The time duration after which the window slides|null|
+| `--namespace` | The namespace of a Pulsar Function|null|
+
+
+## <em>delete</em>
+
+Delete a Pulsar Function that is running on a Pulsar cluster
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin functions delete options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--name` | The name of a Pulsar Function|null|
+| `--fqfn` | The Fully Qualified Function Name (FQFN) for the function|null|
+| `--namespace` | The namespace of a Pulsar Function|null|
+| `--tenant` | The tenant of a Pulsar Function|null|
+
+
+## <em>update</em>
+
+Update a Pulsar Function that has been deployed to a Pulsar cluster
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin functions update options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--custom-schema-outputs` | The map of input topics to Schema properties (as a JSON string)|null|
+| `--processingGuarantees` | The processing guarantees (aka delivery semantics) applied to the function|null|
+| `--window-length-duration-ms` | The time duration of the window in milliseconds|null|
+| `--batch-builder` | BatcherBuilder provides two types of batch construction methods, DEFAULT and KEY_BASED. The default value is: DEFAULT|null|
+| `--custom-schema-inputs` | The map of input topics to Schema properties (as a JSON string)|null|
+| `--window-length-count` | The number of messages per window|null|
+| `--forward-source-message-property` | Forwarding input message's properties to output topic when processing (use false to disable it)|true|
+| `--secrets` | The map of secretName to an object that encapsulates how the secret is fetched by the underlying secrets provider|null|
+| `--ram` | The ram in bytes that need to be allocated per function instance(applicable only to process/docker runtime)|null|
+| `--function-config-file` | The path to a YAML config file that specifies the configuration of a Pulsar Function|null|
+| `--topicsPattern` | TopicsPattern 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)|null|
+| `--subs-name` | Pulsar source subscription name if user wants a specific subscription-name for input-topic consumer|null|
+| `--dead-letter-topic` | The topic where messages that are not processed successfully are sent to|null|
+| `-i, --inputs` | The input topic or topics (multiple topics can be specified as a comma-separated list) of a Pulsar Function|null|
+| `--auto-ack` | Whether or not the framework acknowledges messages automatically|null|
+| `--subs-position` | Pulsar source subscription position if user wants to consume messages from the specified location|null|
+| `--user-config` | User-defined config key/values|null|
+| `--update-auth-data` | Whether or not to update the auth data|false|
+| `--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.|null|
+| `--functionConfigFile` | The path to a YAML config file that specifies the configuration of a Pulsar Function|null|
+| `--retainOrdering` | Function consumes and processes messages in order|null|
+| `--slidingIntervalDurationMs` | The time duration after which the window slides|null|
+| `--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.|null|
+| `--parallelism` | The parallelism factor of a Pulsar Function (i.e. the number of function instances to run)|null|
+| `--tenant` | The tenant of a Pulsar Function|null|
+| `--producer-config` | The custom producer configuration (as a JSON string)|null|
+| `--log-topic` | The topic to which the logs of a Pulsar Function are produced|null|
+| `--processing-guarantees` | The processing guarantees (aka delivery semantics) applied to the function|null|
+| `--input-specs` | The map of inputs to custom configuration (as a JSON string)|null|
+| `--className` | The class name of a Pulsar Function|null|
+| `-o, --output` | The output topic of a Pulsar Function (If none is specified, no output is written)|null|
+| `--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.|null|
+| `--autoAck` | Whether or not the framework acknowledges messages automatically|null|
+| `--retain-ordering` | Function consumes and processes messages in order|null|
+| `--logTopic` | The topic to which the logs of a Pulsar Function are produced|null|
+| `-st, --schema-type` | The builtin schema type or custom schema class name to be used for messages output by the function||
+| `--fqfn` | The Fully Qualified Function Name (FQFN) for the function|null|
+| `--retain-key-ordering` | Function consumes and processes messages in key order|null|
+| `--sliding-interval-count` | The number of messages after which the window slides|null|
+| `--custom-runtime-options` | A string that encodes options to customize the runtime, see docs for configured runtime for details|null|
+| `--custom-serde-inputs` | The map of input topics to SerDe class names (as a JSON string)|null|
+| `--windowLengthDurationMs` | The time duration of the window in milliseconds|null|
+| `--timeout-ms` | The message timeout in milliseconds|null|
+| `--max-message-retries` | How many times should we try to process a message before giving up|null|
+| `--cpu` | The cpu in cores that need to be allocated per function instance(applicable only to docker runtime)|null|
+| `--userConfig` | User-defined config key/values|null|
+| `--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)|null|
+| `--slidingIntervalCount` | The number of messages after which the window slides|null|
+| `--outputSerdeClassName` | The SerDe class to be used for messages output by the function|null|
+| `--customSerdeInputs` | The map of input topics to SerDe class names (as a JSON string)|null|
+| `--name` | The name of a Pulsar Function|null|
+| `--classname` | The class name of a Pulsar Function|null|
+| `--disk` | The disk in bytes that need to be allocated per function instance(applicable only to docker runtime)|null|
+| `--timeoutMs` | The message timeout in milliseconds|null|
+| `--output-serde-classname` | The SerDe class to be used for messages output by the function|null|
+| `--windowLengthCount` | The number of messages per window|null|
+| `--sliding-interval-duration-ms` | The time duration after which the window slides|null|
+| `--namespace` | The namespace of a Pulsar Function|null|
+
+
+## <em>get</em>
+
+Fetch information about a Pulsar Function
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin functions get options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--name` | The name of a Pulsar Function|null|
+| `--fqfn` | The Fully Qualified Function Name (FQFN) for the function|null|
+| `--namespace` | The namespace of a Pulsar Function|null|
+| `--tenant` | The tenant of a Pulsar Function|null|
+
+
+## <em>restart</em>
+
+Restart function instance
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin functions restart options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--name` | The name of a Pulsar Function|null|
+| `--fqfn` | The Fully Qualified Function Name (FQFN) for the function|null|
+| `--namespace` | The namespace of a Pulsar Function|null|
+| `--tenant` | The tenant of a Pulsar Function|null|
+| `--instance-id` | The function instanceId (restart all instances if instance-id is not provided)|null|
+
+
+## <em>stop</em>
+
+Stops function instance
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin functions stop options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--name` | The name of a Pulsar Function|null|
+| `--fqfn` | The Fully Qualified Function Name (FQFN) for the function|null|
+| `--namespace` | The namespace of a Pulsar Function|null|
+| `--instance-id` | The function instanceId (stop all instances if instance-id is not provided)|null|
+| `--tenant` | The tenant of a Pulsar Function|null|
+
+
+## <em>start</em>
+
+Starts a stopped function instance
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin functions start options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--name` | The name of a Pulsar Function|null|
+| `--instance-id` | The function instanceId (start all instances if instance-id is not provided)|null|
+| `--fqfn` | The Fully Qualified Function Name (FQFN) for the function|null|
+| `--namespace` | The namespace of a Pulsar Function|null|
+| `--tenant` | The tenant of a Pulsar Function|null|
+
+
+## <em>status</em>
+
+Check the current status of a Pulsar Function
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin functions status options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--name` | The name of a Pulsar Function|null|
+| `--fqfn` | The Fully Qualified Function Name (FQFN) for the function|null|
+| `--namespace` | The namespace of a Pulsar Function|null|
+| `--tenant` | The tenant of a Pulsar Function|null|
+| `--instance-id` | The function instanceId (Get-status of all instances if instance-id is not provided)|null|
+
+
+## <em>stats</em>
+
+Get the current stats of a Pulsar Function
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin functions stats options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--name` | The name of a Pulsar Function|null|
+| `--fqfn` | The Fully Qualified Function Name (FQFN) for the function|null|
+| `--instance-id` | The function instanceId (Get-stats of all instances if instance-id is not provided)|null|
+| `--namespace` | The namespace of a Pulsar Function|null|
+| `--tenant` | The tenant of a Pulsar Function|null|
+
+
+## <em>list</em>
+
+List all Pulsar Functions running under a specific tenant and namespace
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin functions list options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--namespace` | The namespace of a Pulsar Function|null|
+| `--tenant` | The tenant of a Pulsar Function|null|
+
+
+## <em>querystate</em>
+
+Fetch the current state associated with a Pulsar Function
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin functions querystate options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--name` | The name of a Pulsar Function|null|
+| `-k, --key` | Key name of State|null|
+| `--fqfn` | The Fully Qualified Function Name (FQFN) for the function|null|
+| `--namespace` | The namespace of a Pulsar Function|null|
+| `-w, --watch` | Watch for changes in the value associated with a key for a Pulsar Function|false|
+| `--tenant` | The tenant of a Pulsar Function|null|
+
+
+## <em>putstate</em>
+
+Put the state associated with a Pulsar Function
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin functions putstate options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--name` | The name of a Pulsar Function|null|
+| `--fqfn` | The Fully Qualified Function Name (FQFN) for the function|null|
+| `--namespace` | The namespace of a Pulsar Function|null|
+| `--tenant` | The tenant of a Pulsar Function|null|
+| `-s, --state` | The FunctionState that needs to be put|null|
+
+
+## <em>trigger</em>
+
+Trigger the specified Pulsar Function with a supplied value
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin functions trigger options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--name` | The name of a Pulsar Function|null|
+| `--fqfn` | The Fully Qualified Function Name (FQFN) for the function|null|
+| `--namespace` | The namespace of a Pulsar Function|null|
+| `--trigger-value` | The value with which you want to trigger the function|null|
+| `--trigger-file` | The path to the file that contains the data with which you want to trigger the function|null|
+| `--topic` | The specific topic name that the function consumes from that you want to inject the data to|null|
+| `--triggerFile` | The path to the file that contains the data with which you want to trigger the function|null|
+| `--tenant` | The tenant of a Pulsar Function|null|
+| `--triggerValue` | The value with which you want to trigger the function|null|
+
+
+## <em>upload</em>
+
+Upload File Data to Pulsar
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin functions upload options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--source-file` | The file whose contents need to be uploaded|null|
+| `--sourceFile` | The file whose contents need to be uploaded|null|
+| `--path` | Path where the contents need to be stored|null|
+
+
+## <em>download</em>
+
+Download File Data from Pulsar
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin functions download options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--name` | The name of a Pulsar Function|null|
+| `--fqfn` | The Fully Qualified Function Name (FQFN) for the function|null|
+| `--namespace` | The namespace of a Pulsar Function|null|
+| `--destinationFile` | The file to store downloaded content|null|
+| `--path` | Path to store the content|null|
+| `--destination-file` | The file to store downloaded content|null|
+| `--tenant` | The tenant of a Pulsar Function|null|
+
diff --git a/site2/website-next/docsify/2.6.0/pulsar-admin/namespaces.md b/site2/website-next/docsify/2.6.0/pulsar-admin/namespaces.md
new file mode 100644
index 00000000000..67383ce5b2c
--- /dev/null
+++ b/site2/website-next/docsify/2.6.0/pulsar-admin/namespaces.md
@@ -0,0 +1,2467 @@
+------------
+
+# namespaces
+
+### Usage
+
+`$namespaces`
+
+------------
+
+Operations about namespaces
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces subcommand
+```
+
+* `list`
+* `list-cluster`
+* `topics`
+* `bundles`
+* `destinations`
+* `policies`
+* `create`
+* `delete`
+* `permissions`
+* `grant-permission`
+* `revoke-permission`
+* `subscription-permission`
+* `grant-subscription-permission`
+* `revoke-subscription-permission`
+* `set-clusters`
+* `get-clusters`
+* `set-subscription-types-enabled`
+* `get-subscription-types-enabled`
+* `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-max-subscriptions-per-topic`
+* `set-max-subscriptions-per-topic`
+* `remove-max-subscriptions-per-topic`
+* `get-subscription-expiration-time`
+* `set-subscription-expiration-time`
+* `remove-subscription-expiration-time`
+* `get-anti-affinity-group`
+* `set-anti-affinity-group`
+* `get-anti-affinity-namespaces`
+* `delete-anti-affinity-group`
+* `set-deduplication`
+* `get-deduplication`
+* `remove-deduplication`
+* `set-auto-topic-creation`
+* `get-auto-topic-creation`
+* `remove-auto-topic-creation`
+* `set-auto-subscription-creation`
+* `get-auto-subscription-creation`
+* `remove-auto-subscription-creation`
+* `get-retention`
+* `set-retention`
+* `remove-retention`
+* `set-bookie-affinity-group`
+* `get-bookie-affinity-group`
+* `delete-bookie-affinity-group`
+* `unload`
+* `split-bundle`
+* `set-dispatch-rate`
+* `remove-dispatch-rate`
+* `get-dispatch-rate`
+* `set-subscribe-rate`
+* `get-subscribe-rate`
+* `remove-subscribe-rate`
+* `set-subscription-dispatch-rate`
+* `get-subscription-dispatch-rate`
+* `remove-subscription-dispatch-rate`
+* `set-publish-rate`
+* `get-publish-rate`
+* `remove-publish-rate`
+* `set-replicator-dispatch-rate`
+* `get-replicator-dispatch-rate`
+* `remove-replicator-dispatch-rate`
+* `clear-backlog`
+* `unsubscribe`
+* `set-encryption-required`
+* `get-encryption-required`
+* `set-subscription-auth-mode`
+* `get-subscription-auth-mode`
+* `set-delayed-delivery`
+* `get-delayed-delivery`
+* `remove-delayed-delivery`
+* `get-inactive-topic-policies`
+* `set-inactive-topic-policies`
+* `remove-inactive-topic-policies`
+* `get-max-producers-per-topic`
+* `set-max-producers-per-topic`
+* `remove-max-producers-per-topic`
+* `get-max-consumers-per-topic`
+* `set-max-consumers-per-topic`
+* `remove-max-consumers-per-topic`
+* `get-max-consumers-per-subscription`
+* `set-max-consumers-per-subscription`
+* `remove-max-consumers-per-subscription`
+* `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`
+* `get-compaction-threshold`
+* `set-compaction-threshold`
+* `remove-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`
+* `get-schema-compatibility-strategy`
+* `set-schema-compatibility-strategy`
+* `get-is-allow-auto-update-schema`
+* `set-is-allow-auto-update-schema`
+* `get-schema-validation-enforce`
+* `set-schema-validation-enforce`
+* `set-offload-policies`
+* `remove-offload-policies`
+* `get-offload-policies`
+* `set-deduplication-snapshot-interval`
+* `get-deduplication-snapshot-interval`
+* `remove-deduplication-snapshot-interval`
+* `set-max-topics-per-namespace`
+* `get-max-topics-per-namespace`
+* `remove-max-topics-per-namespace`
+* `set-property`
+* `get-property`
+* `remove-property`
+* `set-properties`
+* `get-properties`
+* `clear-properties`
+* `get-resource-group`
+* `set-resource-group`
+* `remove-resource-group`
+
+
+## <em>list</em>
+
+Get the namespaces for a tenant
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces list options
+```
+
+
+
+## <em>list-cluster</em>
+
+Get the namespaces for a tenant in a cluster
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces list-cluster options
+```
+
+
+
+## <em>topics</em>
+
+Get the list of topics for a namespace
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces topics options
+```
+
+
+
+## <em>bundles</em>
+
+Get the list of bundles for a namespace
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces bundles options
+```
+
+
+
+## <em>destinations</em>
+
+Get the list of destinations for a namespace
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces destinations options
+```
+
+
+
+## <em>policies</em>
+
+Get the configuration policies of a namespace
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces policies options
+```
+
+
+
+## <em>create</em>
+
+Creates a new namespace
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces create options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--clusters, -c` | List of clusters this namespace will be assigned|null|
+| `--bundles, -b` | number of bundles to activate|0|
+
+
+## <em>delete</em>
+
+Deletes a namespace.
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces delete options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `-f, --force` | Delete namespace forcefully by force deleting all topics under it|false|
+
+
+## <em>permissions</em>
+
+Get the permissions on a namespace
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces permissions options
+```
+
+
+
+## <em>grant-permission</em>
+
+Grant permissions on a namespace
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces grant-permission options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--actions` | Actions to be granted (produce,consume)|null|
+| `--role` | Client role to which grant permissions|null|
+
+
+## <em>revoke-permission</em>
+
+Revoke permissions on a namespace
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces revoke-permission options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--role` | Client role to which revoke permissions|null|
+
+
+## <em>subscription-permission</em>
+
+Get permissions to access subscription admin-api
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces subscription-permission options
+```
+
+
+
+## <em>grant-subscription-permission</em>
+
+Grant permissions to access subscription admin-api
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces grant-subscription-permission options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--roles` | Client roles to which grant permissions (comma separated roles)|null|
+| `--subscription` | Subscription name for which permission will be granted to roles|null|
+
+
+## <em>revoke-subscription-permission</em>
+
+Revoke permissions to access subscription admin-api
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces revoke-subscription-permission options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--subscription` | Subscription name for which permission will be revoked to roles|null|
+| `--role` | Client role to which revoke permissions|null|
+
+
+## <em>set-clusters</em>
+
+Set replication clusters for a namespace
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces set-clusters options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--clusters, -c` | Replication Cluster Ids list (comma separated values)|null|
+
+
+## <em>get-clusters</em>
+
+Get replication clusters for a namespace
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces get-clusters options
+```
+
+
+
+## <em>set-subscription-types-enabled</em>
+
+Set subscription types enabled for a namespace
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces set-subscription-types-enabled options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--types, -t` | Subscription types enabled list (comma separated values)|null|
+
+
+## <em>get-subscription-types-enabled</em>
+
+Get subscription types enabled for a namespace
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces get-subscription-types-enabled options
+```
+
+
+
+## <em>get-backlog-quotas</em>
+
+Get the backlog quota policies for a namespace
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces get-backlog-quotas options
+```
+
+
+
+## <em>set-backlog-quota</em>
+
+Set a backlog quota policy for a namespace
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces set-backlog-quota options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `-l, --limit` | Size limit (eg: 10M, 16G)|null|
+| `-lt, --limitTime` | Time limit in second, non-positive number for disabling time limit.|-1|
+| `-p, --policy` | Retention policy to enforce when the limit is reached. Valid options are: [producer_request_hold, producer_exception, consumer_backlog_eviction]|null|
+| `-t, --type` | Backlog quota type to set|destination_storage|
+
+
+## <em>remove-backlog-quota</em>
+
+Remove a backlog quota policy from a namespace
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces remove-backlog-quota options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `-t, --type` | Backlog quota type to remove|destination_storage|
+
+
+## <em>get-persistence</em>
+
+Get the persistence policies for a namespace
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces get-persistence options
+```
+
+
+
+## <em>set-persistence</em>
+
+Set the persistence policies for a namespace
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces set-persistence options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `-e, --bookkeeper-ensemble` | Number of bookies to use for a topic|0|
+| `-a, --bookkeeper-ack-quorum` | Number of acks (guaranteed copies) to wait for each entry|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)|0.0|
+
+
+## <em>remove-persistence</em>
+
+Remove the persistence policies for a namespace
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces remove-persistence options
+```
+
+
+
+## <em>get-message-ttl</em>
+
+Get message TTL for a namespace
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces get-message-ttl options
+```
+
+
+
+## <em>set-message-ttl</em>
+
+Set Message TTL for a namespace
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces set-message-ttl options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--messageTTL, -ttl` | Message TTL in seconds. When the value is set to `0`, TTL is disabled.|0|
+
+
+## <em>remove-message-ttl</em>
+
+Remove Message TTL for a namespace
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces remove-message-ttl options
+```
+
+
+
+## <em>get-max-subscriptions-per-topic</em>
+
+Get max subscriptions per topic for a namespace
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces get-max-subscriptions-per-topic options
+```
+
+
+
+## <em>set-max-subscriptions-per-topic</em>
+
+Set max subscriptions per topic for a namespace
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces set-max-subscriptions-per-topic options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--max-subscriptions-per-topic, -m` | Max subscriptions per topic|0|
+
+
+## <em>remove-max-subscriptions-per-topic</em>
+
+Remove max subscriptions per topic for a namespace
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces remove-max-subscriptions-per-topic options
+```
+
+
+
+## <em>get-subscription-expiration-time</em>
+
+Get subscription expiration time for a namespace
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces get-subscription-expiration-time options
+```
+
+
+
+## <em>set-subscription-expiration-time</em>
+
+Set subscription expiration time for a namespace
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces set-subscription-expiration-time options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `-t, --time` | Subscription expiration time in minutes|0|
+
+
+## <em>remove-subscription-expiration-time</em>
+
+Remove subscription expiration time for a namespace
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces remove-subscription-expiration-time options
+```
+
+
+
+## <em>get-anti-affinity-group</em>
+
+Get Anti-affinity group name for a namespace
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces get-anti-affinity-group options
+```
+
+
+
+## <em>set-anti-affinity-group</em>
+
+Set Anti-affinity group name for a namespace
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces set-anti-affinity-group options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--group, -g` | Anti-affinity group name|null|
+
+
+## <em>get-anti-affinity-namespaces</em>
+
+Get Anti-affinity namespaces grouped with the given anti-affinity group name
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces get-anti-affinity-namespaces options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--cluster, -c` | Cluster name|null|
+| `--group, -g` | Anti-affinity group name|null|
+| `--tenant, -p` | tenant is only used for authorization. Client has to be admin of any of the tenant to access this api|null|
+
+
+## <em>delete-anti-affinity-group</em>
+
+Remove Anti-affinity group name for a namespace
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces delete-anti-affinity-group options
+```
+
+
+
+## <em>set-deduplication</em>
+
+Enable or disable deduplication for a namespace
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces set-deduplication options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--enable, -e` | Enable deduplication|false|
+| `--disable, -d` | Disable deduplication|false|
+
+
+## <em>get-deduplication</em>
+
+Get Deduplication for a namespace
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces get-deduplication options
+```
+
+
+
+## <em>remove-deduplication</em>
+
+Remove Deduplication for a namespace
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces remove-deduplication options
+```
+
+
+
+## <em>set-auto-topic-creation</em>
+
+Enable or disable autoTopicCreation for a namespace, overriding broker settings
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces set-auto-topic-creation options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--enable, -e` | Enable allowAutoTopicCreation on namespace|false|
+| `--num-partitions, -n` | Default number of partitions of topic to be auto-created, applicable to partitioned topics only|null|
+| `--disable, -d` | Disable allowAutoTopicCreation on namespace|false|
+| `--type, -t` | Type of topic to be auto-created. Possible values: (partitioned, non-partitioned). Default value: non-partitioned|non-partitioned|
+
+
+## <em>get-auto-topic-creation</em>
+
+Get autoTopicCreation info for a namespace
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces get-auto-topic-creation options
+```
+
+
+
+## <em>remove-auto-topic-creation</em>
+
+Remove override of autoTopicCreation for a namespace
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces remove-auto-topic-creation options
+```
+
+
+
+## <em>set-auto-subscription-creation</em>
+
+Enable autoSubscriptionCreation for a namespace, overriding broker settings
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces set-auto-subscription-creation options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--enable, -e` | Enable allowAutoSubscriptionCreation on namespace|false|
+
+
+## <em>get-auto-subscription-creation</em>
+
+Get the autoSubscriptionCreation for a namespace
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces get-auto-subscription-creation options
+```
+
+
+
+## <em>remove-auto-subscription-creation</em>
+
+Remove override of autoSubscriptionCreation for a namespace
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces remove-auto-subscription-creation options
+```
+
+
+
+## <em>get-retention</em>
+
+Get the retention policy for a namespace
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces get-retention options
+```
+
+
+
+## <em>set-retention</em>
+
+Set the retention policy for a namespace
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces set-retention options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--size, -s` | Retention size limit (eg: 10M, 16G, 3T). 0 or less than 1MB means no retention and -1 means infinite size retention|null|
+| `--time, -t` | Retention time in minutes (or minutes, hours,days,weeks eg: 100m, 3h, 2d, 5w). 0 means no retention and -1 means infinite time retention|null|
+
+
+## <em>remove-retention</em>
+
+Remove the retention policy for a namespace
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces remove-retention options
+```
+
+
+
+## <em>set-bookie-affinity-group</em>
+
+Set the bookie-affinity group name
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces set-bookie-affinity-group options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--primary-group, -pg` | Bookie-affinity primary-groups (comma separated) name where namespace messages should be written|null|
+| `--secondary-group, -sg` | Bookie-affinity secondary-group (comma separated) name where namespace messages should be written. If you want to verify whether there are enough bookies in groups, use `--secondary-group` flag. Messages in this namespace are stored in secondary groups. If a group does not contain enough bookies, a topic cannot be created.|null|
+
+
+## <em>get-bookie-affinity-group</em>
+
+Get the bookie-affinity group name
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces get-bookie-affinity-group options
+```
+
+
+
+## <em>delete-bookie-affinity-group</em>
+
+Set the bookie-affinity group name
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces delete-bookie-affinity-group options
+```
+
+
+
+## <em>unload</em>
+
+Unload a namespace from the current serving broker
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces unload options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--bundle, -b` | {start-boundary}_{end-boundary}|null|
+
+
+## <em>split-bundle</em>
+
+Split a namespace-bundle from the current serving broker
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces split-bundle options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--unload, -u` | Unload newly split bundles after splitting old bundle|false|
+| `--split-algorithm-name, -san` | Algorithm name for split namespace bundle. Valid options are: [range_equally_divide, topic_count_equally_divide]. Use broker side config if absent|null|
+| `--bundle, -b` | {start-boundary}_{end-boundary} / LARGEST(bundle with highest topics)|null|
+
+
+## <em>set-dispatch-rate</em>
+
+Set message-dispatch-rate for all topics of the namespace
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces set-dispatch-rate options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--msg-dispatch-rate, -md` | message-dispatch-rate (default -1 will be overwrite if not passed)|-1|
+| `--dispatch-rate-period, -dt` | dispatch-rate-period in second type (default 1 second will be overwrite if not passed)|1|
+| `--relative-to-publish-rate, -rp` | dispatch rate relative to publish-rate (if publish-relative flag is enabled then broker will apply throttling value to (publish-rate + dispatch rate))|false|
+| `--byte-dispatch-rate, -bd` | byte-dispatch-rate (default -1 will be overwrite if not passed)|-1|
+
+
+## <em>remove-dispatch-rate</em>
+
+Remove configured message-dispatch-rate for all topics of the namespace
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces remove-dispatch-rate options
+```
+
+
+
+## <em>get-dispatch-rate</em>
+
+Get configured message-dispatch-rate for all topics of the namespace (Disabled if value < 0)
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces get-dispatch-rate options
+```
+
+
+
+## <em>set-subscribe-rate</em>
+
+Set subscribe-rate per consumer for all topics of the namespace
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces set-subscribe-rate options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--subscribe-rate, -sr` | subscribe-rate (default -1 will be overwrite if not passed)|-1|
+| `--subscribe-rate-period, -st` | subscribe-rate-period in second type (default 30 second will be overwrite if not passed)|30|
+
+
+## <em>get-subscribe-rate</em>
+
+Get configured subscribe-rate per consumer for all topics of the namespace
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces get-subscribe-rate options
+```
+
+
+
+## <em>remove-subscribe-rate</em>
+
+Remove configured subscribe-rate per consumer for all topics of the namespace
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces remove-subscribe-rate options
+```
+
+
+
+## <em>set-subscription-dispatch-rate</em>
+
+Set subscription message-dispatch-rate for all subscription of the namespace
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces set-subscription-dispatch-rate options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--byte-dispatch-rate, -bd` | byte-dispatch-rate (default -1 will be overwrite if not passed)|-1|
+| `--dispatch-rate-period, -dt` | dispatch-rate-period in second type (default 1 second will be overwrite if not passed)|1|
+| `--relative-to-publish-rate, -rp` | dispatch rate relative to publish-rate (if publish-relative flag is enabled then broker will apply throttling value to (publish-rate + dispatch rate))|false|
+| `--msg-dispatch-rate, -md` | message-dispatch-rate (default -1 will be overwrite if not passed)|-1|
+
+
+## <em>get-subscription-dispatch-rate</em>
+
+Get subscription configured message-dispatch-rate for all topics of the namespace (Disabled if value < 0)
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces get-subscription-dispatch-rate options
+```
+
+
+
+## <em>remove-subscription-dispatch-rate</em>
+
+Remove subscription configured message-dispatch-rate for all topics of the namespace
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces remove-subscription-dispatch-rate options
+```
+
+
+
+## <em>set-publish-rate</em>
+
+Set publish-rate for all topics of the namespace
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces set-publish-rate options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--byte-publish-rate, -b` | byte-publish-rate (default -1 will be overwrite if not passed)|-1|
+| `--msg-publish-rate, -m` | message-publish-rate (default -1 will be overwrite if not passed)|-1|
+
+
+## <em>get-publish-rate</em>
+
+Get configured message-publish-rate for all topics of the namespace (Disabled if value < 0)
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces get-publish-rate options
+```
+
+
+
+## <em>remove-publish-rate</em>
+
+Remove publish-rate for all topics of the namespace
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces remove-publish-rate options
+```
+
+
+
+## <em>set-replicator-dispatch-rate</em>
+
+Set replicator message-dispatch-rate for all topics of the namespace
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces set-replicator-dispatch-rate options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--dispatch-rate-period, -dt` | dispatch-rate-period in second type (default 1 second will be overwrite if not passed)|1|
+| `--byte-dispatch-rate, -bd` | byte-dispatch-rate (default -1 will be overwrite if not passed)|-1|
+| `--msg-dispatch-rate, -md` | message-dispatch-rate (default -1 will be overwrite if not passed)|-1|
+
+
+## <em>get-replicator-dispatch-rate</em>
+
+Get replicator configured message-dispatch-rate for all topics of the namespace (Disabled if value < 0)
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces get-replicator-dispatch-rate options
+```
+
+
+
+## <em>remove-replicator-dispatch-rate</em>
+
+Remove replicator configured message-dispatch-rate for all topics of the namespace
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces remove-replicator-dispatch-rate options
+```
+
+
+
+## <em>clear-backlog</em>
+
+Clear backlog for a namespace
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces clear-backlog options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--sub, -s` | subscription name|null|
+| `--bundle, -b` | {start-boundary}_{end-boundary}|null|
+| `--force, -force` | Whether to force clear backlog without prompt|false|
+
+
+## <em>unsubscribe</em>
+
+Unsubscribe the given subscription on all topics on a namespace
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces unsubscribe options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--bundle, -b` | {start-boundary}_{end-boundary}|null|
+| `--sub, -s` | subscription name|null|
+
+
+## <em>set-encryption-required</em>
+
+Enable or disable message encryption required for a namespace
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces set-encryption-required options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--disable, -d` | Disable message encryption required|false|
+| `--enable, -e` | Enable message encryption required|false|
+
+
+## <em>get-encryption-required</em>
+
+Get encryption required for a namespace
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces get-encryption-required options
+```
+
+
+
+## <em>set-subscription-auth-mode</em>
+
+Set subscription auth mode on a namespace
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces set-subscription-auth-mode options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `-m, --subscription-auth-mode` | Subscription authorization mode for Pulsar policies. Valid options are: [None, Prefix]|null|
+
+
+## <em>get-subscription-auth-mode</em>
+
+Get subscriptionAuthMod for a namespace
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces get-subscription-auth-mode options
+```
+
+
+
+## <em>set-delayed-delivery</em>
+
+Set the delayed delivery policy on a namespace
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces set-delayed-delivery options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--disable, -d` | Disable delayed delivery messages|false|
+| `--time, -t` | The tick time for when retrying on delayed delivery messages, affecting the accuracy of the delivery time compared to the scheduled time. (eg: 1s, 10s, 1m, 5h, 3d)|1s|
+| `--enable, -e` | Enable delayed delivery messages|false|
+
+
+## <em>get-delayed-delivery</em>
+
+Get the delayed delivery policy for a namespace
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces get-delayed-delivery options
+```
+
+
+
+## <em>remove-delayed-delivery</em>
+
+Remove delayed delivery policies from a namespace
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces remove-delayed-delivery options
+```
+
+
+
+## <em>get-inactive-topic-policies</em>
+
+Get the inactive topic policy for a namespace
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces get-inactive-topic-policies options
+```
+
+
+
+## <em>set-inactive-topic-policies</em>
+
+Set the inactive topic policies on a namespace
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces set-inactive-topic-policies options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--max-inactive-duration, -t` | Max duration of topic inactivity in seconds,topics that are inactive for longer than this value will be deleted (eg: 1s, 10s, 1m, 5h, 3d)|null|
+| `--disable-delete-while-inactive, -d` | Disable delete while inactive|false|
+| `--enable-delete-while-inactive, -e` | Enable delete while inactive|false|
+| `--delete-mode, -m` | Mode of delete inactive topic,Valid options are: [delete_when_no_subscriptions, delete_when_subscriptions_caught_up]|null|
+
+
+## <em>remove-inactive-topic-policies</em>
+
+Remove inactive topic policies from a namespace
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces remove-inactive-topic-policies options
+```
+
+
+
+## <em>get-max-producers-per-topic</em>
+
+Get maxProducersPerTopic for a namespace
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces get-max-producers-per-topic options
+```
+
+
+
+## <em>set-max-producers-per-topic</em>
+
+Set maxProducersPerTopic for a namespace
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces set-max-producers-per-topic options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--max-producers-per-topic, -p` | maxProducersPerTopic for a namespace|0|
+
+
+## <em>remove-max-producers-per-topic</em>
+
+Remove max producers per topic for a namespace
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces remove-max-producers-per-topic options
+```
+
+
+
+## <em>get-max-consumers-per-topic</em>
+
+Get maxConsumersPerTopic for a namespace
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces get-max-consumers-per-topic options
+```
+
+
+
+## <em>set-max-consumers-per-topic</em>
+
+Set maxConsumersPerTopic for a namespace
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces set-max-consumers-per-topic options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--max-consumers-per-topic, -c` | maxConsumersPerTopic for a namespace|0|
+
+
+## <em>remove-max-consumers-per-topic</em>
+
+Remove max consumers per topic for a namespace
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces remove-max-consumers-per-topic options
+```
+
+
+
+## <em>get-max-consumers-per-subscription</em>
+
+Get maxConsumersPerSubscription for a namespace
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces get-max-consumers-per-subscription options
+```
+
+
+
+## <em>set-max-consumers-per-subscription</em>
+
+Set maxConsumersPerSubscription for a namespace
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces set-max-consumers-per-subscription options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--max-consumers-per-subscription, -c` | maxConsumersPerSubscription for a namespace|0|
+
+
+## <em>remove-max-consumers-per-subscription</em>
+
+Remove maxConsumersPerSubscription for a namespace
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces remove-max-consumers-per-subscription options
+```
+
+
+
+## <em>get-max-unacked-messages-per-subscription</em>
+
+Get maxUnackedMessagesPerSubscription for a namespace
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces get-max-unacked-messages-per-subscription options
+```
+
+
+
+## <em>set-max-unacked-messages-per-subscription</em>
+
+Set maxUnackedMessagesPerSubscription for a namespace
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces set-max-unacked-messages-per-subscription options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--max-unacked-messages-per-subscription, -c` | maxUnackedMessagesPerSubscription for a namespace|0|
+
+
+## <em>remove-max-unacked-messages-per-subscription</em>
+
+Remove maxUnackedMessagesPerSubscription for a namespace
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces remove-max-unacked-messages-per-subscription options
+```
+
+
+
+## <em>get-max-unacked-messages-per-consumer</em>
+
+Get maxUnackedMessagesPerConsumer for a namespace
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces get-max-unacked-messages-per-consumer options
+```
+
+
+
+## <em>set-max-unacked-messages-per-consumer</em>
+
+Set maxUnackedMessagesPerConsumer for a namespace
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces set-max-unacked-messages-per-consumer options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--max-unacked-messages-per-topic, -c` | maxUnackedMessagesPerConsumer for a namespace|0|
+
+
+## <em>get-compaction-threshold</em>
+
+Get compactionThreshold for a namespace
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces get-compaction-threshold options
+```
+
+
+
+## <em>set-compaction-threshold</em>
+
+Set compactionThreshold for a namespace
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces set-compaction-threshold options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--threshold, -t` | Maximum number of bytes in a topic backlog before compaction is triggered (eg: 10M, 16G, 3T). 0 disables automatic compaction|0|
+
+
+## <em>remove-compaction-threshold</em>
+
+Remove compactionThreshold for a namespace
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces remove-compaction-threshold options
+```
+
+
+
+## <em>get-offload-threshold</em>
+
+Get offloadThreshold for a namespace
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces get-offload-threshold options
+```
+
+
+
+## <em>set-offload-threshold</em>
+
+Set offloadThreshold for a namespace
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces set-offload-threshold options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--size, -s` | 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). -1 falls back to the cluster's namespace default. Negative values disable automatic offload. 0 triggers offloading as soon as possible.|-1|
+
+
+## <em>get-offload-deletion-lag</em>
+
+Get offloadDeletionLag, in minutes, for a namespace
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces get-offload-deletion-lag options
+```
+
+
+
+## <em>set-offload-deletion-lag</em>
+
+Set offloadDeletionLag for a namespace
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces set-offload-deletion-lag options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--lag, -l` | 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|
+
+
+## <em>clear-offload-deletion-lag</em>
+
+Clear offloadDeletionLag for a namespace
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces clear-offload-deletion-lag options
+```
+
+
+
+## <em>get-schema-autoupdate-strategy</em>
+
+Get the schema auto-update strategy for a namespace
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces get-schema-autoupdate-strategy options
+```
+
+
+
+## <em>set-schema-autoupdate-strategy</em>
+
+Set the schema auto-update strategy for a namespace
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces set-schema-autoupdate-strategy options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--compatibility, -c` | Compatibility level required for new schemas created via a Producer. Possible values (Full, Backward, Forward).|null|
+| `--disabled, -d` | Disable automatic schema updates|false|
+
+
+## <em>get-schema-compatibility-strategy</em>
+
+Get the schema compatibility strategy for a namespace
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces get-schema-compatibility-strategy options
+```
+
+
+
+## <em>set-schema-compatibility-strategy</em>
+
+Set the schema compatibility strategy for a namespace
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces set-schema-compatibility-strategy options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--compatibility, -c` | Compatibility level required for new schemas created via a Producer. Possible values (FULL, BACKWARD, FORWARD, UNDEFINED, BACKWARD_TRANSITIVE, FORWARD_TRANSITIVE, FULL_TRANSITIVE, ALWAYS_INCOMPATIBLE,ALWAYS_COMPATIBLE).|null|
+
+
+## <em>get-is-allow-auto-update-schema</em>
+
+Get the namespace whether allow auto update schema
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces get-is-allow-auto-update-schema options
+```
+
+
+
+## <em>set-is-allow-auto-update-schema</em>
+
+Set the namespace whether allow auto update schema
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces set-is-allow-auto-update-schema options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--disable, -d` | Disable schema validation enforced|false|
+| `--enable, -e` | Enable schema validation enforced|false|
+
+
+## <em>get-schema-validation-enforce</em>
+
+Get the schema validation enforced
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces get-schema-validation-enforce options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `-ap, --applied` | Get the applied policy of the namespace|false|
+
+
+## <em>set-schema-validation-enforce</em>
+
+Set the schema whether open schema validation enforced
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces set-schema-validation-enforce options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--disable, -d` | Disable schema validation enforced|false|
+| `--enable, -e` | Enable schema validation enforced|false|
+
+
+## <em>set-offload-policies</em>
+
+Set the offload policies for a namespace
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces set-offload-policies options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--offloadAfterThreshold, -oat` | Offload after threshold size (eg: 1M, 5M)|null|
+| `--s3-role-session-name, -rsn` | S3 role session name used for STSAssumeRoleSessionCredentialsProvider|null|
+| `--bucket, -b` | Bucket to place offloaded ledger into|null|
+| `--aws-secret, -s` | AWS Credential Secret to use when using driver S3 or aws-s3|null|
+| `--offloadAfterElapsed, -oae` | Offload after elapsed in minutes (or minutes, hours,days,weeks eg: 100m, 3h, 2d, 5w).|null|
+| `--region, -r` | The long term storage region, default is s3ManagedLedgerOffloadRegion or gcsManagedLedgerOffloadRegion in broker.conf|null|
+| `--s3-role, -ro` | S3 Role used for STSAssumeRoleSessionCredentialsProvider|null|
+| `--maxBlockSize, -mbs` | Max block size (eg: 32M, 64M), default is 64MB|null|
+| `--readBufferSize, -rbs` | Read buffer size (eg: 1M, 5M), default is 1MB|null|
+| `--driver, -d` | Driver to use to offload old data to long term storage, (Possible values: S3, aws-s3, google-cloud-storage, filesystem, azureblob)|null|
+| `--endpoint, -e` | Alternative endpoint to connect to, s3 default is s3ManagedLedgerOffloadServiceEndpoint in broker.conf|null|
+| `--aws-id, -i` | AWS Credential Id to use when using driver S3 or aws-s3|null|
+| `--offloadedReadPriority, -orp` | Read priority for offloaded messages. By default, once messages are offloaded to long-term storage, brokers read messages from long-term storage, but messages can still exist in BookKeeper for a period depends on your configuration. For messages that exist in both long-term storage and BookKeeper, you can set where to read messages from with the option `tiered-storage-first` or `bookkeeper-first`.|null|
+
+
+## <em>remove-offload-policies</em>
+
+Remove the offload policies for a namespace
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces remove-offload-policies options
+```
+
+
+
+## <em>get-offload-policies</em>
+
+Get the offload policies for a namespace
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces get-offload-policies options
+```
+
+
+
+## <em>set-deduplication-snapshot-interval</em>
+
+Set deduplicationSnapshotInterval for a namespace
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces set-deduplication-snapshot-interval options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--interval, -i` | deduplicationSnapshotInterval for a namespace|0|
+
+
+## <em>get-deduplication-snapshot-interval</em>
+
+Get deduplicationSnapshotInterval for a namespace
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces get-deduplication-snapshot-interval options
+```
+
+
+
+## <em>remove-deduplication-snapshot-interval</em>
+
+Remove deduplicationSnapshotInterval for a namespace
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces remove-deduplication-snapshot-interval options
+```
+
+
+
+## <em>set-max-topics-per-namespace</em>
+
+Set max topics per namespace
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces set-max-topics-per-namespace options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--max-topics-per-namespace, -t` | max topics per namespace|0|
+
+
+## <em>get-max-topics-per-namespace</em>
+
+Get max topics per namespace
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces get-max-topics-per-namespace options
+```
+
+
+
+## <em>remove-max-topics-per-namespace</em>
+
+Remove max topics per namespace
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces remove-max-topics-per-namespace options
+```
+
+
+
+## <em>set-property</em>
+
+Set property for a namespace
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces set-property options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--key, -k` | Key of the property|null|
+| `--value, -v` | Value of the property|null|
+
+
+## <em>get-property</em>
+
+Get property for a namespace
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces get-property options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--key, -k` | Key of the property|null|
+
+
+## <em>remove-property</em>
+
+Remove property for a namespace
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces remove-property options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--key, -k` | Key of the property|null|
+
+
+## <em>set-properties</em>
+
+Set properties of a namespace
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces set-properties options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--properties, -p` | key value pair properties(a=a,b=b,c=c)|null|
+
+
+## <em>get-properties</em>
+
+Get properties of a namespace
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces get-properties options
+```
+
+
+
+## <em>clear-properties</em>
+
+Clear all properties for a namespace
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces clear-properties options
+```
+
+
+
+## <em>get-resource-group</em>
+
+Get ResourceGroup for a namespace
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces get-resource-group options
+```
+
+
+
+## <em>set-resource-group</em>
+
+Set ResourceGroup for a namespace
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces set-resource-group options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--resource-group-name, -rgn` | ResourceGroup name|null|
+
+
+## <em>remove-resource-group</em>
+
+Remove ResourceGroup from a namespace
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin namespaces remove-resource-group options
+```
+
+
diff --git a/site2/website-next/docsify/2.6.0/pulsar-admin/ns-isolation-policy.md b/site2/website-next/docsify/2.6.0/pulsar-admin/ns-isolation-policy.md
new file mode 100644
index 00000000000..ab841fff827
--- /dev/null
+++ b/site2/website-next/docsify/2.6.0/pulsar-admin/ns-isolation-policy.md
@@ -0,0 +1,130 @@
+------------
+
+# ns-isolation-policy
+
+### Usage
+
+`$ns-isolation-policy`
+
+------------
+
+Operations about namespace isolation policy
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin ns-isolation-policy subcommand
+```
+
+* `set`
+* `get`
+* `list`
+* `delete`
+* `brokers`
+* `broker`
+
+
+## <em>set</em>
+
+Create/Update a namespace isolation policy for a cluster. This operation requires Pulsar super-user privileges
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin ns-isolation-policy set options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--auto-failover-policy-type` | auto failover policy type name ['min_available']|null|
+| `--namespaces` | comma separated namespaces-regex list|null|
+| `--primary` | comma separated  primary-broker-regex list. In Pulsar, when namespaces (more specifically, namespace bundles) are assigned dynamically to brokers, the namespace isolation policy limits the set of brokers that can be used for assignment. Before topics are assigned to brokers, you can set the namespace isolation policy with a primary or a secondary regex to select desired brokers. If no broker matches the specified regex, you cannot create a topic. If there are not enough p [...]
+| `--secondary` | comma separated secondary-broker-regex list|[]|
+| `--auto-failover-policy-params` | comma separated name=value auto failover policy parameters|null|
+
+
+## <em>get</em>
+
+Get namespace isolation policy of a cluster. This operation requires Pulsar super-user privileges
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin ns-isolation-policy get options
+```
+
+
+
+## <em>list</em>
+
+List all namespace isolation policies of a cluster. This operation requires Pulsar super-user privileges
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin ns-isolation-policy list options
+```
+
+
+
+## <em>delete</em>
+
+Delete namespace isolation policy of a cluster. This operation requires Pulsar super-user privileges
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin ns-isolation-policy delete options
+```
+
+
+
+## <em>brokers</em>
+
+List all brokers with namespace-isolation policies attached to it. This operation requires Pulsar super-user privileges
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin ns-isolation-policy brokers options
+```
+
+
+
+## <em>broker</em>
+
+Get broker with namespace-isolation policies attached to it. This operation requires Pulsar super-user privileges
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin ns-isolation-policy broker options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--broker` | Broker-name to get namespace-isolation policies attached to it|null|
+
diff --git a/site2/website-next/docsify/2.6.0/pulsar-admin/packages.md b/site2/website-next/docsify/2.6.0/pulsar-admin/packages.md
new file mode 100644
index 00000000000..a07d4f0448c
--- /dev/null
+++ b/site2/website-next/docsify/2.6.0/pulsar-admin/packages.md
@@ -0,0 +1,159 @@
+------------
+
+# packages
+
+### Usage
+
+`$packages`
+
+------------
+
+Operations about packages
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin packages subcommand
+```
+
+* `get-metadata`
+* `update-metadata`
+* `upload`
+* `download`
+* `list`
+* `list-versions`
+* `delete`
+
+
+## <em>get-metadata</em>
+
+Get a package metadata information.
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin packages get-metadata options
+```
+
+
+
+## <em>update-metadata</em>
+
+Update a package metadata information.
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin packages update-metadata options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--description` | descriptions of a package|null|
+| `--properties, -P` | external information of a package|{}|
+| `--contact` | contact info of a package|null|
+
+
+## <em>upload</em>
+
+Upload a package
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin packages upload options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--contact` | contact information of a package|null|
+| `--path` | file path of the package|null|
+| `--properties, -P` | external infromations of a package|{}|
+| `--description` | descriptions of a package|null|
+
+
+## <em>download</em>
+
+Download a package
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin packages download options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--path` | download destiny path of the package|null|
+
+
+## <em>list</em>
+
+List all packages with given type in the specified namespace
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin packages list options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--type` | type of the package|null|
+
+
+## <em>list-versions</em>
+
+List all versions of the given package
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin packages list-versions options
+```
+
+
+
+## <em>delete</em>
+
+Delete a package
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin packages delete options
+```
+
+
diff --git a/site2/website-next/docsify/2.6.0/pulsar-admin/proxy-stats.md b/site2/website-next/docsify/2.6.0/pulsar-admin/proxy-stats.md
new file mode 100644
index 00000000000..b68d9b8b9f9
--- /dev/null
+++ b/site2/website-next/docsify/2.6.0/pulsar-admin/proxy-stats.md
@@ -0,0 +1,62 @@
+------------
+
+# proxy-stats
+
+### Usage
+
+`$proxy-stats`
+
+------------
+
+Operations to collect Proxy statistics
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin proxy-stats subcommand
+```
+
+* `connections`
+* `topics`
+
+
+## <em>connections</em>
+
+dump connections metrics for Monitoring
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin proxy-stats connections options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `-i, --indent` | Indent JSON output|false|
+
+
+## <em>topics</em>
+
+dump topics metrics for Monitoring
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin proxy-stats topics options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `-i, --indent` | Indent JSON output|false|
+
diff --git a/site2/website-next/docsify/2.6.0/pulsar-admin/resource-quotas.md b/site2/website-next/docsify/2.6.0/pulsar-admin/resource-quotas.md
new file mode 100644
index 00000000000..b63bc5e9b5f
--- /dev/null
+++ b/site2/website-next/docsify/2.6.0/pulsar-admin/resource-quotas.md
@@ -0,0 +1,93 @@
+------------
+
+# resource-quotas
+
+### Usage
+
+`$resource-quotas`
+
+------------
+
+Operations about resource quotas
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin resource-quotas subcommand
+```
+
+* `get`
+* `set`
+* `reset-namespace-bundle-quota`
+
+
+## <em>get</em>
+
+Get the resource quota for specified namespace bundle, or default quota if no namespace/bundle specified.
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin resource-quotas get options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--namespace, -n` | property/cluster/namespace, must be specified together with '--bundle'|null|
+| `--bundle, -b` | {start-boundary}_{end-boundary}, must be specified together with '--namespace'|null|
+
+
+## <em>set</em>
+
+Set the resource quota for specified namespace bundle, or default quota if no namespace/bundle specified.
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin resource-quotas set options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--msgRateIn, -mi` | expected incoming messages per second|0|
+| `--bandwidthIn, -bi` | expected inbound bandwidth (bytes/second)|0|
+| `--msgRateOut, -mo` | expected outgoing messages per second|0|
+| `--namespace, -n` | property/cluster/namespace, must be specified together with '--bundle'|null|
+| `--bundle, -b` | {start-boundary}_{end-boundary}, must be specified together with '--namespace'|null|
+| `--memory, -mem` | expected memory usage (Mbytes)|0|
+| `--dynamic, -d` | dynamic (allow to be dynamically re-calculated) or not|false|
+| `--bandwidthOut, -bo` | expected outbound bandwidth (bytes/second)|0|
+
+
+## <em>reset-namespace-bundle-quota</em>
+
+Reset the specified namespace bundle's resource quota to default value.
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin resource-quotas reset-namespace-bundle-quota options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--bundle, -b` | {start-boundary}_{end-boundary}|null|
+| `--namespace, -n` | property/cluster/namespace|null|
+
diff --git a/site2/website-next/docsify/2.6.0/pulsar-admin/resourcegroups.md b/site2/website-next/docsify/2.6.0/pulsar-admin/resourcegroups.md
new file mode 100644
index 00000000000..168d6b77910
--- /dev/null
+++ b/site2/website-next/docsify/2.6.0/pulsar-admin/resourcegroups.md
@@ -0,0 +1,116 @@
+------------
+
+# resourcegroups
+
+### Usage
+
+`$resourcegroups`
+
+------------
+
+Operations about ResourceGroups
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin resourcegroups subcommand
+```
+
+* `list`
+* `get`
+* `create`
+* `update`
+* `delete`
+
+
+## <em>list</em>
+
+List the existing resourcegroups
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin resourcegroups list options
+```
+
+
+
+## <em>get</em>
+
+Gets the configuration of a resourcegroup
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin resourcegroups get options
+```
+
+
+
+## <em>create</em>
+
+Creates a new resourcegroup
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin resourcegroups create options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--msg-publish-rate, -mp` | message-publish-rate (default -1 will be overwrite if not passed)|-1|
+| `--byte-dispatch-rate, -bd` | byte-dispatch-rate (default -1 will be overwrite if not passed)|-1|
+| `--byte-publish-rate, -bp` | byte-publish-rate (default -1 will be overwrite if not passed)|-1|
+| `--msg-dispatch-rate, -md` | message-dispatch-rate (default -1 will be overwrite if not passed)|-1|
+
+
+## <em>update</em>
+
+Updates a resourcegroup
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin resourcegroups update options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--byte-publish-rate, -bp` | byte-publish-rate (default -1 will be overwrite if not passed)|-1|
+| `--msg-publish-rate, -mp` | message-publish-rate (default -1 will be overwrite if not passed)|-1|
+| `--msg-dispatch-rate, -md` | message-dispatch-rate (default -1 will be overwrite if not passed)|-1|
+| `--byte-dispatch-rate, -bd` | byte-dispatch-rate (default -1 will be overwrite if not passed)|-1|
+
+
+## <em>delete</em>
+
+Deletes an existing ResourceGroup
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin resourcegroups delete options
+```
+
+
diff --git a/site2/website-next/docsify/2.6.0/pulsar-admin/schemas.md b/site2/website-next/docsify/2.6.0/pulsar-admin/schemas.md
new file mode 100644
index 00000000000..a567e470e28
--- /dev/null
+++ b/site2/website-next/docsify/2.6.0/pulsar-admin/schemas.md
@@ -0,0 +1,105 @@
+------------
+
+# schemas
+
+### Usage
+
+`$schemas`
+
+------------
+
+Operations about schemas
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin schemas subcommand
+```
+
+* `get`
+* `delete`
+* `upload`
+* `extract`
+
+
+## <em>get</em>
+
+Get the schema for a topic
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin schemas get options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `-a, --all-version` | all version|false|
+| `-v, --version` | version|null|
+
+
+## <em>delete</em>
+
+Delete the latest schema for a topic
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin schemas delete options
+```
+
+
+
+## <em>upload</em>
+
+Update the schema for a topic
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin schemas upload options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `-f, --filename` | filename|null|
+
+
+## <em>extract</em>
+
+Provide the schema via a topic
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin schemas extract options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `-n, --dry-run` | dost not apply to schema registry, just prints the post schema payload|false|
+| `-c, --classname` | class name of pojo|null|
+| `-j, --jar` | jar filepath|null|
+| `--always-allow-null` | set schema whether always allow null or not|true|
+| `-t, --type` | type avro or json|null|
+
diff --git a/site2/website-next/docsify/2.6.0/pulsar-admin/sinks.md b/site2/website-next/docsify/2.6.0/pulsar-admin/sinks.md
new file mode 100644
index 00000000000..5252fa829ed
--- /dev/null
+++ b/site2/website-next/docsify/2.6.0/pulsar-admin/sinks.md
@@ -0,0 +1,411 @@
+------------
+
+# sinks
+
+### Usage
+
+`$sinks`
+
+------------
+
+Interface for managing Pulsar IO sinks (egress data from Pulsar)
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin sinks subcommand
+```
+
+* `create`
+* `update`
+* `delete`
+* `list`
+* `get`
+* `status`
+* `stop`
+* `start`
+* `restart`
+* `localrun`
+* `available-sinks`
+* `reload`
+
+
+## <em>create</em>
+
+Submit a Pulsar IO sink connector to run in a Pulsar cluster
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin sinks create options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--customSerdeInputs` | The map of input topics to SerDe class names (as a JSON string)|null|
+| `--name` | The sink's name|null|
+| `--topics-pattern` | TopicsPattern to consume from list of topics under a namespace that match the pattern. [--input] and [--topicsPattern] are mutually exclusive. Add SerDe class name for a pattern in --customSerdeInputs  (supported for java fun only)|null|
+| `--retainOrdering` | Sink consumes and sinks messages in order|null|
+| `--sink-config-file` | The path to a YAML config file specifying the sink's configuration|null|
+| `--sink-config` | User defined configs key/values|null|
+| `--topicsPattern` | TopicsPattern to consume from list of topics under a namespace that match the pattern. [--input] and [--topicsPattern] are mutually exclusive. Add SerDe class name for a pattern in --customSerdeInputs  (supported for java fun only)|null|
+| `--sinkConfigFile` | The path to a YAML config file specifying the sink's configuration|null|
+| `--cpu` | The CPU (in cores) that needs to be allocated per sink instance (applicable only to Docker runtime)|null|
+| `--tenant` | The sink's tenant|null|
+| `--disk` | The disk (in bytes) that need to be allocated per sink instance (applicable only to Docker runtime)|null|
+| `--sinkConfig` | User defined configs key/values|null|
+| `--dead-letter-topic` | Name of the dead topic where the failing messages will be sent.|null|
+| `-i, --inputs` | The sink's input topic or topics (multiple topics can be specified as a comma-separated list)|null|
+| `--processing-guarantees` | The processing guarantees (aka delivery semantics) applied to the sink|null|
+| `--className` | The sink's class name if archive is file-url-path (file://)|null|
+| `--subs-position` | Pulsar source subscription position if user wants to consume messages from the specified location|null|
+| `--ram` | The RAM (in bytes) that need to be allocated per sink instance (applicable only to the process and Docker runtimes)|null|
+| `--custom-serde-inputs` | The map of input topics to SerDe class names (as a JSON string)|null|
+| `-t, --sink-type` | The sinks's connector provider|null|
+| `--subsName` | Pulsar source subscription name if user wants a specific subscription-name for input-topic consumer|null|
+| `--custom-schema-inputs` | The map of input topics to Schema types or class names (as a JSON string)|null|
+| `--namespace` | The sink's namespace|null|
+| `--retain-ordering` | Sink consumes and sinks messages in order|null|
+| `--parallelism` | The sink's parallelism factor (i.e. the number of sink instances to run)|null|
+| `--secrets` | The map of secretName to an object that encapsulates how the secret is fetched by the underlying secrets provider|null|
+| `--input-specs` | The map of inputs to custom configuration (as a JSON string)|null|
+| `--processingGuarantees` | The processing guarantees (aka delivery semantics) applied to the sink|null|
+| `--classname` | The sink's class name if archive is file-url-path (file://)|null|
+| `--custom-runtime-options` | A string that encodes options to customize the runtime, see docs for configured runtime for details|null|
+| `--timeout-ms` | The message timeout in milliseconds|null|
+| `--negative-ack-redelivery-delay-ms` | The negative ack message redelivery delay in milliseconds|null|
+| `--subs-name` | Pulsar source subscription name if user wants a specific subscription-name for input-topic consumer|null|
+| `--auto-ack` | Whether or not the framework will automatically acknowledge messages|null|
+| `--max-redeliver-count` | Maximum number of times that a message will be redelivered before being sent to the dead letter queue|null|
+| `-a, --archive` | Path to the archive file for the sink. It also supports url-path [http/https/file (file protocol assumes that file already exists on worker host)] from which worker can download the package.|null|
+
+
+## <em>update</em>
+
+Update a Pulsar IO sink connector
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin sinks update options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--customSerdeInputs` | The map of input topics to SerDe class names (as a JSON string)|null|
+| `--name` | The sink's name|null|
+| `--topics-pattern` | TopicsPattern to consume from list of topics under a namespace that match the pattern. [--input] and [--topicsPattern] are mutually exclusive. Add SerDe class name for a pattern in --customSerdeInputs  (supported for java fun only)|null|
+| `--retainOrdering` | Sink consumes and sinks messages in order|null|
+| `--sink-config-file` | The path to a YAML config file specifying the sink's configuration|null|
+| `--sink-config` | User defined configs key/values|null|
+| `--topicsPattern` | TopicsPattern to consume from list of topics under a namespace that match the pattern. [--input] and [--topicsPattern] are mutually exclusive. Add SerDe class name for a pattern in --customSerdeInputs  (supported for java fun only)|null|
+| `--sinkConfigFile` | The path to a YAML config file specifying the sink's configuration|null|
+| `--cpu` | The CPU (in cores) that needs to be allocated per sink instance (applicable only to Docker runtime)|null|
+| `--tenant` | The sink's tenant|null|
+| `--update-auth-data` | Whether or not to update the auth data|false|
+| `--disk` | The disk (in bytes) that need to be allocated per sink instance (applicable only to Docker runtime)|null|
+| `--sinkConfig` | User defined configs key/values|null|
+| `--dead-letter-topic` | Name of the dead topic where the failing messages will be sent.|null|
+| `-i, --inputs` | The sink's input topic or topics (multiple topics can be specified as a comma-separated list)|null|
+| `--processing-guarantees` | The processing guarantees (aka delivery semantics) applied to the sink|null|
+| `--className` | The sink's class name if archive is file-url-path (file://)|null|
+| `--subs-position` | Pulsar source subscription position if user wants to consume messages from the specified location|null|
+| `--ram` | The RAM (in bytes) that need to be allocated per sink instance (applicable only to the process and Docker runtimes)|null|
+| `--custom-serde-inputs` | The map of input topics to SerDe class names (as a JSON string)|null|
+| `-t, --sink-type` | The sinks's connector provider|null|
+| `--subsName` | Pulsar source subscription name if user wants a specific subscription-name for input-topic consumer|null|
+| `--custom-schema-inputs` | The map of input topics to Schema types or class names (as a JSON string)|null|
+| `--namespace` | The sink's namespace|null|
+| `--retain-ordering` | Sink consumes and sinks messages in order|null|
+| `--parallelism` | The sink's parallelism factor (i.e. the number of sink instances to run)|null|
+| `--secrets` | The map of secretName to an object that encapsulates how the secret is fetched by the underlying secrets provider|null|
+| `--input-specs` | The map of inputs to custom configuration (as a JSON string)|null|
+| `--processingGuarantees` | The processing guarantees (aka delivery semantics) applied to the sink|null|
+| `--classname` | The sink's class name if archive is file-url-path (file://)|null|
+| `--custom-runtime-options` | A string that encodes options to customize the runtime, see docs for configured runtime for details|null|
+| `--timeout-ms` | The message timeout in milliseconds|null|
+| `--negative-ack-redelivery-delay-ms` | The negative ack message redelivery delay in milliseconds|null|
+| `--subs-name` | Pulsar source subscription name if user wants a specific subscription-name for input-topic consumer|null|
+| `--auto-ack` | Whether or not the framework will automatically acknowledge messages|null|
+| `--max-redeliver-count` | Maximum number of times that a message will be redelivered before being sent to the dead letter queue|null|
+| `-a, --archive` | Path to the archive file for the sink. It also supports url-path [http/https/file (file protocol assumes that file already exists on worker host)] from which worker can download the package.|null|
+
+
+## <em>delete</em>
+
+Stops a Pulsar IO sink connector
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin sinks delete options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--name` | The sink's name|null|
+| `--namespace` | The sink's namespace|null|
+| `--tenant` | The sink's tenant|null|
+
+
+## <em>list</em>
+
+List all running Pulsar IO sink connectors
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin sinks list options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--tenant` | The sink's tenant|null|
+| `--namespace` | The sink's namespace|null|
+
+
+## <em>get</em>
+
+Gets the information about a Pulsar IO sink connector
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin sinks get options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--name` | The sink's name|null|
+| `--namespace` | The sink's namespace|null|
+| `--tenant` | The sink's tenant|null|
+
+
+## <em>status</em>
+
+Check the current status of a Pulsar Sink
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin sinks status options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--name` | The sink's name|null|
+| `--namespace` | The sink's namespace|null|
+| `--instance-id` | The sink instanceId (Get-status of all instances if instance-id is not provided|null|
+| `--tenant` | The sink's tenant|null|
+
+
+## <em>stop</em>
+
+Stops sink instance
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin sinks stop options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--name` | The sink's name|null|
+| `--namespace` | The sink's namespace|null|
+| `--tenant` | The sink's tenant|null|
+| `--instance-id` | The sink instanceId (stop all instances if instance-id is not provided|null|
+
+
+## <em>start</em>
+
+Starts sink instance
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin sinks start options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--name` | The sink's name|null|
+| `--namespace` | The sink's namespace|null|
+| `--tenant` | The sink's tenant|null|
+| `--instance-id` | The sink instanceId (start all instances if instance-id is not provided|null|
+
+
+## <em>restart</em>
+
+Restart sink instance
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin sinks restart options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--instance-id` | The sink instanceId (restart all instances if instance-id is not provided|null|
+| `--name` | The sink's name|null|
+| `--namespace` | The sink's namespace|null|
+| `--tenant` | The sink's tenant|null|
+
+
+## <em>localrun</em>
+
+Run a Pulsar IO sink connector locally (rather than deploying it to the Pulsar cluster)
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin sinks localrun options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--customSerdeInputs` | The map of input topics to SerDe class names (as a JSON string)|null|
+| `--tls-allow-insecure` | Allow insecure tls connection|false|
+| `--secrets-provider-classname` | Whats the classname for secrets provider|null|
+| `--topics-pattern` | TopicsPattern to consume from list of topics under a namespace that match the pattern. [--input] and [--topicsPattern] are mutually exclusive. Add SerDe class name for a pattern in --customSerdeInputs  (supported for java fun only)|null|
+| `--sink-config-file` | The path to a YAML config file specifying the sink's configuration|null|
+| `--topicsPattern` | TopicsPattern to consume from list of topics under a namespace that match the pattern. [--input] and [--topicsPattern] are mutually exclusive. Add SerDe class name for a pattern in --customSerdeInputs  (supported for java fun only)|null|
+| `--cpu` | The CPU (in cores) that needs to be allocated per sink instance (applicable only to Docker runtime)|null|
+| `--tenant` | The sink's tenant|null|
+| `--disk` | The disk (in bytes) that need to be allocated per sink instance (applicable only to Docker runtime)|null|
+| `--tls_trust_cert_path` | tls trust cert file path|null|
+| `--sinkConfig` | User defined configs key/values|null|
+| `--dead-letter-topic` | Name of the dead topic where the failing messages will be sent.|null|
+| `-i, --inputs` | The sink's input topic or topics (multiple topics can be specified as a comma-separated list)|null|
+| `--className` | The sink's class name if archive is file-url-path (file://)|null|
+| `--tls_allow_insecure` | Allow insecure tls connection|null|
+| `--subs-position` | Pulsar source subscription position if user wants to consume messages from the specified location|null|
+| `--secrets-provider-config` | Config that needs to be passed to secrets provider|null|
+| `--hostname-verification-enabled` | Enable hostname verification|false|
+| `--clientAuthParams` | Client authentication param|null|
+| `--subsName` | Pulsar source subscription name if user wants a specific subscription-name for input-topic consumer|null|
+| `--retain-ordering` | Sink consumes and sinks messages in order|null|
+| `--parallelism` | The sink's parallelism factor (i.e. the number of sink instances to run)|null|
+| `--input-specs` | The map of inputs to custom configuration (as a JSON string)|null|
+| `--use-tls` | Use tls connection|false|
+| `--processingGuarantees` | The processing guarantees (aka delivery semantics) applied to the sink|null|
+| `--classname` | The sink's class name if archive is file-url-path (file://)|null|
+| `--timeout-ms` | The message timeout in milliseconds|null|
+| `--subs-name` | Pulsar source subscription name if user wants a specific subscription-name for input-topic consumer|null|
+| `--brokerServiceUrl` | The URL for the Pulsar broker|null|
+| `--hostname_verification_enabled` | Enable hostname verification|null|
+| `--use_tls` | Use tls connection|null|
+| `--max-redeliver-count` | Maximum number of times that a message will be redelivered before being sent to the dead letter queue|null|
+| `-a, --archive` | Path to the archive file for the sink. It also supports url-path [http/https/file (file protocol assumes that file already exists on worker host)] from which worker can download the package.|null|
+| `--name` | The sink's name|null|
+| `--retainOrdering` | Sink consumes and sinks messages in order|null|
+| `--sink-config` | User defined configs key/values|null|
+| `--sinkConfigFile` | The path to a YAML config file specifying the sink's configuration|null|
+| `--state-storage-service-url` | The URL for the state storage service (the default is Apache BookKeeper)|null|
+| `--client-auth-params` | Client authentication param|null|
+| `--clientAuthPlugin` | Client authentication plugin using which function-process can connect to broker|null|
+| `--processing-guarantees` | The processing guarantees (aka delivery semantics) applied to the sink|null|
+| `--client-auth-plugin` | Client authentication plugin using which function-process can connect to broker|null|
+| `--ram` | The RAM (in bytes) that need to be allocated per sink instance (applicable only to the process and Docker runtimes)|null|
+| `--custom-serde-inputs` | The map of input topics to SerDe class names (as a JSON string)|null|
+| `-t, --sink-type` | The sinks's connector provider|null|
+| `--custom-schema-inputs` | The map of input topics to Schema types or class names (as a JSON string)|null|
+| `--namespace` | The sink's namespace|null|
+| `--secrets` | The map of secretName to an object that encapsulates how the secret is fetched by the underlying secrets provider|null|
+| `--custom-runtime-options` | A string that encodes options to customize the runtime, see docs for configured runtime for details|null|
+| `--negative-ack-redelivery-delay-ms` | The negative ack message redelivery delay in milliseconds|null|
+| `--broker-service-url` | The URL for the Pulsar broker|null|
+| `--tls-trust-cert-path` | tls trust cert file path|null|
+| `--metrics-port-start` | The starting port range for metrics server|null|
+| `--auto-ack` | Whether or not the framework will automatically acknowledge messages|null|
+
+
+## <em>available-sinks</em>
+
+Get the list of Pulsar IO connector sinks supported by Pulsar cluster
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin sinks available-sinks options
+```
+
+
+
+## <em>reload</em>
+
+Reload the available built-in connectors
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin sinks reload options
+```
+
+
diff --git a/site2/website-next/docsify/2.6.0/pulsar-admin/sources.md b/site2/website-next/docsify/2.6.0/pulsar-admin/sources.md
new file mode 100644
index 00000000000..a59457560fd
--- /dev/null
+++ b/site2/website-next/docsify/2.6.0/pulsar-admin/sources.md
@@ -0,0 +1,384 @@
+------------
+
+# sources
+
+### Usage
+
+`$sources`
+
+------------
+
+Interface for managing Pulsar IO Sources (ingress data into Pulsar)
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin sources subcommand
+```
+
+* `create`
+* `update`
+* `delete`
+* `get`
+* `status`
+* `list`
+* `stop`
+* `start`
+* `restart`
+* `localrun`
+* `available-sources`
+* `reload`
+
+
+## <em>create</em>
+
+Submit a Pulsar IO source connector to run in a Pulsar cluster
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin sources create options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--processing-guarantees` | The processing guarantees (aka delivery semantics) applied to the source|null|
+| `--disk` | The disk (in bytes) that need to be allocated per source instance (applicable only to Docker runtime)|null|
+| `--producer-config` | The custom producer configuration (as a JSON string)|null|
+| `--batch-builder` | BatchBuilder provides two types of batch construction methods, DEFAULT and KEY_BASED. The default value is: DEFAULT|null|
+| `--custom-runtime-options` | A string that encodes options to customize the runtime, see docs for configured runtime for details|null|
+| `--className` | The source's class name if archive is file-url-path (file://)|null|
+| `--sourceConfigFile` | The path to a YAML config file specifying the source's configuration|null|
+| `--source-config` | Source config key/values|null|
+| `--ram` | The RAM (in bytes) that need to be allocated per source instance (applicable only to the process and Docker runtimes)|null|
+| `--secrets` | The map of secretName to an object that encapsulates how the secret is fetched by the underlying secrets provider|null|
+| `--deserializationClassName` | The SerDe classname for the source|null|
+| `--processingGuarantees` | The processing guarantees (aka delivery semantics) applied to the Source|null|
+| `--sourceConfig` | Source config key/values|null|
+| `-st, --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|null|
+| `--batch-source-config` | Batch source config key/values|null|
+| `--deserialization-classname` | The SerDe classname for the source|null|
+| `--cpu` | The CPU (in cores) that needs to be allocated per source instance (applicable only to Docker runtime)|null|
+| `-a, --archive` | The path to the NAR archive for the Source. It also supports url-path [http/https/file (file protocol assumes that file already exists on worker host)] from which worker can download the package.|null|
+| `--source-config-file` | The path to a YAML config file specifying the source's configuration|null|
+| `--parallelism` | The source's parallelism factor (i.e. the number of source instances to run)|null|
+| `--namespace` | The source's namespace|null|
+| `--name` | The source's name|null|
+| `--destination-topic-name` | The Pulsar topic to which data is sent|null|
+| `-o, --destinationTopicName` | The Pulsar topic to which data is sent|null|
+| `-t, --source-type` | The source's connector provider|null|
+| `--classname` | The source's class name if archive is file-url-path (file://)|null|
+| `--tenant` | The source's tenant|null|
+
+
+## <em>update</em>
+
+Update a Pulsar IO source connector
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin sources update options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--processing-guarantees` | The processing guarantees (aka delivery semantics) applied to the source|null|
+| `--disk` | The disk (in bytes) that need to be allocated per source instance (applicable only to Docker runtime)|null|
+| `--producer-config` | The custom producer configuration (as a JSON string)|null|
+| `--batch-builder` | BatchBuilder provides two types of batch construction methods, DEFAULT and KEY_BASED. The default value is: DEFAULT|null|
+| `--custom-runtime-options` | A string that encodes options to customize the runtime, see docs for configured runtime for details|null|
+| `--className` | The source's class name if archive is file-url-path (file://)|null|
+| `--sourceConfigFile` | The path to a YAML config file specifying the source's configuration|null|
+| `--source-config` | Source config key/values|null|
+| `--ram` | The RAM (in bytes) that need to be allocated per source instance (applicable only to the process and Docker runtimes)|null|
+| `--secrets` | The map of secretName to an object that encapsulates how the secret is fetched by the underlying secrets provider|null|
+| `--deserializationClassName` | The SerDe classname for the source|null|
+| `--processingGuarantees` | The processing guarantees (aka delivery semantics) applied to the Source|null|
+| `--sourceConfig` | Source config key/values|null|
+| `--update-auth-data` | Whether or not to update the auth data|false|
+| `-st, --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|null|
+| `--batch-source-config` | Batch source config key/values|null|
+| `--deserialization-classname` | The SerDe classname for the source|null|
+| `--cpu` | The CPU (in cores) that needs to be allocated per source instance (applicable only to Docker runtime)|null|
+| `-a, --archive` | The path to the NAR archive for the Source. It also supports url-path [http/https/file (file protocol assumes that file already exists on worker host)] from which worker can download the package.|null|
+| `--source-config-file` | The path to a YAML config file specifying the source's configuration|null|
+| `--parallelism` | The source's parallelism factor (i.e. the number of source instances to run)|null|
+| `--namespace` | The source's namespace|null|
+| `--name` | The source's name|null|
+| `--destination-topic-name` | The Pulsar topic to which data is sent|null|
+| `-o, --destinationTopicName` | The Pulsar topic to which data is sent|null|
+| `-t, --source-type` | The source's connector provider|null|
+| `--classname` | The source's class name if archive is file-url-path (file://)|null|
+| `--tenant` | The source's tenant|null|
+
+
+## <em>delete</em>
+
+Stops a Pulsar IO source connector
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin sources delete options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--namespace` | The source's namespace|null|
+| `--name` | The source's name|null|
+| `--tenant` | The source's tenant|null|
+
+
+## <em>get</em>
+
+Gets the information about a Pulsar IO source connector
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin sources get options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--namespace` | The source's namespace|null|
+| `--name` | The source's name|null|
+| `--tenant` | The source's tenant|null|
+
+
+## <em>status</em>
+
+Check the current status of a Pulsar Source
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin sources status options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--instance-id` | The source instanceId (Get-status of all instances if instance-id is not provided|null|
+| `--namespace` | The source's namespace|null|
+| `--name` | The source's name|null|
+| `--tenant` | The source's tenant|null|
+
+
+## <em>list</em>
+
+List all running Pulsar IO source connectors
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin sources list options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--namespace` | The sink's namespace|null|
+| `--tenant` | The sink's tenant|null|
+
+
+## <em>stop</em>
+
+Stop source instance
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin sources stop options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--instance-id` | The source instanceId (stop all instances if instance-id is not provided|null|
+| `--namespace` | The source's namespace|null|
+| `--name` | The source's name|null|
+| `--tenant` | The source's tenant|null|
+
+
+## <em>start</em>
+
+Start source instance
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin sources start options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--instance-id` | The source instanceId (start all instances if instance-id is not provided|null|
+| `--namespace` | The source's namespace|null|
+| `--name` | The source's name|null|
+| `--tenant` | The source's tenant|null|
+
+
+## <em>restart</em>
+
+Restart source instance
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin sources restart options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--instance-id` | The source instanceId (restart all instances if instance-id is not provided|null|
+| `--namespace` | The source's namespace|null|
+| `--name` | The source's name|null|
+| `--tenant` | The source's tenant|null|
+
+
+## <em>localrun</em>
+
+Run a Pulsar IO source connector locally (rather than deploying it to the Pulsar cluster)
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin sources localrun options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--processing-guarantees` | The processing guarantees (aka delivery semantics) applied to the source|null|
+| `--disk` | The disk (in bytes) that need to be allocated per source instance (applicable only to Docker runtime)|null|
+| `--producer-config` | The custom producer configuration (as a JSON string)|null|
+| `--batch-builder` | BatchBuilder provides two types of batch construction methods, DEFAULT and KEY_BASED. The default value is: DEFAULT|null|
+| `--custom-runtime-options` | A string that encodes options to customize the runtime, see docs for configured runtime for details|null|
+| `--className` | The source's class name if archive is file-url-path (file://)|null|
+| `--sourceConfigFile` | The path to a YAML config file specifying the source's configuration|null|
+| `--broker-service-url` | The URL for the Pulsar broker|null|
+| `--tls-allow-insecure` | Allow insecure tls connection|false|
+| `--secrets-provider-classname` | Whats the classname for secrets provider|null|
+| `--clientAuthParams` | Client authentication param|null|
+| `--secrets-provider-config` | Config that needs to be passed to secrets provider|null|
+| `--source-config` | Source config key/values|null|
+| `--ram` | The RAM (in bytes) that need to be allocated per source instance (applicable only to the process and Docker runtimes)|null|
+| `--secrets` | The map of secretName to an object that encapsulates how the secret is fetched by the underlying secrets provider|null|
+| `--tls_allow_insecure` | Allow insecure tls connection|null|
+| `--deserializationClassName` | The SerDe classname for the source|null|
+| `--processingGuarantees` | The processing guarantees (aka delivery semantics) applied to the Source|null|
+| `--use_tls` | Use tls connection|null|
+| `--use-tls` | Use tls connection|false|
+| `--sourceConfig` | Source config key/values|null|
+| `-st, --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|null|
+| `--batch-source-config` | Batch source config key/values|null|
+| `--deserialization-classname` | The SerDe classname for the source|null|
+| `--hostname-verification-enabled` | Enable hostname verification|false|
+| `--cpu` | The CPU (in cores) that needs to be allocated per source instance (applicable only to Docker runtime)|null|
+| `--client-auth-plugin` | Client authentication plugin using which function-process can connect to broker|null|
+| `--tls_trust_cert_path` | tls trust cert file path|null|
+| `--state-storage-service-url` | The URL for the state storage service (the default is Apache BookKeeper)|null|
+| `-a, --archive` | The path to the NAR archive for the Source. It also supports url-path [http/https/file (file protocol assumes that file already exists on worker host)] from which worker can download the package.|null|
+| `--source-config-file` | The path to a YAML config file specifying the source's configuration|null|
+| `--tls-trust-cert-path` | tls trust cert file path|null|
+| `--parallelism` | The source's parallelism factor (i.e. the number of source instances to run)|null|
+| `--namespace` | The source's namespace|null|
+| `--client-auth-params` | Client authentication param|null|
+| `--brokerServiceUrl` | The URL for the Pulsar broker|null|
+| `--name` | The source's name|null|
+| `--metrics-port-start` | The starting port range for metrics server|null|
+| `--destination-topic-name` | The Pulsar topic to which data is sent|null|
+| `--clientAuthPlugin` | Client authentication plugin using which function-process can connect to broker|null|
+| `-o, --destinationTopicName` | The Pulsar topic to which data is sent|null|
+| `-t, --source-type` | The source's connector provider|null|
+| `--hostname_verification_enabled` | Enable hostname verification|null|
+| `--classname` | The source's class name if archive is file-url-path (file://)|null|
+| `--tenant` | The source's tenant|null|
+
+
+## <em>available-sources</em>
+
+Get the list of Pulsar IO connector sources supported by Pulsar cluster
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin sources available-sources options
+```
+
+
+
+## <em>reload</em>
+
+Reload the available built-in connectors
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin sources reload options
+```
+
+
diff --git a/site2/website-next/docsify/2.6.0/pulsar-admin/tenants.md b/site2/website-next/docsify/2.6.0/pulsar-admin/tenants.md
new file mode 100644
index 00000000000..93c88893d31
--- /dev/null
+++ b/site2/website-next/docsify/2.6.0/pulsar-admin/tenants.md
@@ -0,0 +1,118 @@
+------------
+
+# tenants
+
+### Usage
+
+`$tenants`
+
+------------
+
+Operations about tenants
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin tenants subcommand
+```
+
+* `list`
+* `get`
+* `create`
+* `update`
+* `delete`
+
+
+## <em>list</em>
+
+List the existing tenants
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin tenants list options
+```
+
+
+
+## <em>get</em>
+
+Gets the configuration of a tenant
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin tenants get options
+```
+
+
+
+## <em>create</em>
+
+Creates a new tenant
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin tenants create options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--allowed-clusters, -c` | Comma separated allowed clusters. If empty, the tenant will have access to all clusters|null|
+| `--admin-roles, -r` | Comma separated list of auth principal allowed to administrate the tenant|null|
+
+
+## <em>update</em>
+
+Updates the configuration for a tenant
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin tenants update options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--allowed-clusters, -c` | Comma separated allowed clusters. If omitted, the current set of clusters will be preserved|null|
+| `--admin-roles, -r` | Comma separated list of auth principal allowed to administrate the tenant. If empty the current set of roles won't be modified|null|
+
+
+## <em>delete</em>
+
+Deletes an existing tenant
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin tenants delete options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `-f, --force` | Delete a tenant forcefully by deleting all namespaces under it.|false|
+
diff --git a/site2/website-next/docsify/2.6.0/pulsar-admin/topics.md b/site2/website-next/docsify/2.6.0/pulsar-admin/topics.md
new file mode 100644
index 00000000000..2247160f0ab
--- /dev/null
+++ b/site2/website-next/docsify/2.6.0/pulsar-admin/topics.md
@@ -0,0 +1,2454 @@
+------------
+
+# topics
+
+### Usage
+
+`$topics`
+
+------------
+
+Operations on persistent topics
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics subcommand
+```
+
+* `list`
+* `list-partitioned-topics`
+* `permissions`
+* `grant-permission`
+* `revoke-permission`
+* `lookup`
+* `partitioned-lookup`
+* `bundle-range`
+* `delete`
+* `truncate`
+* `unload`
+* `subscriptions`
+* `unsubscribe`
+* `create-subscription`
+* `stats`
+* `stats-internal`
+* `info-internal`
+* `partitioned-stats`
+* `partitioned-stats-internal`
+* `skip`
+* `clear-backlog`
+* `expire-messages`
+* `expire-messages-all-subscriptions`
+* `create-partitioned-topic`
+* `create-missed-partitions`
+* `create`
+* `update-partitioned-topic`
+* `get-partitioned-topic-metadata`
+* `delete-partitioned-topic`
+* `peek-messages`
+* `examine-messages`
+* `get-message-by-id`
+* `get-message-id`
+* `reset-cursor`
+* `terminate`
+* `compact`
+* `compaction-status`
+* `offload`
+* `offload-status`
+* `last-message-id`
+* `get-backlog-quotas`
+* `set-backlog-quota`
+* `remove-backlog-quota`
+* `get-message-ttl`
+* `set-message-ttl`
+* `remove-message-ttl`
+* `get-retention`
+* `set-retention`
+* `remove-retention`
+* `enable-deduplication`
+* `disable-deduplication`
+* `get-deduplication-enabled`
+* `set-deduplication`
+* `get-deduplication`
+* `remove-deduplication`
+* `get-deduplication-snapshot-interval`
+* `set-deduplication-snapshot-interval`
+* `remove-deduplication-snapshot-interval`
+* `get-delayed-delivery`
+* `set-delayed-delivery`
+* `remove-delayed-delivery`
+* `get-persistence`
+* `set-persistence`
+* `remove-persistence`
+* `get-offload-policies`
+* `set-offload-policies`
+* `remove-offload-policies`
+* `get-dispatch-rate`
+* `set-dispatch-rate`
+* `remove-dispatch-rate`
+* `get-subscription-dispatch-rate`
+* `set-subscription-dispatch-rate`
+* `remove-subscription-dispatch-rate`
+* `get-replicator-dispatch-rate`
+* `set-replicator-dispatch-rate`
+* `remove-replicator-dispatch-rate`
+* `get-compaction-threshold`
+* `set-compaction-threshold`
+* `remove-compaction-threshold`
+* `get-max-unacked-messages-on-consumer`
+* `set-max-unacked-messages-on-consumer`
+* `remove-max-unacked-messages-on-consumer`
+* `get-max-unacked-messages-on-subscription`
+* `set-max-unacked-messages-on-subscription`
+* `remove-max-unacked-messages-on-subscription`
+* `get-max-unacked-messages-per-consumer`
+* `set-max-unacked-messages-per-consumer`
+* `remove-max-unacked-messages-per-consumer`
+* `get-max-unacked-messages-per-subscription`
+* `set-max-unacked-messages-per-subscription`
+* `remove-max-unacked-messages-per-subscription`
+* `get-publish-rate`
+* `set-publish-rate`
+* `remove-publish-rate`
+* `set-subscription-types-enabled`
+* `get-subscription-types-enabled`
+* `get-maxProducers`
+* `set-maxProducers`
+* `remove-maxProducers`
+* `get-max-producers`
+* `set-max-producers`
+* `remove-max-producers`
+* `get-max-subscriptions`
+* `set-max-subscriptions`
+* `remove-max-subscriptions`
+* `get-max-message-size`
+* `set-max-message-size`
+* `remove-max-message-size`
+* `get-max-consumers-per-subscription`
+* `set-max-consumers-per-subscription`
+* `remove-max-consumers-per-subscription`
+* `get-inactive-topic-policies`
+* `set-inactive-topic-policies`
+* `remove-inactive-topic-policies`
+* `get-max-consumers`
+* `set-max-consumers`
+* `remove-max-consumers`
+* `get-subscribe-rate`
+* `set-subscribe-rate`
+* `remove-subscribe-rate`
+* `set-replicated-subscription-status`
+* `get-backlog-size`
+
+
+## <em>list</em>
+
+Get the list of topics under a namespace.
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics list options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `-td, --topic-domain` | Allowed topic domain (persistent, non_persistent).|null|
+
+
+## <em>list-partitioned-topics</em>
+
+Get the list of partitioned topics under a namespace.
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics list-partitioned-topics options
+```
+
+
+
+## <em>permissions</em>
+
+Get the permissions on a topic. Retrieve the effective permissions for a topic. These permissions are defined by the permissions set at the namespace level combined (union) with any eventual specific permission set on the topic.
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics permissions options
+```
+
+
+
+## <em>grant-permission</em>
+
+Grant a new permission to a client role on a single topic.
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics grant-permission options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--role` | Client role to which grant permissions|null|
+| `--actions` | Actions to be granted (produce,consume)|null|
+
+
+## <em>revoke-permission</em>
+
+Revoke permissions on a topic. Revoke permissions to a client role on a single topic. If the permission was not set at the topic level, but rather at the namespace level, this operation will return an error (HTTP status code 412).
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics revoke-permission options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--role` | Client role to which revoke permissions|null|
+
+
+## <em>lookup</em>
+
+Lookup a topic from the current serving broker
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics lookup options
+```
+
+
+
+## <em>partitioned-lookup</em>
+
+Lookup a partitioned topic from the current serving broker
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics partitioned-lookup options
+```
+
+
+
+## <em>bundle-range</em>
+
+Get Namespace bundle range of a topic
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics bundle-range options
+```
+
+
+
+## <em>delete</em>
+
+Delete a topic. The topic cannot be deleted if there's any active subscription or producers connected to it.
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics delete options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `-f, --force` | Close all producer/consumer/replicator and delete topic forcefully|false|
+| `-d, --deleteSchema` | Delete schema while deleting topic|false|
+
+
+## <em>truncate</em>
+
+Truncate a topic. 
+		The truncate operation will move all cursors to the end of the topic and delete all inactive ledgers. 
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics truncate options
+```
+
+
+
+## <em>unload</em>
+
+Unload a topic.
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics unload options
+```
+
+
+
+## <em>subscriptions</em>
+
+Get the list of subscriptions on the topic
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics subscriptions options
+```
+
+
+
+## <em>unsubscribe</em>
+
+Delete a durable subscriber from a topic. The subscription cannot be deleted if there are any active consumers attached to it
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics unsubscribe options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `-f, --force` | Disconnect and close all consumers and delete subscription forcefully|false|
+| `-s, --subscription` | Subscription to be deleted|null|
+
+
+## <em>create-subscription</em>
+
+Create a new subscription on a topic
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics create-subscription options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `-s, --subscription` | Subscription to reset position on|null|
+| `--messageId, -m` | messageId where to create the subscription. It can be either 'latest', 'earliest' or (ledgerId:entryId)|latest|
+
+
+## <em>stats</em>
+
+Get the stats for the 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
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics stats options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `-sbs, --get-subscription-backlog-size` | Set true to get backlog size for each subscription, locking required.|false|
+| `-gpb, --get-precise-backlog` | Set true to get precise backlog|false|
+
+
+## <em>stats-internal</em>
+
+Get the internal stats for the topic
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics stats-internal options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `-m, --metadata` | Flag to include ledger metadata|false|
+
+
+## <em>info-internal</em>
+
+Get the internal metadata info for the topic
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics info-internal options
+```
+
+
+
+## <em>partitioned-stats</em>
+
+Get the 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
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics partitioned-stats options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `-gpb, --get-precise-backlog` | Set true to get precise backlog|false|
+| `-sbs, --get-subscription-backlog-size` | Set true to get backlog size for each subscription, locking required.|false|
+| `--per-partition` | Get per partition stats|false|
+
+
+## <em>partitioned-stats-internal</em>
+
+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
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics partitioned-stats-internal options
+```
+
+
+
+## <em>skip</em>
+
+Skip some messages for the subscription
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics skip options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `-s, --subscription` | Subscription to be skip messages on|null|
+| `-n, --count` | Number of messages to skip|0|
+
+
+## <em>clear-backlog</em>
+
+Skip all the messages for the subscription
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics clear-backlog options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `-s, --subscription` | Subscription to be cleared|null|
+
+
+## <em>expire-messages</em>
+
+Expire messages that older than given expiry time (in seconds) for the subscription
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics expire-messages options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `-e, --exclude-reset-position` | Exclude the reset position, start consume messages from the next position.|false|
+| `-t, --expireTime` | Expire messages older than time in seconds|-1|
+| `-s, --subscription` | Subscription to be skip messages on|null|
+| `--position, -p` | message position to reset back to (ledgerId:entryId)|null|
+
+
+## <em>expire-messages-all-subscriptions</em>
+
+Expire messages that older than given expiry time (in seconds) for all subscriptions
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics expire-messages-all-subscriptions options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `-t, --expireTime` | Expire messages older than time in seconds|0|
+
+
+## <em>create-partitioned-topic</em>
+
+Create a partitioned topic. The partitioned topic has to be created before creating a producer on it.
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics create-partitioned-topic options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `-p, --partitions` | Number of partitions for the topic|0|
+
+
+## <em>create-missed-partitions</em>
+
+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
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics create-missed-partitions options
+```
+
+
+
+## <em>create</em>
+
+Create a non-partitioned topic.
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics create options
+```
+
+
+
+## <em>update-partitioned-topic</em>
+
+Update existing non-global partitioned topic. New updating number of partitions must be greater than existing number of partitions.
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics update-partitioned-topic options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `-p, --partitions` | Number of partitions for the topic|0|
+| `-f, --force` | Update forcefully without validating existing partitioned topic |false|
+
+
+## <em>get-partitioned-topic-metadata</em>
+
+Get the partitioned topic metadata. If the topic is not created or is a non-partitioned topic, it returns empty topic with 0 partitions
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics get-partitioned-topic-metadata options
+```
+
+
+
+## <em>delete-partitioned-topic</em>
+
+Delete a partitioned topic. It will also delete all the partitions of the topic if it exists.
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics delete-partitioned-topic options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `-d, --deleteSchema` | Delete schema while deleting topic|false|
+| `-f, --force` | Close all producer/consumer/replicator and delete topic forcefully|false|
+
+
+## <em>peek-messages</em>
+
+Peek some messages for the subscription
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics peek-messages options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `-n, --count` | Number of messages (default 1)|1|
+| `-s, --subscription` | Subscription to get messages from|null|
+
+
+## <em>examine-messages</em>
+
+Examine a specific message on a topic by position relative to the earliest or the latest message.
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics examine-messages options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `-i, --initialPosition` | Relative start position to examine message.It can be 'latest' or 'earliest', default is latest|latest|
+| `-m, --messagePosition` | The position of messages (default 1)|1|
+
+
+## <em>get-message-by-id</em>
+
+Get message by its ledgerId and entryId
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics get-message-by-id options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `-l, --ledgerId` | ledger id pointing to the desired ledger|0|
+| `-e, --entryId` | entry id pointing to the desired entry|0|
+
+
+## <em>get-message-id</em>
+
+Get message ID
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics get-message-id options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `-d, --datetime` | datetime at or before this messageId. This datetime is in format of ISO_OFFSET_DATE_TIME, e.g. 2021-06-28T16:53:08Z or 2021-06-28T16:53:08.123456789+08:00|null|
+
+
+## <em>reset-cursor</em>
+
+Reset position for subscription to a position that is closest to timestamp or messageId.
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics reset-cursor options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `-e, --exclude-reset-position` | Exclude the reset position, start consume messages from the next position.|false|
+| `--time, -t` | time in minutes to reset back to (or minutes, hours,days,weeks eg: 100m, 3h, 2d, 5w)|null|
+| `-s, --subscription` | Subscription to reset position on|null|
+| `--messageId, -m` | messageId to reset back to (ledgerId:entryId)|null|
+
+
+## <em>terminate</em>
+
+Terminate a topic and don't allow any more messages to be published
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics terminate options
+```
+
+
+
+## <em>compact</em>
+
+Compact a topic
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics compact options
+```
+
+
+
+## <em>compaction-status</em>
+
+Status of compaction on a topic
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics compaction-status options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `-w, --wait-complete` | Wait for compaction to complete|false|
+
+
+## <em>offload</em>
+
+Trigger offload of data from a topic to long-term storage (e.g. Amazon S3)
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics offload options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `-s, --size-threshold` | Maximum amount of data to keep in BookKeeper for the specified topic (e.g. 10M, 5G).|null|
+
+
+## <em>offload-status</em>
+
+Check the status of data offloading from a topic to long-term storage
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics offload-status options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `-w, --wait-complete` | Wait for offloading to complete|false|
+
+
+## <em>last-message-id</em>
+
+get the last commit message id of topic
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics last-message-id options
+```
+
+
+
+## <em>get-backlog-quotas</em>
+
+Get the backlog quota policies for a topic
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics get-backlog-quotas options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `-ap, --applied` | Get the applied policy of the topic|false|
+
+
+## <em>set-backlog-quota</em>
+
+Set a backlog quota policy for a topic
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics set-backlog-quota options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `-l, --limit` | Size limit (eg: 10M, 16G)|-1|
+| `-p, --policy` | Retention policy to enforce when the limit is reached. Valid options are: [producer_request_hold, producer_exception, consumer_backlog_eviction]|null|
+| `-lt, --limitTime` | Time limit in second, non-positive number for disabling time limit.|-1|
+| `-t, --type` | Backlog quota type to set|destination_storage|
+
+
+## <em>remove-backlog-quota</em>
+
+Remove a backlog quota policy from a topic
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics remove-backlog-quota options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `-t, --type` | Backlog quota type to remove|destination_storage|
+
+
+## <em>get-message-ttl</em>
+
+Get the message TTL for a topic
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics get-message-ttl options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `-ap, --applied` | Get the applied policy of the topic|false|
+
+
+## <em>set-message-ttl</em>
+
+Set message TTL for a topic
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics set-message-ttl options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `-t, --ttl` | Message TTL for topic in second, allowed range from 1 to Integer.MAX_VALUE|0|
+
+
+## <em>remove-message-ttl</em>
+
+Remove message TTL for a topic
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics remove-message-ttl options
+```
+
+
+
+## <em>get-retention</em>
+
+Get the retention policy for a topic
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics get-retention options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `-ap, --applied` | Get the applied policy of the topic|false|
+
+
+## <em>set-retention</em>
+
+Set the retention policy for a topic
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics set-retention options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--size, -s` | Retention size limit (eg: 10M, 16G, 3T). 0 or less than 1MB means no retention and -1 means infinite size retention|null|
+| `--time, -t` | Retention time in minutes (or minutes, hours,days,weeks eg: 100m, 3h, 2d, 5w). 0 means no retention and -1 means infinite time retention|null|
+
+
+## <em>remove-retention</em>
+
+Remove the retention policy for a topic
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics remove-retention options
+```
+
+
+
+## <em>enable-deduplication</em>
+
+Enable the deduplication policy for a topic
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics enable-deduplication options
+```
+
+
+
+## <em>disable-deduplication</em>
+
+Disable the deduplication policy for a topic
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics disable-deduplication options
+```
+
+
+
+## <em>get-deduplication-enabled</em>
+
+Get the deduplication policy for a topic
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics get-deduplication-enabled options
+```
+
+
+
+## <em>set-deduplication</em>
+
+Enable or disable deduplication for a topic
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics set-deduplication options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--disable, -d` | Disable deduplication|false|
+| `--enable, -e` | Enable deduplication|false|
+
+
+## <em>get-deduplication</em>
+
+Get the deduplication policy for a topic
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics get-deduplication options
+```
+
+
+
+## <em>remove-deduplication</em>
+
+Remove the deduplication policy for a topic
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics remove-deduplication options
+```
+
+
+
+## <em>get-deduplication-snapshot-interval</em>
+
+Get deduplication snapshot interval for a topic
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics get-deduplication-snapshot-interval options
+```
+
+
+
+## <em>set-deduplication-snapshot-interval</em>
+
+Set deduplication snapshot interval for a topic
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics set-deduplication-snapshot-interval options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `-i, --interval` | Deduplication snapshot interval for topic in second, allowed range from 0 to Integer.MAX_VALUE|0|
+
+
+## <em>remove-deduplication-snapshot-interval</em>
+
+Remove deduplication snapshot interval for a topic
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics remove-deduplication-snapshot-interval options
+```
+
+
+
+## <em>get-delayed-delivery</em>
+
+Get the delayed delivery policy for a topic
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics get-delayed-delivery options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `-ap, --applied` | Get the applied policy of the topic|false|
+
+
+## <em>set-delayed-delivery</em>
+
+Set the delayed delivery policy on a topic
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics set-delayed-delivery options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--disable, -d` | Disable delayed delivery messages|false|
+| `--enable, -e` | Enable delayed delivery messages|false|
+| `--time, -t` | The tick time for when retrying on delayed delivery messages, affecting the accuracy of the delivery time compared to the scheduled time. (eg: 1s, 10s, 1m, 5h, 3d)|1s|
+
+
+## <em>remove-delayed-delivery</em>
+
+Remove the delayed delivery policy on a topic
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics remove-delayed-delivery options
+```
+
+
+
+## <em>get-persistence</em>
+
+Get the persistence policies for a topic
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics get-persistence options
+```
+
+
+
+## <em>set-persistence</em>
+
+Set the persistence policies for a topic
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics set-persistence options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `-e, --bookkeeper-ensemble` | Number of bookies to use for a topic|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)|0.0|
+| `-w, --bookkeeper-write-quorum` | How many writes to make of each entry|0|
+
+
+## <em>remove-persistence</em>
+
+Remove the persistence policy for a topic
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics remove-persistence options
+```
+
+
+
+## <em>get-offload-policies</em>
+
+Get the offload policies for a topic
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics get-offload-policies options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `-ap, --applied` | Get the applied policy of the topic|false|
+
+
+## <em>set-offload-policies</em>
+
+Set the offload policies for a topic
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics set-offload-policies options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `-b, --bucket` | ManagedLedger offload bucket, s3 and google-cloud-storage requires this parameter|null|
+| `-r, --region` | ManagedLedger offload region, s3 and google-cloud-storage requires this parameter|null|
+| `--s3-role-session-name, -rsn` | S3 role session name used for STSAssumeRoleSessionCredentialsProvider|null|
+| `--offloadedReadPriority, -orp` | Read priority for offloaded messages. By default, once messages are offloaded to long-term storage, brokers read messages from long-term storage, but messages can still exist in BookKeeper for a period depends on your configuration. For messages that exist in both long-term storage and BookKeeper, you can set where to read messages from with the option `tiered-storage-first` or `bookkeeper-first`.|null|
+| `-e, --endpoint` | ManagedLedger offload service endpoint, only s3 requires this parameter|null|
+| `-dl, --offloadDeletionLagInMillis` | ManagedLedger offload deletion lag in bytes|null|
+| `-rb, --readBufferSizeInBytes` | ManagedLedger offload read buffer size in bytes,s3 and google-cloud-storage requires this parameter|0|
+| `-i, --aws-id` | AWS Credential Id to use when using driver S3 or aws-s3|null|
+| `-d, --driver` | ManagedLedger offload driver|null|
+| `--ro, --s3-role` | S3 Role used for STSAssumeRoleSessionCredentialsProvider|null|
+| `-m, --maxBlockSizeInBytes` | ManagedLedger offload max block Size in bytes,s3 and google-cloud-storage requires this parameter|0|
+| `-t, --offloadThresholdInBytes` | ManagedLedger offload threshold in bytes|0|
+| `-s, --aws-secret` | AWS Credential Secret to use when using driver S3 or aws-s3|null|
+
+
+## <em>remove-offload-policies</em>
+
+Remove the offload policies for a topic
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics remove-offload-policies options
+```
+
+
+
+## <em>get-dispatch-rate</em>
+
+Get message dispatch rate for a topic
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics get-dispatch-rate options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `-ap, --applied` | Get the applied policy of the topic|false|
+
+
+## <em>set-dispatch-rate</em>
+
+Set message dispatch rate for a topic
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics set-dispatch-rate options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--byte-dispatch-rate, -bd` | byte-dispatch-rate (default -1 will be overwrite if not passed)|-1|
+| `--msg-dispatch-rate, -md` | message-dispatch-rate (default -1 will be overwrite if not passed)|-1|
+| `--dispatch-rate-period, -dt` | dispatch-rate-period in second type (default 1 second will be overwrite if not passed)|1|
+| `--relative-to-publish-rate, -rp` | dispatch rate relative to publish-rate (if publish-relative flag is enabled then broker will apply throttling value to (publish-rate + dispatch rate))|false|
+
+
+## <em>remove-dispatch-rate</em>
+
+Remove message dispatch rate for a topic
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics remove-dispatch-rate options
+```
+
+
+
+## <em>get-subscription-dispatch-rate</em>
+
+Get subscription message-dispatch-rate for a topic
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics get-subscription-dispatch-rate options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `-ap, --applied` | Get the applied policy of the topic|false|
+
+
+## <em>set-subscription-dispatch-rate</em>
+
+Set subscription message-dispatch-rate for a topic
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics set-subscription-dispatch-rate options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--relative-to-publish-rate, -rp` | dispatch rate relative to publish-rate (if publish-relative flag is enabled then broker will apply throttling value to (publish-rate + dispatch rate))|false|
+| `--dispatch-rate-period, -dt` | dispatch-rate-period in second type (default 1 second will be overwrite if not passed)|1|
+| `--byte-dispatch-rate, -bd` | byte-dispatch-rate (default -1 will be overwrite if not passed)|-1|
+| `--msg-dispatch-rate, -md` | message-dispatch-rate (default -1 will be overwrite if not passed)|-1|
+
+
+## <em>remove-subscription-dispatch-rate</em>
+
+Remove subscription message-dispatch-rate for a topic
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics remove-subscription-dispatch-rate options
+```
+
+
+
+## <em>get-replicator-dispatch-rate</em>
+
+Get replicator message-dispatch-rate for a topic
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics get-replicator-dispatch-rate options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `-ap, --applied` | Get the applied policy of the topic|false|
+
+
+## <em>set-replicator-dispatch-rate</em>
+
+Set replicator message-dispatch-rate for a topic
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics set-replicator-dispatch-rate options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--byte-dispatch-rate, -bd` | byte-dispatch-rate (default -1 will be overwrite if not passed)|-1|
+| `--dispatch-rate-period, -dt` | dispatch-rate-period in second type (default 1 second will be overwrite if not passed)|1|
+| `--msg-dispatch-rate, -md` | message-dispatch-rate (default -1 will be overwrite if not passed)|-1|
+| `--relative-to-publish-rate, -rp` | dispatch rate relative to publish-rate (if publish-relative flag is enabled then broker will apply throttling value to (publish-rate + dispatch rate))|false|
+
+
+## <em>remove-replicator-dispatch-rate</em>
+
+Remove replicator message-dispatch-rate for a topic
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics remove-replicator-dispatch-rate options
+```
+
+
+
+## <em>get-compaction-threshold</em>
+
+Get compaction threshold for a topic
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics get-compaction-threshold options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `-ap, --applied` | Get the applied policy of the topic|false|
+
+
+## <em>set-compaction-threshold</em>
+
+Set compaction threshold for a topic
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics set-compaction-threshold options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--threshold, -t` | Maximum number of bytes in a topic backlog before compaction is triggered (eg: 10M, 16G, 3T). 0 disables automatic compaction|0|
+
+
+## <em>remove-compaction-threshold</em>
+
+Remove compaction threshold for a topic
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics remove-compaction-threshold options
+```
+
+
+
+## <em>get-max-unacked-messages-on-consumer</em>
+
+Get max unacked messages policy on consumer for a topic
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics get-max-unacked-messages-on-consumer options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `-ap, --applied` | Get the applied policy of the topic|false|
+
+
+## <em>set-max-unacked-messages-on-consumer</em>
+
+Set max unacked messages policy on consumer for a topic
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics set-max-unacked-messages-on-consumer options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `-m, --maxNum` | max unacked messages num on consumer|0|
+
+
+## <em>remove-max-unacked-messages-on-consumer</em>
+
+Remove max unacked messages policy on consumer for a topic
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics remove-max-unacked-messages-on-consumer options
+```
+
+
+
+## <em>get-max-unacked-messages-on-subscription</em>
+
+Get max unacked messages policy on subscription for a topic
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics get-max-unacked-messages-on-subscription options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `-ap, --applied` | Get the applied policy of the topic|false|
+
+
+## <em>set-max-unacked-messages-on-subscription</em>
+
+Set max unacked messages policy on subscription for a topic
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics set-max-unacked-messages-on-subscription options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `-m, --maxNum` | max unacked messages num on subscription|0|
+
+
+## <em>remove-max-unacked-messages-on-subscription</em>
+
+Remove max unacked messages policy on subscription for a topic
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics remove-max-unacked-messages-on-subscription options
+```
+
+
+
+## <em>get-max-unacked-messages-per-consumer</em>
+
+Get max unacked messages policy on consumer for a topic
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics get-max-unacked-messages-per-consumer options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `-ap, --applied` | Get the applied policy of the topic|false|
+
+
+## <em>set-max-unacked-messages-per-consumer</em>
+
+Set max unacked messages policy on consumer for a topic
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics set-max-unacked-messages-per-consumer options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `-m, --maxNum` | max unacked messages num on consumer|0|
+
+
+## <em>remove-max-unacked-messages-per-consumer</em>
+
+Remove max unacked messages policy on consumer for a topic
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics remove-max-unacked-messages-per-consumer options
+```
+
+
+
+## <em>get-max-unacked-messages-per-subscription</em>
+
+Get max unacked messages policy on subscription for a topic
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics get-max-unacked-messages-per-subscription options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `-ap, --applied` | Get the applied policy of the topic|false|
+
+
+## <em>set-max-unacked-messages-per-subscription</em>
+
+Set max unacked messages policy on subscription for a topic
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics set-max-unacked-messages-per-subscription options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `-m, --maxNum` | max unacked messages num on subscription|0|
+
+
+## <em>remove-max-unacked-messages-per-subscription</em>
+
+Remove max unacked messages policy on subscription for a topic
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics remove-max-unacked-messages-per-subscription options
+```
+
+
+
+## <em>get-publish-rate</em>
+
+Get publish rate for a topic
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics get-publish-rate options
+```
+
+
+
+## <em>set-publish-rate</em>
+
+Set publish rate for a topic
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics set-publish-rate options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--byte-publish-rate, -b` | byte-publish-rate (default -1 will be overwrite if not passed)|-1|
+| `--msg-publish-rate, -m` | message-publish-rate (default -1 will be overwrite if not passed)|-1|
+
+
+## <em>remove-publish-rate</em>
+
+Remove publish rate for a topic
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics remove-publish-rate options
+```
+
+
+
+## <em>set-subscription-types-enabled</em>
+
+Set subscription types enabled for a topic
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics set-subscription-types-enabled options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--types, -t` | Subscription types enabled list (comma separated values)|null|
+
+
+## <em>get-subscription-types-enabled</em>
+
+Get subscription types enabled for a topic
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics get-subscription-types-enabled options
+```
+
+
+
+## <em>get-maxProducers</em>
+
+Get max number of producers for a topic
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics get-maxProducers options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `-ap, --applied` | Get the applied policy of the topic|false|
+
+
+## <em>set-maxProducers</em>
+
+Set max number of producers for a topic
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics set-maxProducers options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--max-producers, -p` | Max producers for a topic|0|
+
+
+## <em>remove-maxProducers</em>
+
+Remove max number of producers for a topic
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics remove-maxProducers options
+```
+
+
+
+## <em>get-max-producers</em>
+
+Get max number of producers for a topic
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics get-max-producers options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `-ap, --applied` | Get the applied policy of the topic|false|
+
+
+## <em>set-max-producers</em>
+
+Set max number of producers for a topic
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics set-max-producers options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--max-producers, -p` | Max producers for a topic|0|
+
+
+## <em>remove-max-producers</em>
+
+Remove max number of producers for a topic
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics remove-max-producers options
+```
+
+
+
+## <em>get-max-subscriptions</em>
+
+Get max number of subscriptions for a topic
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics get-max-subscriptions options
+```
+
+
+
+## <em>set-max-subscriptions</em>
+
+Set max number of subscriptions for a topic
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics set-max-subscriptions options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--max-subscriptions-per-topic, -m` | Maximum subscription limit for a topic|0|
+
+
+## <em>remove-max-subscriptions</em>
+
+Remove max number of subscriptions for a topic
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics remove-max-subscriptions options
+```
+
+
+
+## <em>get-max-message-size</em>
+
+Get max message size for a topic
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics get-max-message-size options
+```
+
+
+
+## <em>set-max-message-size</em>
+
+Set max message size for a topic
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics set-max-message-size options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--max-message-size, -m` | Max message size for a topic|0|
+
+
+## <em>remove-max-message-size</em>
+
+Remove max message size for a topic
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics remove-max-message-size options
+```
+
+
+
+## <em>get-max-consumers-per-subscription</em>
+
+Get max consumers per subscription for a topic
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics get-max-consumers-per-subscription options
+```
+
+
+
+## <em>set-max-consumers-per-subscription</em>
+
+Set max consumers per subscription for a topic
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics set-max-consumers-per-subscription options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--max-consumers-per-subscription, -c` | maxConsumersPerSubscription for a namespace|0|
+
+
+## <em>remove-max-consumers-per-subscription</em>
+
+Remove max consumers per subscription for a topic
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics remove-max-consumers-per-subscription options
+```
+
+
+
+## <em>get-inactive-topic-policies</em>
+
+Get the inactive topic policies on a topic
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics get-inactive-topic-policies options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `-ap, --applied` | Get the applied policy of the topic|false|
+
+
+## <em>set-inactive-topic-policies</em>
+
+Set the inactive topic policies on a topic
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics set-inactive-topic-policies options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--delete-mode, -m` | Mode of delete inactive topic,Valid options are: [delete_when_no_subscriptions, delete_when_subscriptions_caught_up]|null|
+| `--enable-delete-while-inactive, -e` | Enable delete while inactive|false|
+| `--disable-delete-while-inactive, -d` | Disable delete while inactive|false|
+| `--max-inactive-duration, -t` | Max duration of topic inactivity in seconds,topics that are inactive for longer than this value will be deleted (eg: 1s, 10s, 1m, 5h, 3d)|null|
+
+
+## <em>remove-inactive-topic-policies</em>
+
+Remove inactive topic policies from a topic
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics remove-inactive-topic-policies options
+```
+
+
+
+## <em>get-max-consumers</em>
+
+Get max number of consumers for a topic
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics get-max-consumers options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `-ap, --applied` | Get the applied policy of the topic|false|
+
+
+## <em>set-max-consumers</em>
+
+Set max number of consumers for a topic
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics set-max-consumers options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--max-consumers, -c` | Max consumers for a topic|0|
+
+
+## <em>remove-max-consumers</em>
+
+Remove max number of consumers for a topic
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics remove-max-consumers options
+```
+
+
+
+## <em>get-subscribe-rate</em>
+
+Get consumer subscribe rate for a topic
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics get-subscribe-rate options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `-ap, --applied` | Get the applied policy of the topic|false|
+
+
+## <em>set-subscribe-rate</em>
+
+Set consumer subscribe rate for a topic
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics set-subscribe-rate options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--subscribe-rate-period, -st` | subscribe-rate-period in second type (default 30 second will be overwrite if not passed)|30|
+| `--subscribe-rate, -sr` | subscribe-rate (default -1 will be overwrite if not passed)|-1|
+
+
+## <em>remove-subscribe-rate</em>
+
+Remove consumer subscribe rate for a topic
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics remove-subscribe-rate options
+```
+
+
+
+## <em>set-replicated-subscription-status</em>
+
+Enable or disable a replicated subscription on a topic
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics set-replicated-subscription-status options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--disable, -d` | Disable replication|false|
+| `-s, --subscription` | Subscription name to enable or disable replication|null|
+| `--enable, -e` | Enable replication|false|
+
+
+## <em>get-backlog-size</em>
+
+Calculate backlog size by a message ID (in bytes).
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin topics get-backlog-size options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `--messageId, -m` | messageId used to calculate backlog size. It can be (ledgerId:entryId).|-1:-1|
+
diff --git a/site2/website-next/docsify/2.6.0/pulsar-admin/transactions.md b/site2/website-next/docsify/2.6.0/pulsar-admin/transactions.md
new file mode 100644
index 00000000000..da096764846
--- /dev/null
+++ b/site2/website-next/docsify/2.6.0/pulsar-admin/transactions.md
@@ -0,0 +1,227 @@
+------------
+
+# transactions
+
+### Usage
+
+`$transactions`
+
+------------
+
+Operations on transactions
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin transactions subcommand
+```
+
+* `coordinator-internal-stats`
+* `pending-ack-internal-stats`
+* `coordinator-stats`
+* `transaction-buffer-stats`
+* `pending-ack-stats`
+* `transaction-in-buffer-stats`
+* `transaction-in-pending-ack-stats`
+* `transaction-metadata`
+* `slow-transactions`
+
+
+## <em>coordinator-internal-stats</em>
+
+Get transaction coordinator internal stats
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin transactions coordinator-internal-stats options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `-c, --coordinator-id` | The coordinator id|0|
+| `-m, --metadata` | Flag to include ledger metadata|false|
+
+
+## <em>pending-ack-internal-stats</em>
+
+Get pending ack internal stats
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin transactions pending-ack-internal-stats options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `-s, --sub-name` | the subscription name|null|
+| `-m, --metadata` | Flag to include ledger metadata|false|
+| `-t, --topic` | the topic name|null|
+
+
+## <em>coordinator-stats</em>
+
+Get transaction coordinator stats
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin transactions coordinator-stats options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `-c, --coordinator-id` | the coordinator id|null|
+
+
+## <em>transaction-buffer-stats</em>
+
+Get transaction buffer stats
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin transactions transaction-buffer-stats options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `-t, --topic` | the topic|null|
+
+
+## <em>pending-ack-stats</em>
+
+Get transaction pending ack stats
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin transactions pending-ack-stats options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `-t, --topic` | the topic|null|
+| `-s, --sub-name` | the subscription name|null|
+
+
+## <em>transaction-in-buffer-stats</em>
+
+Get transaction in buffer stats
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin transactions transaction-in-buffer-stats options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `-l, --least-sig-bits` | the least sig bits|0|
+| `-t, --topic` | the topic|null|
+| `-m, --most-sig-bits` | the most sig bits|0|
+
+
+## <em>transaction-in-pending-ack-stats</em>
+
+Get transaction in pending ack stats
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin transactions transaction-in-pending-ack-stats options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `-t, --topic` | the topic name|null|
+| `-s, --sub-name` | the subscription name|null|
+| `-m, --most-sig-bits` | the most sig bits|0|
+| `-l, --least-sig-bits` | the least sig bits|0|
+
+
+## <em>transaction-metadata</em>
+
+Get transaction metadata
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin transactions transaction-metadata options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `-m, --most-sig-bits` | the most sig bits|0|
+| `-l, --least-sig-bits` | the least sig bits|0|
+
+
+## <em>slow-transactions</em>
+
+Get slow transactions.
+
+### Usage
+
+------------
+
+
+```bdocs-tab:example_shell
+$ pulsar-admin transactions slow-transactions options
+```
+
+Options
+
+
+|Flag|Description|Default|
+|---|---|---|
+| `-c, --coordinator-id` | The coordinator id|null|
+| `-t, --time` | The transaction timeout time. (eg: 1s, 10s, 1m, 5h, 3d)|1s|
+
diff --git a/site2/website-next/docsify/2.6.0/pulsar-client/README.md b/site2/website-next/docsify/2.6.0/pulsar-client/README.md
new file mode 100644
index 00000000000..0331c05d962
--- /dev/null
+++ b/site2/website-next/docsify/2.6.0/pulsar-client/README.md
@@ -0,0 +1 @@
+> Docs for Configuration for `pulsar-client`.
diff --git a/site2/website-next/docsify/2.6.0/pulsar-client/_sidebar.md b/site2/website-next/docsify/2.6.0/pulsar-client/_sidebar.md
new file mode 100644
index 00000000000..1e25c5bd0af
--- /dev/null
+++ b/site2/website-next/docsify/2.6.0/pulsar-client/_sidebar.md
@@ -0,0 +1 @@
+- [pulsar-client](pulsar-client/pulsar-client.md)
diff --git a/site2/website-next/docsify/2.6.0/pulsar-client/pulsar-client.md b/site2/website-next/docsify/2.6.0/pulsar-client/pulsar-client.md
new file mode 100644
index 00000000000..71279fcef39
--- /dev/null
+++ b/site2/website-next/docsify/2.6.0/pulsar-client/pulsar-client.md
@@ -0,0 +1,69 @@
+------------
+
+## produce
+
+### Usage
+
+`$produce`
+
+------------
+
+Produce messages to a specified topic
+
+
+```bdocs-tab:example_shell
+$ pulsar-client produce [options]
+```
+
+|Flag|Description|Default|
+|---|---|---|
+| `-ks, --key-schema` | Schema type (can be bytes,avro,json,string...)|string|
+| `-db, --disable-batching` | Disable batch sending of messages|false|
+| `-m, --messages` | Messages to send, either -m or -f must be specified. The default separator is comma|[]|
+| `-s, --separator` | Character to split messages string on default is comma|,|
+| `-n, --num-produce` | Number of times to send message(s), the count of messages/files * num-produce should below than 1000.|1|
... 22366 lines suppressed ...