You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by mm...@apache.org on 2018/07/26 09:53:19 UTC

[incubator-pulsar] branch asf-site updated: Updated site at revision 2415d13

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

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


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

commit 6447230d7be724a4adbcafa5d965583dc29f1e4f
Author: jenkins <bu...@apache.org>
AuthorDate: Thu Jul 26 09:53:12 2018 +0000

    Updated site at revision 2415d13
---
 .../docs/latest/adaptors/PulsarSpark/index.html    |   2 +-
 .../docs/latest/adaptors/PulsarStorm/index.html    |   2 +-
 content/docs/latest/admin-api/overview/index.html  |   8 +-
 content/docs/latest/clients/Java/index.html        |   2 +-
 .../latest/cookbooks/PartitionedTopics/index.html  |   2 +-
 .../latest/cookbooks/RetentionExpiry/index.html    |   2 +-
 .../docs/latest/cookbooks/compaction/index.html    |   2 +-
 .../cookbooks/message-deduplication/index.html     |   2 +-
 .../docs/latest/cookbooks/message-queue/index.html |   2 +-
 .../latest/cookbooks/tiered-storage/index.html     |   2 +-
 .../docs/latest/deployment/aws-cluster/index.html  |   2 +-
 content/docs/latest/deployment/cluster/index.html  |   2 +-
 content/docs/latest/deployment/instance/index.html |   2 +-
 content/docs/latest/functions/api/index.html       |   2 +-
 content/docs/latest/reference/CliTools/index.html  |   6 +-
 .../docs/latest/security/authorization/index.html  |   4 +-
 content/ja/reference/CliTools/index.html           |   2 +-
 content/staging/admin-rest-api.html                |  11 +-
 content/staging/admin-rest-api/index.html          |  11 +-
 content/staging/contact.html                       |  11 +-
 content/staging/contact/index.html                 |  11 +-
 content/staging/docs/adaptors-kafka.html           |  11 +-
 content/staging/docs/adaptors-kafka/index.html     |  11 +-
 content/staging/docs/adaptors-spark.html           |  11 +-
 content/staging/docs/adaptors-spark/index.html     |  11 +-
 content/staging/docs/adaptors-storm.html           |  11 +-
 content/staging/docs/adaptors-storm/index.html     |  11 +-
 content/staging/docs/admin-api-brokers.html        |  11 +-
 content/staging/docs/admin-api-brokers/index.html  |  11 +-
 content/staging/docs/admin-api-clusters.html       |  11 +-
 content/staging/docs/admin-api-clusters/index.html |  11 +-
 content/staging/docs/admin-api-namespaces.html     |  11 +-
 .../staging/docs/admin-api-namespaces/index.html   |  11 +-
 .../docs/admin-api-non-persistent-topics.html      |  11 +-
 .../admin-api-non-persistent-topics/index.html     |  11 +-
 content/staging/docs/admin-api-overview.html       |  11 +-
 content/staging/docs/admin-api-overview/index.html |  11 +-
 .../staging/docs/admin-api-partitioned-topics.html | 276 ++++++++++++++++++++-
 .../docs/admin-api-partitioned-topics/index.html   | 276 ++++++++++++++++++++-
 content/staging/docs/admin-api-permissions.html    |  11 +-
 .../staging/docs/admin-api-permissions/index.html  |  11 +-
 .../staging/docs/admin-api-persistent-topics.html  |  11 +-
 .../docs/admin-api-persistent-topics/index.html    |  11 +-
 content/staging/docs/admin-api-tenants.html        |  11 +-
 content/staging/docs/admin-api-tenants/index.html  |  11 +-
 content/staging/docs/administration-auth.html      |  11 +-
 .../staging/docs/administration-auth/index.html    |  11 +-
 content/staging/docs/administration-dashboard.html |  11 +-
 .../docs/administration-dashboard/index.html       |  11 +-
 content/staging/docs/administration-geo.html       |  13 +-
 content/staging/docs/administration-geo/index.html |  13 +-
 .../docs/administration-load-distribution.html     |  11 +-
 .../administration-load-distribution/index.html    |  11 +-
 content/staging/docs/administration-proxy.html     |  11 +-
 .../staging/docs/administration-proxy/index.html   |  11 +-
 content/staging/docs/administration-stats.html     |  11 +-
 .../staging/docs/administration-stats/index.html   |  11 +-
 content/staging/docs/administration-zk-bk.html     |  13 +-
 .../staging/docs/administration-zk-bk/index.html   |  13 +-
 content/staging/docs/client-libraries-cpp.html     |  11 +-
 .../staging/docs/client-libraries-cpp/index.html   |  11 +-
 content/staging/docs/client-libraries-go.html      |  11 +-
 .../staging/docs/client-libraries-go/index.html    |  11 +-
 content/staging/docs/client-libraries-java.html    |  11 +-
 .../staging/docs/client-libraries-java/index.html  |  11 +-
 content/staging/docs/client-libraries-python.html  |  11 +-
 .../docs/client-libraries-python/index.html        |  11 +-
 .../staging/docs/client-libraries-websocket.html   |  11 +-
 .../docs/client-libraries-websocket/index.html     |  11 +-
 content/staging/docs/client-libraries.html         |  11 +-
 content/staging/docs/client-libraries/index.html   |  11 +-
 content/staging/docs/concepts-architecture.html    |  37 +--
 .../staging/docs/concepts-architecture/index.html  |  37 +--
 content/staging/docs/cookbooks-compaction.html     |  11 +-
 .../staging/docs/cookbooks-compaction/index.html   |  11 +-
 content/staging/docs/cookbooks-deduplication.html  |  11 +-
 .../docs/cookbooks-deduplication/index.html        |  11 +-
 content/staging/docs/cookbooks-encryption.html     |  15 +-
 .../staging/docs/cookbooks-encryption/index.html   |  15 +-
 content/staging/docs/cookbooks-message-queue.html  |  11 +-
 .../docs/cookbooks-message-queue/index.html        |  11 +-
 content/staging/docs/cookbooks-non-persistent.html |  11 +-
 .../docs/cookbooks-non-persistent/index.html       |  11 +-
 content/staging/docs/cookbooks-partitioned.html    |  11 +-
 .../staging/docs/cookbooks-partitioned/index.html  |  11 +-
 .../staging/docs/cookbooks-retention-expiry.html   |  11 +-
 .../docs/cookbooks-retention-expiry/index.html     |  11 +-
 content/staging/docs/cookbooks-tiered-storage.html |  13 +-
 .../docs/cookbooks-tiered-storage/index.html       |  13 +-
 content/staging/docs/deploy-aws.html               |  11 +-
 content/staging/docs/deploy-aws/index.html         |  11 +-
 .../docs/deploy-bare-metal-multi-cluster.html      |  11 +-
 .../deploy-bare-metal-multi-cluster/index.html     |  11 +-
 content/staging/docs/deploy-bare-metal.html        |  13 +-
 content/staging/docs/deploy-bare-metal/index.html  |  13 +-
 content/staging/docs/deploy-dcos.html              |  49 ++--
 content/staging/docs/deploy-dcos/index.html        |  49 ++--
 content/staging/docs/deploy-kubernetes.html        |  11 +-
 content/staging/docs/deploy-kubernetes/index.html  |  11 +-
 content/staging/docs/deploy-monitoring.html        |  11 +-
 content/staging/docs/deploy-monitoring/index.html  |  11 +-
 content/staging/docs/develop-binary-protocol.html  |  19 +-
 .../docs/develop-binary-protocol/index.html        |  19 +-
 content/staging/docs/develop-codebase.html         |  11 +-
 content/staging/docs/develop-codebase/index.html   |  11 +-
 content/staging/docs/develop-cpp.html              |  11 +-
 content/staging/docs/develop-cpp/index.html        |  11 +-
 content/staging/docs/develop-load-manager.html     |  11 +-
 .../staging/docs/develop-load-manager/index.html   |  11 +-
 content/staging/docs/develop-schema.html           |  11 +-
 content/staging/docs/develop-schema/index.html     |  11 +-
 content/staging/docs/develop-tools.html            |  11 +-
 content/staging/docs/develop-tools/index.html      |  11 +-
 content/staging/docs/functions-api.html            |  13 +-
 content/staging/docs/functions-api/index.html      |  13 +-
 content/staging/docs/functions-deploying.html      |  11 +-
 .../staging/docs/functions-deploying/index.html    |  11 +-
 content/staging/docs/functions-guarantees.html     |  11 +-
 .../staging/docs/functions-guarantees/index.html   |  11 +-
 content/staging/docs/functions-metrics.html        |  11 +-
 content/staging/docs/functions-metrics/index.html  |  11 +-
 content/staging/docs/functions-overview.html       |  17 +-
 content/staging/docs/functions-overview/index.html |  17 +-
 content/staging/docs/functions-quickstart.html     |  11 +-
 .../staging/docs/functions-quickstart/index.html   |  11 +-
 content/staging/docs/io-overview.html              |  13 +-
 content/staging/docs/io-overview/index.html        |  13 +-
 content/staging/docs/io-quickstart.html            |  11 +-
 content/staging/docs/io-quickstart/index.html      |  11 +-
 content/staging/docs/pulsar-2.0.html               |  11 +-
 content/staging/docs/pulsar-2.0/index.html         |  11 +-
 content/staging/docs/pulsar-admin.html             |  28 ++-
 content/staging/docs/pulsar-admin/index.html       |  28 ++-
 content/staging/docs/reference-auth.html           |  11 +-
 content/staging/docs/reference-auth/index.html     |  11 +-
 content/staging/docs/reference-cli-tools.html      |  11 +-
 .../staging/docs/reference-cli-tools/index.html    |  11 +-
 content/staging/docs/reference-configuration.html  |  11 +-
 .../docs/reference-configuration/index.html        |  11 +-
 content/staging/docs/reference-rest-api.html       |  11 +-
 content/staging/docs/reference-rest-api/index.html |  11 +-
 content/staging/docs/security-athenz.html          |  11 +-
 content/staging/docs/security-athenz/index.html    |  11 +-
 content/staging/docs/security-authorization.html   |  11 +-
 .../staging/docs/security-authorization/index.html |  11 +-
 content/staging/docs/security-encryption.html      |  15 +-
 .../staging/docs/security-encryption/index.html    |  15 +-
 content/staging/docs/security-extending.html       |  11 +-
 content/staging/docs/security-extending/index.html |  11 +-
 content/staging/docs/security-overview.html        |  11 +-
 content/staging/docs/security-overview/index.html  |  11 +-
 content/staging/docs/security-tls.html             |  11 +-
 content/staging/docs/security-tls/index.html       |  11 +-
 content/staging/docs/standalone-docker.html        |  11 +-
 content/staging/docs/standalone-docker/index.html  |  11 +-
 content/staging/docs/standalone.html               |  11 +-
 content/staging/docs/standalone/index.html         |  11 +-
 content/staging/download.html                      |  11 +-
 content/staging/download/index.html                |  11 +-
 content/staging/en/admin-rest-api.html             |  11 +-
 content/staging/en/admin-rest-api/index.html       |  11 +-
 content/staging/en/contact.html                    |  11 +-
 content/staging/en/contact/index.html              |  11 +-
 content/staging/en/download.html                   |  11 +-
 content/staging/en/download/index.html             |  11 +-
 content/staging/en/events.html                     |  11 +-
 content/staging/en/events/index.html               |  11 +-
 content/staging/en/index.html                      |  11 +-
 content/staging/en/release-notes.html              |  11 +-
 content/staging/en/release-notes/index.html        |  11 +-
 content/staging/en/resources.html                  |  11 +-
 content/staging/en/resources/index.html            |  11 +-
 content/staging/en/team.html                       |  11 +-
 content/staging/en/team/index.html                 |  11 +-
 content/staging/en/versions.html                   |  11 +-
 content/staging/en/versions/index.html             |  11 +-
 content/staging/events.html                        |  11 +-
 content/staging/events/index.html                  |  11 +-
 content/staging/index.html                         |  11 +-
 content/staging/release-notes.html                 |  11 +-
 content/staging/release-notes/index.html           |  11 +-
 content/staging/resources.html                     |  11 +-
 content/staging/resources/index.html               |  11 +-
 content/staging/team.html                          |  11 +-
 content/staging/team/index.html                    |  11 +-
 content/staging/versions.html                      |  11 +-
 content/staging/versions/index.html                |  11 +-
 187 files changed, 2207 insertions(+), 469 deletions(-)

diff --git a/content/docs/latest/adaptors/PulsarSpark/index.html b/content/docs/latest/adaptors/PulsarSpark/index.html
index c5db199..ae1dfd8 100644
--- a/content/docs/latest/adaptors/PulsarSpark/index.html
+++ b/content/docs/latest/adaptors/PulsarSpark/index.html
@@ -1676,9 +1676,9 @@
           
           
           
+          <li><a href="/docs/latest/admin-api/overview/">The Pulsar admin interface</a></li>
           
           
-          <li><a href="/docs/latest/admin-api/overview/">The Pulsar admin interface</a></li>
           
           
           
diff --git a/content/docs/latest/adaptors/PulsarStorm/index.html b/content/docs/latest/adaptors/PulsarStorm/index.html
index 9b8e10d..6f6e0f0 100644
--- a/content/docs/latest/adaptors/PulsarStorm/index.html
+++ b/content/docs/latest/adaptors/PulsarStorm/index.html
@@ -1432,9 +1432,9 @@
           
           
           
+          <li><a href="/docs/latest/admin-api/overview/">The Pulsar admin interface</a></li>
           
           
-          <li><a href="/docs/latest/admin-api/overview/">The Pulsar admin interface</a></li>
           
           
           
diff --git a/content/docs/latest/admin-api/overview/index.html b/content/docs/latest/admin-api/overview/index.html
index 4ad6872..9063b77 100644
--- a/content/docs/latest/admin-api/overview/index.html
+++ b/content/docs/latest/admin-api/overview/index.html
@@ -1196,9 +1196,9 @@
           
           
           
+          <li><a href="/docs/latest/admin-api/overview/">The Pulsar admin interface</a></li>
           
           
-          <li><a href="/docs/latest/admin-api/overview/">The Pulsar admin interface</a></li>
           
           
           
@@ -1444,9 +1444,9 @@
           
           
           
+          <li><a href="/docs/latest/admin-api/overview/">The Pulsar admin interface</a></li>
           
           
-          <li><a href="/docs/latest/admin-api/overview/">The Pulsar admin interface</a></li>
           
           
           
@@ -1688,9 +1688,9 @@
           
           
           
+          <li><a href="/docs/latest/admin-api/overview/">The Pulsar admin interface</a></li>
           
           
-          <li><a href="/docs/latest/admin-api/overview/">The Pulsar admin interface</a></li>
           
           
           
@@ -1942,9 +1942,9 @@
           
           
           
+          <li><a href="/docs/latest/admin-api/overview/">The Pulsar admin interface</a></li>
           
           
-          <li><a href="/docs/latest/admin-api/overview/">The Pulsar admin interface</a></li>
           
           
           
diff --git a/content/docs/latest/clients/Java/index.html b/content/docs/latest/clients/Java/index.html
index 21c833f..a15dd75 100644
--- a/content/docs/latest/clients/Java/index.html
+++ b/content/docs/latest/clients/Java/index.html
@@ -1442,9 +1442,9 @@
           
           
           
+          <li><a href="/docs/latest/admin-api/overview/">The Pulsar admin interface</a></li>
           
           
-          <li><a href="/docs/latest/admin-api/overview/">The Pulsar admin interface</a></li>
           
           
           
diff --git a/content/docs/latest/cookbooks/PartitionedTopics/index.html b/content/docs/latest/cookbooks/PartitionedTopics/index.html
index 8af04dd..af6b603 100644
--- a/content/docs/latest/cookbooks/PartitionedTopics/index.html
+++ b/content/docs/latest/cookbooks/PartitionedTopics/index.html
@@ -1684,9 +1684,9 @@
           
           
           
+          <li><a href="/docs/latest/admin-api/overview/">The Pulsar admin interface</a></li>
           
           
-          <li><a href="/docs/latest/admin-api/overview/">The Pulsar admin interface</a></li>
           
           
           
diff --git a/content/docs/latest/cookbooks/RetentionExpiry/index.html b/content/docs/latest/cookbooks/RetentionExpiry/index.html
index 6e6685f..70cfb33 100644
--- a/content/docs/latest/cookbooks/RetentionExpiry/index.html
+++ b/content/docs/latest/cookbooks/RetentionExpiry/index.html
@@ -1196,9 +1196,9 @@
           
           
           
+          <li><a href="/docs/latest/admin-api/overview/">The Pulsar admin interface</a></li>
           
           
-          <li><a href="/docs/latest/admin-api/overview/">The Pulsar admin interface</a></li>
           
           
           
diff --git a/content/docs/latest/cookbooks/compaction/index.html b/content/docs/latest/cookbooks/compaction/index.html
index b3bdc80..f519e8d 100644
--- a/content/docs/latest/cookbooks/compaction/index.html
+++ b/content/docs/latest/cookbooks/compaction/index.html
@@ -1196,9 +1196,9 @@
           
           
           
+          <li><a href="/docs/latest/admin-api/overview/">The Pulsar admin interface</a></li>
           
           
-          <li><a href="/docs/latest/admin-api/overview/">The Pulsar admin interface</a></li>
           
           
           
diff --git a/content/docs/latest/cookbooks/message-deduplication/index.html b/content/docs/latest/cookbooks/message-deduplication/index.html
index e55344d..6beeb6c 100644
--- a/content/docs/latest/cookbooks/message-deduplication/index.html
+++ b/content/docs/latest/cookbooks/message-deduplication/index.html
@@ -1196,9 +1196,9 @@
           
           
           
+          <li><a href="/docs/latest/admin-api/overview/">The Pulsar admin interface</a></li>
           
           
-          <li><a href="/docs/latest/admin-api/overview/">The Pulsar admin interface</a></li>
           
           
           
diff --git a/content/docs/latest/cookbooks/message-queue/index.html b/content/docs/latest/cookbooks/message-queue/index.html
index 72f603d..7e14434 100644
--- a/content/docs/latest/cookbooks/message-queue/index.html
+++ b/content/docs/latest/cookbooks/message-queue/index.html
@@ -1442,9 +1442,9 @@
           
           
           
+          <li><a href="/docs/latest/admin-api/overview/">The Pulsar admin interface</a></li>
           
           
-          <li><a href="/docs/latest/admin-api/overview/">The Pulsar admin interface</a></li>
           
           
           
diff --git a/content/docs/latest/cookbooks/tiered-storage/index.html b/content/docs/latest/cookbooks/tiered-storage/index.html
index 176a444..661e799 100644
--- a/content/docs/latest/cookbooks/tiered-storage/index.html
+++ b/content/docs/latest/cookbooks/tiered-storage/index.html
@@ -1196,9 +1196,9 @@
           
           
           
+          <li><a href="/docs/latest/admin-api/overview/">The Pulsar admin interface</a></li>
           
           
-          <li><a href="/docs/latest/admin-api/overview/">The Pulsar admin interface</a></li>
           
           
           
diff --git a/content/docs/latest/deployment/aws-cluster/index.html b/content/docs/latest/deployment/aws-cluster/index.html
index 89146a1..11d3d90 100644
--- a/content/docs/latest/deployment/aws-cluster/index.html
+++ b/content/docs/latest/deployment/aws-cluster/index.html
@@ -1196,9 +1196,9 @@
           
           
           
+          <li><a href="/docs/latest/admin-api/overview/">The Pulsar admin interface</a></li>
           
           
-          <li><a href="/docs/latest/admin-api/overview/">The Pulsar admin interface</a></li>
           
           
           
diff --git a/content/docs/latest/deployment/cluster/index.html b/content/docs/latest/deployment/cluster/index.html
index 449294d..1815f7f 100644
--- a/content/docs/latest/deployment/cluster/index.html
+++ b/content/docs/latest/deployment/cluster/index.html
@@ -1196,9 +1196,9 @@
           
           
           
+          <li><a href="/docs/latest/admin-api/overview/">The Pulsar admin interface</a></li>
           
           
-          <li><a href="/docs/latest/admin-api/overview/">The Pulsar admin interface</a></li>
           
           
           
diff --git a/content/docs/latest/deployment/instance/index.html b/content/docs/latest/deployment/instance/index.html
index 665a228..4a8f6b7 100644
--- a/content/docs/latest/deployment/instance/index.html
+++ b/content/docs/latest/deployment/instance/index.html
@@ -1196,9 +1196,9 @@
           
           
           
+          <li><a href="/docs/latest/admin-api/overview/">The Pulsar admin interface</a></li>
           
           
-          <li><a href="/docs/latest/admin-api/overview/">The Pulsar admin interface</a></li>
           
           
           
diff --git a/content/docs/latest/functions/api/index.html b/content/docs/latest/functions/api/index.html
index 77c4742..5f9d875 100644
--- a/content/docs/latest/functions/api/index.html
+++ b/content/docs/latest/functions/api/index.html
@@ -1264,7 +1264,7 @@
 <p>There is one example Java native function in <a href="https://github.com/apache/incubator-pulsar/tree/master/pulsar-functions/java-examples/src/main/java/org/apache/pulsar/functions/api/examples">this folder</a>:</p>
 
 <ul>
-  <li><a href="https://github.com/apache/incubator-pulsar/blob/master/pulsar-functions/java-examples/src/main/java/org/apache/pulsar/functions/api/examples/JavaNativeExclmationFunction.java"><code class="highlighter-rouge">JavaNativeExclmationFunction</code></a></li>
+  <li><a href="https://github.com/apache/incubator-pulsar/blob/master/pulsar-functions/java-examples/src/main/java/org/apache/pulsar/functions/api/examples/JavaNativeExclamationFunction.java"><code class="highlighter-rouge">JavaNativeExclamationFunction</code></a></li>
 </ul>
 
 <h3 id="java-sdk">Java SDK functions</h3>
diff --git a/content/docs/latest/reference/CliTools/index.html b/content/docs/latest/reference/CliTools/index.html
index 6e8c7a3..fbad16a 100644
--- a/content/docs/latest/reference/CliTools/index.html
+++ b/content/docs/latest/reference/CliTools/index.html
@@ -1196,9 +1196,9 @@
           
           
           
+          <li><a href="/docs/latest/admin-api/overview/">The Pulsar admin interface</a></li>
           
           
-          <li><a href="/docs/latest/admin-api/overview/">The Pulsar admin interface</a></li>
           
           
           
@@ -1444,9 +1444,9 @@
           
           
           
+          <li><a href="/docs/latest/admin-api/overview/">The Pulsar admin interface</a></li>
           
           
-          <li><a href="/docs/latest/admin-api/overview/">The Pulsar admin interface</a></li>
           
           
           
@@ -6840,7 +6840,7 @@
                       
                        <!-- for flag in option.flags -->
                     </td>
-                    <td><p>The retention size limits (for example <code class="highlighter-rouge">10M</code>, <code class="highlighter-rouge">16G</code> or <code class="highlighter-rouge">3T</code>). 0 means no retention and -1 means infinite size retention</p>
+                    <td><p>The retention size limits (for example <code class="highlighter-rouge">10M</code>, <code class="highlighter-rouge">16G</code> or <code class="highlighter-rouge">3T</code>). 0 or less than 1MB means no retention and -1 means infinite size retention</p>
 </td>
                     <td>
                       
diff --git a/content/docs/latest/security/authorization/index.html b/content/docs/latest/security/authorization/index.html
index 9f4a6f4..d5aedab 100644
--- a/content/docs/latest/security/authorization/index.html
+++ b/content/docs/latest/security/authorization/index.html
@@ -1196,9 +1196,9 @@
           
           
           
+          <li><a href="/docs/latest/admin-api/overview/">The Pulsar admin interface</a></li>
           
           
-          <li><a href="/docs/latest/admin-api/overview/">The Pulsar admin interface</a></li>
           
           
           
@@ -2432,9 +2432,9 @@
           
           
           
+          <li><a href="/docs/latest/admin-api/overview/">The Pulsar admin interface</a></li>
           
           
-          <li><a href="/docs/latest/admin-api/overview/">The Pulsar admin interface</a></li>
           
           
           
diff --git a/content/ja/reference/CliTools/index.html b/content/ja/reference/CliTools/index.html
index 28f4f5d..2d817ec 100644
--- a/content/ja/reference/CliTools/index.html
+++ b/content/ja/reference/CliTools/index.html
@@ -6506,7 +6506,7 @@
                       
                        <!-- for flag in option.flags -->
                     </td>
-                    <td><p>The retention size limits (for example <code class="highlighter-rouge">10M</code>, <code class="highlighter-rouge">16G</code> or <code class="highlighter-rouge">3T</code>). 0 means no retention and -1 means infinite size retention</p>
+                    <td><p>The retention size limits (for example <code class="highlighter-rouge">10M</code>, <code class="highlighter-rouge">16G</code> or <code class="highlighter-rouge">3T</code>). 0 or less than 1MB means no retention and -1 means infinite size retention</p>
 </td>
                     <td>
                       
diff --git a/content/staging/admin-rest-api.html b/content/staging/admin-rest-api.html
index cd0c354..c8fec00 100644
--- a/content/staging/admin-rest-api.html
+++ b/content/staging/admin-rest-api.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/staging/index.html"/><meta property="og:description" con [...]
+<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/staging/index.html"/><meta property="og:description" con [...]
       const ui = SwaggerUIBundle({
         url: "/staging/swagger/swagger.json",
         dom_id: '#swagger-ui',
@@ -58,4 +58,11 @@
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/admin-rest-api/index.html b/content/staging/admin-rest-api/index.html
index cd0c354..c8fec00 100644
--- a/content/staging/admin-rest-api/index.html
+++ b/content/staging/admin-rest-api/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/staging/index.html"/><meta property="og:description" con [...]
+<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/staging/index.html"/><meta property="og:description" con [...]
       const ui = SwaggerUIBundle({
         url: "/staging/swagger/swagger.json",
         dom_id: '#swagger-ui',
@@ -58,4 +58,11 @@
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/contact.html b/content/staging/contact.html
index 79d1a6c..f5a061c 100644
--- a/content/staging/contact.html
+++ b/content/staging/contact.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/staging/index.html"/><meta property="og:description" con [...]
+<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/staging/index.html"/><meta property="og:description" con [...]
 </span></div><div><span><p>You can self-register at <a href="https://apache-pulsar.herokuapp.com/">https://apache-pulsar.herokuapp.com/</a></p>
 </span></div></div></div></div></div><footer class="nav-footer" id="footer"><section class="copyright">Copyright © 2018 The Apache Software Foundation. All Rights Reserved. Apache, Apache Pulsar and the Apache feather logo are trademarks of The Apache Software Foundation.</section><span><script>
       const community = document.querySelector("a[href='#community']").parentNode;
@@ -43,4 +43,11 @@
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/contact/index.html b/content/staging/contact/index.html
index 79d1a6c..f5a061c 100644
--- a/content/staging/contact/index.html
+++ b/content/staging/contact/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/staging/index.html"/><meta property="og:description" con [...]
+<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/staging/index.html"/><meta property="og:description" con [...]
 </span></div><div><span><p>You can self-register at <a href="https://apache-pulsar.herokuapp.com/">https://apache-pulsar.herokuapp.com/</a></p>
 </span></div></div></div></div></div><footer class="nav-footer" id="footer"><section class="copyright">Copyright © 2018 The Apache Software Foundation. All Rights Reserved. Apache, Apache Pulsar and the Apache feather logo are trademarks of The Apache Software Foundation.</section><span><script>
       const community = document.querySelector("a[href='#community']").parentNode;
@@ -43,4 +43,11 @@
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/adaptors-kafka.html b/content/staging/docs/adaptors-kafka.html
index 9a8e3cb..87739e4 100644
--- a/content/staging/docs/adaptors-kafka.html
+++ b/content/staging/docs/adaptors-kafka.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar adaptor for Apache Kafka · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar provides an easy option for applications that are currently written using the [Apache Kafka](http://kafka.apache.org) Java client API."/><meta name="docsearch:language" content=" [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar adaptor for Apache Kafka · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar provides an easy option for applications that are currently written using the [Apache Kafka](http://kafka.apache.org) Java client API."/><meta name="docsearch:language" content=" [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -305,4 +305,11 @@ consumer.subscribe(Arrays.asList(topic));
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/adaptors-kafka/index.html b/content/staging/docs/adaptors-kafka/index.html
index 9a8e3cb..87739e4 100644
--- a/content/staging/docs/adaptors-kafka/index.html
+++ b/content/staging/docs/adaptors-kafka/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar adaptor for Apache Kafka · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar provides an easy option for applications that are currently written using the [Apache Kafka](http://kafka.apache.org) Java client API."/><meta name="docsearch:language" content=" [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar adaptor for Apache Kafka · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar provides an easy option for applications that are currently written using the [Apache Kafka](http://kafka.apache.org) Java client API."/><meta name="docsearch:language" content=" [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -305,4 +305,11 @@ consumer.subscribe(Arrays.asList(topic));
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/adaptors-spark.html b/content/staging/docs/adaptors-spark.html
index 04a30a8..d857218 100644
--- a/content/staging/docs/adaptors-spark.html
+++ b/content/staging/docs/adaptors-spark.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar adaptor for Apache Spark · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="The Spark Streaming receiver for Pulsar is a custom receiver that enables Apache [Spark Streaming](https://spark.apache.org/streaming/) to receive data from Pulsar."/><meta name="docsea [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar adaptor for Apache Spark · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="The Spark Streaming receiver for Pulsar is a custom receiver that enables Apache [Spark Streaming](https://spark.apache.org/streaming/) to receive data from Pulsar."/><meta name="docsea [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -105,4 +105,11 @@ In this example, the number of messages which contain the string &quot;Pulsar&qu
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/adaptors-spark/index.html b/content/staging/docs/adaptors-spark/index.html
index 04a30a8..d857218 100644
--- a/content/staging/docs/adaptors-spark/index.html
+++ b/content/staging/docs/adaptors-spark/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar adaptor for Apache Spark · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="The Spark Streaming receiver for Pulsar is a custom receiver that enables Apache [Spark Streaming](https://spark.apache.org/streaming/) to receive data from Pulsar."/><meta name="docsea [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar adaptor for Apache Spark · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="The Spark Streaming receiver for Pulsar is a custom receiver that enables Apache [Spark Streaming](https://spark.apache.org/streaming/) to receive data from Pulsar."/><meta name="docsea [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -105,4 +105,11 @@ In this example, the number of messages which contain the string &quot;Pulsar&qu
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/adaptors-storm.html b/content/staging/docs/adaptors-storm.html
index f646df7..03bbfb8 100644
--- a/content/staging/docs/adaptors-storm.html
+++ b/content/staging/docs/adaptors-storm.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar adaptor for Apache Storm · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar Storm is an adaptor for integrating with [Apache Storm](http://storm.apache.org/) topologies. It provides core Storm implementations for sending and receiving data."/><meta name= [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar adaptor for Apache Storm · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar Storm is an adaptor for integrating with [Apache Storm](http://storm.apache.org/) topologies. It provides core Storm implementations for sending and receiving data."/><meta name= [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -145,4 +145,11 @@ PulsarBolt bolt = <span class="hljs-keyword">new</span> PulsarBolt(boltConf, cli
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/adaptors-storm/index.html b/content/staging/docs/adaptors-storm/index.html
index f646df7..03bbfb8 100644
--- a/content/staging/docs/adaptors-storm/index.html
+++ b/content/staging/docs/adaptors-storm/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar adaptor for Apache Storm · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar Storm is an adaptor for integrating with [Apache Storm](http://storm.apache.org/) topologies. It provides core Storm implementations for sending and receiving data."/><meta name= [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar adaptor for Apache Storm · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar Storm is an adaptor for integrating with [Apache Storm](http://storm.apache.org/) topologies. It provides core Storm implementations for sending and receiving data."/><meta name= [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -145,4 +145,11 @@ PulsarBolt bolt = <span class="hljs-keyword">new</span> PulsarBolt(boltConf, cli
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/admin-api-brokers.html b/content/staging/docs/admin-api-brokers.html
index 9ec46d7..1c193c0 100644
--- a/content/staging/docs/admin-api-brokers.html
+++ b/content/staging/docs/admin-api-brokers.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Managing Brokers · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar brokers consist of two components:"/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Managing Brokers · Apache Pulsar"/><meta property="og:type" content="websit [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Managing Brokers · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar brokers consist of two components:"/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Managing Brokers · Apache Pulsar"/><meta property="og:type" content="websit [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -154,4 +154,11 @@ brokerShutdownTimeoutMs:100
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/admin-api-brokers/index.html b/content/staging/docs/admin-api-brokers/index.html
index 9ec46d7..1c193c0 100644
--- a/content/staging/docs/admin-api-brokers/index.html
+++ b/content/staging/docs/admin-api-brokers/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Managing Brokers · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar brokers consist of two components:"/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Managing Brokers · Apache Pulsar"/><meta property="og:type" content="websit [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Managing Brokers · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar brokers consist of two components:"/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Managing Brokers · Apache Pulsar"/><meta property="og:type" content="websit [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -154,4 +154,11 @@ brokerShutdownTimeoutMs:100
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/admin-api-clusters.html b/content/staging/docs/admin-api-clusters.html
index ff7996f..a3860ae 100644
--- a/content/staging/docs/admin-api-clusters.html
+++ b/content/staging/docs/admin-api-clusters.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Managing Clusters · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar clusters consist of one or more Pulsar {% popover brokers %}, one or more {% popover BookKeeper %} servers (aka {% popover bookies %}), and a {% popover ZooKeeper %} cluster that provides conf [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Managing Clusters · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar clusters consist of one or more Pulsar {% popover brokers %}, one or more {% popover BookKeeper %} servers (aka {% popover bookies %}), and a {% popover ZooKeeper %} cluster that provides conf [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -197,4 +197,11 @@ cluster-2
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/admin-api-clusters/index.html b/content/staging/docs/admin-api-clusters/index.html
index ff7996f..a3860ae 100644
--- a/content/staging/docs/admin-api-clusters/index.html
+++ b/content/staging/docs/admin-api-clusters/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Managing Clusters · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar clusters consist of one or more Pulsar {% popover brokers %}, one or more {% popover BookKeeper %} servers (aka {% popover bookies %}), and a {% popover ZooKeeper %} cluster that provides conf [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Managing Clusters · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar clusters consist of one or more Pulsar {% popover brokers %}, one or more {% popover BookKeeper %} servers (aka {% popover bookies %}), and a {% popover ZooKeeper %} cluster that provides conf [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -197,4 +197,11 @@ cluster-2
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/admin-api-namespaces.html b/content/staging/docs/admin-api-namespaces.html
index 46b2c8f..b83aed1 100644
--- a/content/staging/docs/admin-api-namespaces.html
+++ b/content/staging/docs/admin-api-namespaces.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Managing Namespaces · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar {% popover namespaces %} are logical groupings of {% popover topics %}."/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Managing Namespaces · Apache Pulsar [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Managing Namespaces · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar {% popover namespaces %} are logical groupings of {% popover topics %}."/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Managing Namespaces · Apache Pulsar [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -421,4 +421,11 @@ disables the throttling.</p>
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/admin-api-namespaces/index.html b/content/staging/docs/admin-api-namespaces/index.html
index 46b2c8f..b83aed1 100644
--- a/content/staging/docs/admin-api-namespaces/index.html
+++ b/content/staging/docs/admin-api-namespaces/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Managing Namespaces · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar {% popover namespaces %} are logical groupings of {% popover topics %}."/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Managing Namespaces · Apache Pulsar [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Managing Namespaces · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar {% popover namespaces %} are logical groupings of {% popover topics %}."/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Managing Namespaces · Apache Pulsar [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -421,4 +421,11 @@ disables the throttling.</p>
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/admin-api-non-persistent-topics.html b/content/staging/docs/admin-api-non-persistent-topics.html
index baf424f..44982c1 100644
--- a/content/staging/docs/admin-api-non-persistent-topics.html
+++ b/content/staging/docs/admin-api-non-persistent-topics.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Managing non-persistent topics · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Non-persistent can be used in applications that only want to consume real time published messages and"/><meta name="docsearch:language" content="en"/><meta property="og:title" content="M [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Managing non-persistent topics · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Non-persistent can be used in applications that only want to consume real time published messages and"/><meta name="docsearch:language" content="en"/><meta property="og:title" content="M [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -233,4 +233,11 @@ admin.nonPersistentTopics().unload(destination);
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/admin-api-non-persistent-topics/index.html b/content/staging/docs/admin-api-non-persistent-topics/index.html
index baf424f..44982c1 100644
--- a/content/staging/docs/admin-api-non-persistent-topics/index.html
+++ b/content/staging/docs/admin-api-non-persistent-topics/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Managing non-persistent topics · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Non-persistent can be used in applications that only want to consume real time published messages and"/><meta name="docsearch:language" content="en"/><meta property="og:title" content="M [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Managing non-persistent topics · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Non-persistent can be used in applications that only want to consume real time published messages and"/><meta name="docsearch:language" content="en"/><meta property="og:title" content="M [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -233,4 +233,11 @@ admin.nonPersistentTopics().unload(destination);
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/admin-api-overview.html b/content/staging/docs/admin-api-overview.html
index c454aa5..2ae46cb 100644
--- a/content/staging/docs/admin-api-overview.html
+++ b/content/staging/docs/admin-api-overview.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>The Pulsar admin interface · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="The Pulsar admin interface enables you to manage all of the important entities in a Pulsar {% popover instance %}, such as {% popover properties %}, {% popover topics %}, and {% popover name [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>The Pulsar admin interface · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="The Pulsar admin interface enables you to manage all of the important entities in a Pulsar {% popover instance %}, such as {% popover properties %}, {% popover topics %}, and {% popover name [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -111,4 +111,11 @@ PulsarAdmin admin = <span class="hljs-keyword">new</span> PulsarAdmin(url, confi
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/admin-api-overview/index.html b/content/staging/docs/admin-api-overview/index.html
index c454aa5..2ae46cb 100644
--- a/content/staging/docs/admin-api-overview/index.html
+++ b/content/staging/docs/admin-api-overview/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>The Pulsar admin interface · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="The Pulsar admin interface enables you to manage all of the important entities in a Pulsar {% popover instance %}, such as {% popover properties %}, {% popover topics %}, and {% popover name [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>The Pulsar admin interface · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="The Pulsar admin interface enables you to manage all of the important entities in a Pulsar {% popover instance %}, such as {% popover properties %}, {% popover topics %}, and {% popover name [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -111,4 +111,11 @@ PulsarAdmin admin = <span class="hljs-keyword">new</span> PulsarAdmin(url, confi
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/admin-api-partitioned-topics.html b/content/staging/docs/admin-api-partitioned-topics.html
index a2fdb86..91e5461 100644
--- a/content/staging/docs/admin-api-partitioned-topics.html
+++ b/content/staging/docs/admin-api-partitioned-topics.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Managing partitioned topics · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="You can use Pulsar&#x27;s [admin API](/staging/docs/admin-api-overview) to create and manage partitioned topics."/><meta name="docsearch:language" content="en"/><meta property="og:title" co [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Managing partitioned topics · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="You can use Pulsar&#x27;s [admin API](/staging/docs/admin-api-overview) to create and manage partitioned topics."/><meta name="docsearch:language" content="en"/><meta property="og:title" co [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -23,10 +23,269 @@
             });
         </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/incubator-pulsar/edit/master/site2/docs/admin-api-partitioned-topics.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 class="postHeaderTitle">Managing partitioned topics</h1></header><article><div><span><p>You can use Pulsar's <a href="/staging/docs/admin-api-overview">admin API</a> to [...]
 <p>In all of the instructions and commands below, the topic name structure is:</p>
-<p>{% include topic.html ten=&quot;tenant&quot; n=&quot;namespace&quot; t=&quot;topic&quot; %}</p>
+<pre><code class="hljs css languages- shell">persistent://tenant/namespace/topic
+</code></pre>
 <h2><a class="anchor" aria-hidden="true" id="partitioned-topics-resources"></a><a href="#partitioned-topics-resources" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 [...]
-<p>{% include explanations/partitioned-topic-admin.md %}</p>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/staging/docs/admin-api-non-persistent-topics">← Managing non-persistent topics</a><a class="docs-next button" href="/staging/docs/adaptors-kafka">Pulsar adaptor for Apache Kafka →</a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#partitioned-topics-resources">Partitioned topics resources</a></li></ul></nav></div><footer class="nav-footer" id="footer"><section class= [...]
+<h3><a class="anchor" aria-hidden="true" id="create"></a><a href="#create" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
+<p>Partitioned topics in Pulsar must be explicitly created. When creating a new partitioned topic you
+need to provide a name for the topic as well as the desired number of partitions.</p>
+<h4><a class="anchor" aria-hidden="true" id="pulsar-admin"></a><a href="#pulsar-admin" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
+<p>You can create partitioned topics using the <a href="/staging/docs/pulsar-admin#create-partitioned-topic"><code>create-partitioned-topic</code></a>
+command and specifying the topic name as an argument and the number of partitions using the <code>-p</code> or <code>--partitions</code> flag.
+Here's an example:</p>
+<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> bin/pulsar-admin topics create-partitioned-topic \</span>
+  persistent://my-tenant/my-namespace/my-topic \
+  --partitions 4
+</code></pre>
+<h4><a class="anchor" aria-hidden="true" id="rest-api"></a><a href="#rest-api" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64  [...]
+<pre><code class="hljs css languages- http">PUT /admin/v2/persistent/:tenant/:namespace/:topic/partitions
+</code></pre>
+<p><a href="reference-admin-rest-api.md#/admin/v2/persistent/:tenant/:namespace/:topic/partitions">More info</a></p>
+<h4><a class="anchor" aria-hidden="true" id="java"></a><a href="#java" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6 [...]
+<pre><code class="hljs css languages- java">String topicName = <span class="hljs-string">"persistent://my-property/my-namespace/my-topic"</span>;
+<span class="hljs-keyword">int</span> numPartitions = <span class="hljs-number">4</span>;
+admin.persistentTopics().createPartitionedTopic(topicName, numPartitions);
+</code></pre>
+<h3><a class="anchor" aria-hidden="true" id="get-metadata"></a><a href="#get-metadata" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
+<p>Partitioned topics have metadata associated with them that you can fetch as a JSON object.
+The following metadata fields are currently available:</p>
+<table>
+<thead>
+<tr><th style="text-align:left">Field</th><th style="text-align:left">Meaning</th></tr>
+</thead>
+<tbody>
+<tr><td style="text-align:left"><code>partitions</code></td><td style="text-align:left">The number of partitions into which the topic is divided</td></tr>
+</tbody>
+</table>
+<h4><a class="anchor" aria-hidden="true" id="pulsar-admin-1"></a><a href="#pulsar-admin-1" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
+<p>You can see the number of partitions in a partitioned topic using the
+<a href="/staging/docs/pulsar-admin#get-partitioned-topic-metadata"><code>get-partitioned-topic-metadata</code></a>
+subcommand. Here's an example:</p>
+<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin topics get-partitioned-topic-metadata \</span>
+  persistent://my-property/my-namespace/my-topic
+{
+  "partitions": 4
+}
+</code></pre>
+<h4><a class="anchor" aria-hidden="true" id="rest-api-1"></a><a href="#rest-api-1" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1 [...]
+<pre><code class="hljs css languages- http">GET /admin/v2/persistent/:tenant/:namespace/:topic/partitions %}
+</code></pre>
+<p><a href="reference-admin-rest-api.md#/admin/v2/persistent/:tenant/:namespace/:topic/partitions">More info</a></p>
+<h4><a class="anchor" aria-hidden="true" id="java-1"></a><a href="#java-1" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
+<pre><code class="hljs css languages- java">String topicName = <span class="hljs-string">"persistent://my-tenant/my-namespace/my-topic"</span>;
+admin.persistentTopics().getPartitionedTopicMetadata(topicName);
+</code></pre>
+<h3><a class="anchor" aria-hidden="true" id="update"></a><a href="#update" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
+<p>You can update the number of partitions on an existing partitioned topic
+<em>if</em> the topic is non-global. To update, the new number of partitions must be greater
+than the existing number.</p>
+<p>Decrementing the number of partitions would deleting the topic, which is not supported in Pulsar.</p>
+<p>Already created partitioned producers and consumers can’t see newly created partitions and
+it requires to recreate them at application so, newly created producers and consumers can connect
+to newly added partitions as well. Therefore, it can violate partition ordering at producers until
+all producers are restarted at application.</p>
+<h4><a class="anchor" aria-hidden="true" id="pulsar-admin-2"></a><a href="#pulsar-admin-2" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
+<p>Partitioned topics can be updated using the
+<a href="/staging/docs/pulsar-admin#update-partitioned-topic"><code>update-partitioned-topic</code></a> command.</p>
+<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin topics update-partitioned-topic \</span>
+  persistent://my-tenant/my-namespace/my-topic \
+  --partitions 8
+</code></pre>
+<h4><a class="anchor" aria-hidden="true" id="rest-api-2"></a><a href="#rest-api-2" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1 [...]
+<pre><code class="hljs css languages- http">POST /admin/v2/persistent/:tenant/:cluster/:namespace/:destination/partitions
+</code></pre>
+<p><a href="/staging/docs/reference-rest-api#/admin/v2/persistent/:tenant/:namespace/:topic/partitions">More info</a></p>
+<h4><a class="anchor" aria-hidden="true" id="java-2"></a><a href="#java-2" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
+<pre><code class="hljs css languages- java">admin.persistentTopics().updatePartitionedTopic(persistentTopic, numPartitions);
+</code></pre>
+<h3><a class="anchor" aria-hidden="true" id="delete"></a><a href="#delete" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
+<h4><a class="anchor" aria-hidden="true" id="pulsar-admin-3"></a><a href="#pulsar-admin-3" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
+<p>Partitioned topics can be deleted using the
+<a href="/staging/docs/pulsar-admin#delete-partitioned-topic"><code>delete-partitioned-topic</code></a> command, specifying the topic by name:</p>
+<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> bin/pulsar-admin topics delete-partitioned-topic \</span>
+  persistent://my-tenant/my-namespace/my-topic
+</code></pre>
+<h4><a class="anchor" aria-hidden="true" id="rest-api-3"></a><a href="#rest-api-3" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1 [...]
+<pre><code class="hljs css languages- http">DELETE /admin/v2/persistent/:topic/:namespace/:destination/partitions
+</code></pre>
+<p><a href="/staging/docs/reference-rest-api#/admin/v2/persistent/:tenant/:namespace/:topic/partitions">More info</a></p>
+<h4><a class="anchor" aria-hidden="true" id="java-3"></a><a href="#java-3" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
+<pre><code class="hljs css languages- java">admin.persistentTopics().delete(persistentTopic);
+</code></pre>
+<h3><a class="anchor" aria-hidden="true" id="list"></a><a href="#list" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6 [...]
+<p>It provides a list of persistent topics existing under a given namespace.</p>
+<h4><a class="anchor" aria-hidden="true" id="pulsar-admin-4"></a><a href="#pulsar-admin-4" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
+<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin topics list tenant/namespace</span>
+persistent://tenant/namespace/topic1
+persistent://tenant/namespace/topic2
+</code></pre>
+<h4><a class="anchor" aria-hidden="true" id="rest-api-4"></a><a href="#rest-api-4" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1 [...]
+<pre><code class="hljs css languages- http">GET /admin/v2/persistent/:tenant/:namespace
+</code></pre>
+<p><a href="/staging/docs/reference-rest-api#/admin/v2/persistent/:tenant/:namespace">More info</a></p>
+<h4><a class="anchor" aria-hidden="true" id="java-4"></a><a href="#java-4" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
+<pre><code class="hljs css languages- java">admin.persistentTopics().getList(namespace);
+</code></pre>
+<h3><a class="anchor" aria-hidden="true" id="stats"></a><a href="#stats" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09 [...]
+<p>It shows current statistics of a given partitioned topic. Here's an example payload:</p>
+<pre><code class="hljs css languages- json">{
+  <span class="hljs-attr">"msgRateIn"</span>: <span class="hljs-number">4641.528542257553</span>,
+  <span class="hljs-attr">"msgThroughputIn"</span>: <span class="hljs-number">44663039.74947473</span>,
+  <span class="hljs-attr">"msgRateOut"</span>: <span class="hljs-number">0</span>,
+  <span class="hljs-attr">"msgThroughputOut"</span>: <span class="hljs-number">0</span>,
+  <span class="hljs-attr">"averageMsgSize"</span>: <span class="hljs-number">1232439.816728665</span>,
+  <span class="hljs-attr">"storageSize"</span>: <span class="hljs-number">135532389160</span>,
+  <span class="hljs-attr">"publishers"</span>: [
+    {
+      <span class="hljs-attr">"msgRateIn"</span>: <span class="hljs-number">57.855383881403576</span>,
+      <span class="hljs-attr">"msgThroughputIn"</span>: <span class="hljs-number">558994.7078932219</span>,
+      <span class="hljs-attr">"averageMsgSize"</span>: <span class="hljs-number">613135</span>,
+      <span class="hljs-attr">"producerId"</span>: <span class="hljs-number">0</span>,
+      <span class="hljs-attr">"producerName"</span>: <span class="hljs-literal">null</span>,
+      <span class="hljs-attr">"address"</span>: <span class="hljs-literal">null</span>,
+      <span class="hljs-attr">"connectedSince"</span>: <span class="hljs-literal">null</span>
+    }
+  ],
+  <span class="hljs-attr">"subscriptions"</span>: {
+    <span class="hljs-attr">"my-topic_subscription"</span>: {
+      <span class="hljs-attr">"msgRateOut"</span>: <span class="hljs-number">0</span>,
+      <span class="hljs-attr">"msgThroughputOut"</span>: <span class="hljs-number">0</span>,
+      <span class="hljs-attr">"msgBacklog"</span>: <span class="hljs-number">116632</span>,
+      <span class="hljs-attr">"type"</span>: <span class="hljs-literal">null</span>,
+      <span class="hljs-attr">"msgRateExpired"</span>: <span class="hljs-number">36.98245516804671</span>,
+      <span class="hljs-attr">"consumers"</span>: []
+    }
+  },
+  <span class="hljs-attr">"replication"</span>: {}
+}
+</code></pre>
+<p>The following stats are available:</p>
+<table>
+<thead>
+<tr><th>Stat</th><th>Description</th></tr>
+</thead>
+<tbody>
+<tr><td>msgRateIn</td><td>The sum of all local and replication publishers’ publish rates in messages per second</td></tr>
+<tr><td>msgThroughputIn</td><td>Same as msgRateIn but in bytes per second instead of messages per second</td></tr>
+<tr><td>msgRateOut</td><td>The sum of all local and replication consumers’ dispatch rates in messages per second</td></tr>
+<tr><td>msgThroughputOut</td><td>Same as msgRateOut but in bytes per second instead of messages per second</td></tr>
+<tr><td>averageMsgSize</td><td>Average message size, in bytes, from this publisher within the last interval</td></tr>
+<tr><td>storageSize</td><td>The sum of the ledgers’ storage size for this topic</td></tr>
+<tr><td>publishers</td><td>The list of all local publishers into the topic. There can be anywhere from zero to thousands.</td></tr>
+<tr><td>producerId</td><td>Internal identifier for this producer on this topic</td></tr>
+<tr><td>producerName</td><td>Internal identifier for this producer, generated by the client library</td></tr>
+<tr><td>address</td><td>IP address and source port for the connection of this producer</td></tr>
+<tr><td>connectedSince</td><td>Timestamp this producer was created or last reconnected</td></tr>
+<tr><td>subscriptions</td><td>The list of all local subscriptions to the topic</td></tr>
+<tr><td>my-subscription</td><td>The name of this subscription (client defined)</td></tr>
+<tr><td>msgBacklog</td><td>The count of messages in backlog for this subscription</td></tr>
+<tr><td>type</td><td>This subscription type</td></tr>
+<tr><td>msgRateExpired</td><td>The rate at which messages were discarded instead of dispatched from this subscription due to TTL</td></tr>
+<tr><td>consumers</td><td>The list of connected consumers for this subscription</td></tr>
+<tr><td>consumerName</td><td>Internal identifier for this consumer, generated by the client library</td></tr>
+<tr><td>availablePermits</td><td>The number of messages this consumer has space for in the client library’s listen queue. A value of 0 means the client library’s queue is full and receive() isn’t being called. A nonzero value means this consumer is ready to be dispatched messages.</td></tr>
+<tr><td>replication</td><td>This section gives the stats for cross-colo replication of this topic</td></tr>
+<tr><td>replicationBacklog</td><td>The outbound replication backlog in messages</td></tr>
+<tr><td>connected</td><td>Whether the outbound replicator is connected</td></tr>
+<tr><td>replicationDelayInSeconds</td><td>How long the oldest message has been waiting to be sent through the connection, if connected is true</td></tr>
+<tr><td>inboundConnection</td><td>The IP and port of the broker in the remote cluster’s publisher connection to this broker</td></tr>
+<tr><td>inboundConnectedSince</td><td>The TCP connection being used to publish messages to the remote cluster. If there are no local publishers connected, this connection is automatically closed after a minute.</td></tr>
+</tbody>
+</table>
+<h4><a class="anchor" aria-hidden="true" id="pulsar-admin-5"></a><a href="#pulsar-admin-5" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
+<p>The stats for the partitioned topic and its connected producers and consumers can be fetched by using the
+<a href="/staging/docs/pulsar-admin#partitioned-stats"><code>partitioned-stats</code></a> command, specifying the topic by name:</p>
+<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin topics partitioned-stats \</span>
+  persistent://test-tenant/namespace/topic \
+  --per-partition        
+</code></pre>
+<h4><a class="anchor" aria-hidden="true" id="rest-api-5"></a><a href="#rest-api-5" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1 [...]
+<pre><code class="hljs css languages- http">GET /admin/v2/persistent/:tenant/:namespace/:topic/partitioned-stats
+</code></pre>
+<p><a href="/staging/docs/reference-rest-api#/admin/v2/persistent/:tenant/:namespace/:topic/partitioned-stats">More info</a></p>
+<h4><a class="anchor" aria-hidden="true" id="java-5"></a><a href="#java-5" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
+<pre><code class="hljs css languages- java">admin.persistentTopics().getStats(persistentTopic);
+</code></pre>
+<h3><a class="anchor" aria-hidden="true" id="internal-stats"></a><a href="#internal-stats" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
+<p>It shows detailed statistics of a topic.</p>
+<table>
+<thead>
+<tr><th>Stat</th><th>Description</th></tr>
+</thead>
+<tbody>
+<tr><td>entriesAddedCounter</td><td>Messages published since this broker loaded this topic</td></tr>
+<tr><td>numberOfEntries</td><td>Total number of messages being tracked</td></tr>
+<tr><td>totalSize</td><td>Total storage size in bytes of all messages</td></tr>
+<tr><td>currentLedgerEntries</td><td>Count of messages written to the ledger currently open for writing</td></tr>
+<tr><td>currentLedgerSize</td><td>Size in bytes of messages written to ledger currently open for writing</td></tr>
+<tr><td>lastLedgerCreatedTimestamp</td><td>Time when last ledger was created</td></tr>
+<tr><td>lastLedgerCreationFailureTimestamp</td><td>time when last ledger was failed</td></tr>
+<tr><td>waitingCursorsCount</td><td>How many cursors are caught up and waiting for a new message to be published</td></tr>
+<tr><td>pendingAddEntriesCount</td><td>How many messages have (asynchronous) write requests we are waiting on completion</td></tr>
+<tr><td>lastConfirmedEntry</td><td>The ledgerid:entryid of the last message successfully written. If the entryid is -1, then the ledger has been opened or is currently being opened but has no entries written yet.</td></tr>
+<tr><td>state</td><td>The state of the cursor ledger. Open means we have a cursor ledger for saving updates of the markDeletePosition.</td></tr>
+<tr><td>ledgers</td><td>The ordered list of all ledgers for this topic holding its messages</td></tr>
+<tr><td>cursors</td><td>The list of all cursors on this topic. There will be one for every subscription you saw in the topic stats.</td></tr>
+<tr><td>markDeletePosition</td><td>The ack position: the last message the subscriber acknowledged receiving</td></tr>
+<tr><td>readPosition</td><td>The latest position of subscriber for reading message</td></tr>
+<tr><td>waitingReadOp</td><td>This is true when the subscription has read the latest message published to the topic and is waiting on new messages to be published.</td></tr>
+<tr><td>pendingReadOps</td><td>The counter for how many outstanding read requests to the BookKeepers we have in progress</td></tr>
+<tr><td>messagesConsumedCounter</td><td>Number of messages this cursor has acked since this broker loaded this topic</td></tr>
+<tr><td>cursorLedger</td><td>The ledger being used to persistently store the current markDeletePosition</td></tr>
+<tr><td>cursorLedgerLastEntry</td><td>The last entryid used to persistently store the current markDeletePosition</td></tr>
+<tr><td>individuallyDeletedMessages</td><td>If Acks are being done out of order, shows the ranges of messages Acked between the markDeletePosition and the read-position</td></tr>
+<tr><td>lastLedgerSwitchTimestamp</td><td>The last time the cursor ledger was rolled over</td></tr>
+</tbody>
+</table>
+<pre><code class="hljs css languages- json">{
+  <span class="hljs-attr">"entriesAddedCounter"</span>: <span class="hljs-number">20449518</span>,
+  <span class="hljs-attr">"numberOfEntries"</span>: <span class="hljs-number">3233</span>,
+  <span class="hljs-attr">"totalSize"</span>: <span class="hljs-number">331482</span>,
+  <span class="hljs-attr">"currentLedgerEntries"</span>: <span class="hljs-number">3233</span>,
+  <span class="hljs-attr">"currentLedgerSize"</span>: <span class="hljs-number">331482</span>,
+  <span class="hljs-attr">"lastLedgerCreatedTimestamp"</span>: <span class="hljs-string">"2016-06-29 03:00:23.825"</span>,
+  <span class="hljs-attr">"lastLedgerCreationFailureTimestamp"</span>: <span class="hljs-literal">null</span>,
+  <span class="hljs-attr">"waitingCursorsCount"</span>: <span class="hljs-number">1</span>,
+  <span class="hljs-attr">"pendingAddEntriesCount"</span>: <span class="hljs-number">0</span>,
+  <span class="hljs-attr">"lastConfirmedEntry"</span>: <span class="hljs-string">"324711539:3232"</span>,
+  <span class="hljs-attr">"state"</span>: <span class="hljs-string">"LedgerOpened"</span>,
+  <span class="hljs-attr">"ledgers"</span>: [
+    {
+      <span class="hljs-attr">"ledgerId"</span>: <span class="hljs-number">324711539</span>,
+      <span class="hljs-attr">"entries"</span>: <span class="hljs-number">0</span>,
+      <span class="hljs-attr">"size"</span>: <span class="hljs-number">0</span>
+    }
+  ],
+  <span class="hljs-attr">"cursors"</span>: {
+    <span class="hljs-attr">"my-subscription"</span>: {
+      <span class="hljs-attr">"markDeletePosition"</span>: <span class="hljs-string">"324711539:3133"</span>,
+      <span class="hljs-attr">"readPosition"</span>: <span class="hljs-string">"324711539:3233"</span>,
+      <span class="hljs-attr">"waitingReadOp"</span>: <span class="hljs-literal">true</span>,
+      <span class="hljs-attr">"pendingReadOps"</span>: <span class="hljs-number">0</span>,
+      <span class="hljs-attr">"messagesConsumedCounter"</span>: <span class="hljs-number">20449501</span>,
+      <span class="hljs-attr">"cursorLedger"</span>: <span class="hljs-number">324702104</span>,
+      <span class="hljs-attr">"cursorLedgerLastEntry"</span>: <span class="hljs-number">21</span>,
+      <span class="hljs-attr">"individuallyDeletedMessages"</span>: <span class="hljs-string">"[(324711539:3134‥324711539:3136], (324711539:3137‥324711539:3140], ]"</span>,
+      <span class="hljs-attr">"lastLedgerSwitchTimestamp"</span>: <span class="hljs-string">"2016-06-29 01:30:19.313"</span>,
+      <span class="hljs-attr">"state"</span>: <span class="hljs-string">"Open"</span>
+    }
+  }
+}
+</code></pre>
+<h4><a class="anchor" aria-hidden="true" id="pulsar-admin-6"></a><a href="#pulsar-admin-6" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
+<p>The internal stats for the partitioned topic can be fetched by using the
+<a href="/staging/docs/pulsar-admin#stats-internal"><code>stats-internal</code></a> command, specifying the topic by name:</p>
+<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin topics stats-internal \</span>
+  persistent://test-tenant/namespace/topic
+</code></pre>
+<h4><a class="anchor" aria-hidden="true" id="rest-api-6"></a><a href="#rest-api-6" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1 [...]
+<pre><code class="hljs css languages- http">GET /admin/v2/persistent/:tenant/:namespace/:topic/internalStats
+</code></pre>
+<p><a href="/staging/docs/reference-rest-api#/admin/v2/persistent/:tenant/:namespace/:topic/internalStats">More info</a></p>
+<h4><a class="anchor" aria-hidden="true" id="java-6"></a><a href="#java-6" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
+<pre><code class="hljs css languages- java">admin.persistentTopics().getInternalStats(persistentTopic);
+</code></pre>
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/staging/docs/admin-api-non-persistent-topics">← Managing non-persistent topics</a><a class="docs-next button" href="/staging/docs/adaptors-kafka">Pulsar adaptor for Apache Kafka →</a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#partitioned-topics-resources">Partitioned topics resources</a><ul class="toc-headings"><li><a href="#create">Create</a></li><li><a href="# [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu = 
         '<li>' +
@@ -69,4 +328,11 @@
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/admin-api-partitioned-topics/index.html b/content/staging/docs/admin-api-partitioned-topics/index.html
index a2fdb86..91e5461 100644
--- a/content/staging/docs/admin-api-partitioned-topics/index.html
+++ b/content/staging/docs/admin-api-partitioned-topics/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Managing partitioned topics · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="You can use Pulsar&#x27;s [admin API](/staging/docs/admin-api-overview) to create and manage partitioned topics."/><meta name="docsearch:language" content="en"/><meta property="og:title" co [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Managing partitioned topics · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="You can use Pulsar&#x27;s [admin API](/staging/docs/admin-api-overview) to create and manage partitioned topics."/><meta name="docsearch:language" content="en"/><meta property="og:title" co [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -23,10 +23,269 @@
             });
         </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/incubator-pulsar/edit/master/site2/docs/admin-api-partitioned-topics.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 class="postHeaderTitle">Managing partitioned topics</h1></header><article><div><span><p>You can use Pulsar's <a href="/staging/docs/admin-api-overview">admin API</a> to [...]
 <p>In all of the instructions and commands below, the topic name structure is:</p>
-<p>{% include topic.html ten=&quot;tenant&quot; n=&quot;namespace&quot; t=&quot;topic&quot; %}</p>
+<pre><code class="hljs css languages- shell">persistent://tenant/namespace/topic
+</code></pre>
 <h2><a class="anchor" aria-hidden="true" id="partitioned-topics-resources"></a><a href="#partitioned-topics-resources" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 [...]
-<p>{% include explanations/partitioned-topic-admin.md %}</p>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/staging/docs/admin-api-non-persistent-topics">← Managing non-persistent topics</a><a class="docs-next button" href="/staging/docs/adaptors-kafka">Pulsar adaptor for Apache Kafka →</a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#partitioned-topics-resources">Partitioned topics resources</a></li></ul></nav></div><footer class="nav-footer" id="footer"><section class= [...]
+<h3><a class="anchor" aria-hidden="true" id="create"></a><a href="#create" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
+<p>Partitioned topics in Pulsar must be explicitly created. When creating a new partitioned topic you
+need to provide a name for the topic as well as the desired number of partitions.</p>
+<h4><a class="anchor" aria-hidden="true" id="pulsar-admin"></a><a href="#pulsar-admin" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
+<p>You can create partitioned topics using the <a href="/staging/docs/pulsar-admin#create-partitioned-topic"><code>create-partitioned-topic</code></a>
+command and specifying the topic name as an argument and the number of partitions using the <code>-p</code> or <code>--partitions</code> flag.
+Here's an example:</p>
+<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> bin/pulsar-admin topics create-partitioned-topic \</span>
+  persistent://my-tenant/my-namespace/my-topic \
+  --partitions 4
+</code></pre>
+<h4><a class="anchor" aria-hidden="true" id="rest-api"></a><a href="#rest-api" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64  [...]
+<pre><code class="hljs css languages- http">PUT /admin/v2/persistent/:tenant/:namespace/:topic/partitions
+</code></pre>
+<p><a href="reference-admin-rest-api.md#/admin/v2/persistent/:tenant/:namespace/:topic/partitions">More info</a></p>
+<h4><a class="anchor" aria-hidden="true" id="java"></a><a href="#java" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6 [...]
+<pre><code class="hljs css languages- java">String topicName = <span class="hljs-string">"persistent://my-property/my-namespace/my-topic"</span>;
+<span class="hljs-keyword">int</span> numPartitions = <span class="hljs-number">4</span>;
+admin.persistentTopics().createPartitionedTopic(topicName, numPartitions);
+</code></pre>
+<h3><a class="anchor" aria-hidden="true" id="get-metadata"></a><a href="#get-metadata" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
+<p>Partitioned topics have metadata associated with them that you can fetch as a JSON object.
+The following metadata fields are currently available:</p>
+<table>
+<thead>
+<tr><th style="text-align:left">Field</th><th style="text-align:left">Meaning</th></tr>
+</thead>
+<tbody>
+<tr><td style="text-align:left"><code>partitions</code></td><td style="text-align:left">The number of partitions into which the topic is divided</td></tr>
+</tbody>
+</table>
+<h4><a class="anchor" aria-hidden="true" id="pulsar-admin-1"></a><a href="#pulsar-admin-1" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
+<p>You can see the number of partitions in a partitioned topic using the
+<a href="/staging/docs/pulsar-admin#get-partitioned-topic-metadata"><code>get-partitioned-topic-metadata</code></a>
+subcommand. Here's an example:</p>
+<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin topics get-partitioned-topic-metadata \</span>
+  persistent://my-property/my-namespace/my-topic
+{
+  "partitions": 4
+}
+</code></pre>
+<h4><a class="anchor" aria-hidden="true" id="rest-api-1"></a><a href="#rest-api-1" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1 [...]
+<pre><code class="hljs css languages- http">GET /admin/v2/persistent/:tenant/:namespace/:topic/partitions %}
+</code></pre>
+<p><a href="reference-admin-rest-api.md#/admin/v2/persistent/:tenant/:namespace/:topic/partitions">More info</a></p>
+<h4><a class="anchor" aria-hidden="true" id="java-1"></a><a href="#java-1" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
+<pre><code class="hljs css languages- java">String topicName = <span class="hljs-string">"persistent://my-tenant/my-namespace/my-topic"</span>;
+admin.persistentTopics().getPartitionedTopicMetadata(topicName);
+</code></pre>
+<h3><a class="anchor" aria-hidden="true" id="update"></a><a href="#update" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
+<p>You can update the number of partitions on an existing partitioned topic
+<em>if</em> the topic is non-global. To update, the new number of partitions must be greater
+than the existing number.</p>
+<p>Decrementing the number of partitions would deleting the topic, which is not supported in Pulsar.</p>
+<p>Already created partitioned producers and consumers can’t see newly created partitions and
+it requires to recreate them at application so, newly created producers and consumers can connect
+to newly added partitions as well. Therefore, it can violate partition ordering at producers until
+all producers are restarted at application.</p>
+<h4><a class="anchor" aria-hidden="true" id="pulsar-admin-2"></a><a href="#pulsar-admin-2" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
+<p>Partitioned topics can be updated using the
+<a href="/staging/docs/pulsar-admin#update-partitioned-topic"><code>update-partitioned-topic</code></a> command.</p>
+<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin topics update-partitioned-topic \</span>
+  persistent://my-tenant/my-namespace/my-topic \
+  --partitions 8
+</code></pre>
+<h4><a class="anchor" aria-hidden="true" id="rest-api-2"></a><a href="#rest-api-2" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1 [...]
+<pre><code class="hljs css languages- http">POST /admin/v2/persistent/:tenant/:cluster/:namespace/:destination/partitions
+</code></pre>
+<p><a href="/staging/docs/reference-rest-api#/admin/v2/persistent/:tenant/:namespace/:topic/partitions">More info</a></p>
+<h4><a class="anchor" aria-hidden="true" id="java-2"></a><a href="#java-2" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
+<pre><code class="hljs css languages- java">admin.persistentTopics().updatePartitionedTopic(persistentTopic, numPartitions);
+</code></pre>
+<h3><a class="anchor" aria-hidden="true" id="delete"></a><a href="#delete" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
+<h4><a class="anchor" aria-hidden="true" id="pulsar-admin-3"></a><a href="#pulsar-admin-3" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
+<p>Partitioned topics can be deleted using the
+<a href="/staging/docs/pulsar-admin#delete-partitioned-topic"><code>delete-partitioned-topic</code></a> command, specifying the topic by name:</p>
+<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> bin/pulsar-admin topics delete-partitioned-topic \</span>
+  persistent://my-tenant/my-namespace/my-topic
+</code></pre>
+<h4><a class="anchor" aria-hidden="true" id="rest-api-3"></a><a href="#rest-api-3" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1 [...]
+<pre><code class="hljs css languages- http">DELETE /admin/v2/persistent/:topic/:namespace/:destination/partitions
+</code></pre>
+<p><a href="/staging/docs/reference-rest-api#/admin/v2/persistent/:tenant/:namespace/:topic/partitions">More info</a></p>
+<h4><a class="anchor" aria-hidden="true" id="java-3"></a><a href="#java-3" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
+<pre><code class="hljs css languages- java">admin.persistentTopics().delete(persistentTopic);
+</code></pre>
+<h3><a class="anchor" aria-hidden="true" id="list"></a><a href="#list" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6 [...]
+<p>It provides a list of persistent topics existing under a given namespace.</p>
+<h4><a class="anchor" aria-hidden="true" id="pulsar-admin-4"></a><a href="#pulsar-admin-4" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
+<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin topics list tenant/namespace</span>
+persistent://tenant/namespace/topic1
+persistent://tenant/namespace/topic2
+</code></pre>
+<h4><a class="anchor" aria-hidden="true" id="rest-api-4"></a><a href="#rest-api-4" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1 [...]
+<pre><code class="hljs css languages- http">GET /admin/v2/persistent/:tenant/:namespace
+</code></pre>
+<p><a href="/staging/docs/reference-rest-api#/admin/v2/persistent/:tenant/:namespace">More info</a></p>
+<h4><a class="anchor" aria-hidden="true" id="java-4"></a><a href="#java-4" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
+<pre><code class="hljs css languages- java">admin.persistentTopics().getList(namespace);
+</code></pre>
+<h3><a class="anchor" aria-hidden="true" id="stats"></a><a href="#stats" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09 [...]
+<p>It shows current statistics of a given partitioned topic. Here's an example payload:</p>
+<pre><code class="hljs css languages- json">{
+  <span class="hljs-attr">"msgRateIn"</span>: <span class="hljs-number">4641.528542257553</span>,
+  <span class="hljs-attr">"msgThroughputIn"</span>: <span class="hljs-number">44663039.74947473</span>,
+  <span class="hljs-attr">"msgRateOut"</span>: <span class="hljs-number">0</span>,
+  <span class="hljs-attr">"msgThroughputOut"</span>: <span class="hljs-number">0</span>,
+  <span class="hljs-attr">"averageMsgSize"</span>: <span class="hljs-number">1232439.816728665</span>,
+  <span class="hljs-attr">"storageSize"</span>: <span class="hljs-number">135532389160</span>,
+  <span class="hljs-attr">"publishers"</span>: [
+    {
+      <span class="hljs-attr">"msgRateIn"</span>: <span class="hljs-number">57.855383881403576</span>,
+      <span class="hljs-attr">"msgThroughputIn"</span>: <span class="hljs-number">558994.7078932219</span>,
+      <span class="hljs-attr">"averageMsgSize"</span>: <span class="hljs-number">613135</span>,
+      <span class="hljs-attr">"producerId"</span>: <span class="hljs-number">0</span>,
+      <span class="hljs-attr">"producerName"</span>: <span class="hljs-literal">null</span>,
+      <span class="hljs-attr">"address"</span>: <span class="hljs-literal">null</span>,
+      <span class="hljs-attr">"connectedSince"</span>: <span class="hljs-literal">null</span>
+    }
+  ],
+  <span class="hljs-attr">"subscriptions"</span>: {
+    <span class="hljs-attr">"my-topic_subscription"</span>: {
+      <span class="hljs-attr">"msgRateOut"</span>: <span class="hljs-number">0</span>,
+      <span class="hljs-attr">"msgThroughputOut"</span>: <span class="hljs-number">0</span>,
+      <span class="hljs-attr">"msgBacklog"</span>: <span class="hljs-number">116632</span>,
+      <span class="hljs-attr">"type"</span>: <span class="hljs-literal">null</span>,
+      <span class="hljs-attr">"msgRateExpired"</span>: <span class="hljs-number">36.98245516804671</span>,
+      <span class="hljs-attr">"consumers"</span>: []
+    }
+  },
+  <span class="hljs-attr">"replication"</span>: {}
+}
+</code></pre>
+<p>The following stats are available:</p>
+<table>
+<thead>
+<tr><th>Stat</th><th>Description</th></tr>
+</thead>
+<tbody>
+<tr><td>msgRateIn</td><td>The sum of all local and replication publishers’ publish rates in messages per second</td></tr>
+<tr><td>msgThroughputIn</td><td>Same as msgRateIn but in bytes per second instead of messages per second</td></tr>
+<tr><td>msgRateOut</td><td>The sum of all local and replication consumers’ dispatch rates in messages per second</td></tr>
+<tr><td>msgThroughputOut</td><td>Same as msgRateOut but in bytes per second instead of messages per second</td></tr>
+<tr><td>averageMsgSize</td><td>Average message size, in bytes, from this publisher within the last interval</td></tr>
+<tr><td>storageSize</td><td>The sum of the ledgers’ storage size for this topic</td></tr>
+<tr><td>publishers</td><td>The list of all local publishers into the topic. There can be anywhere from zero to thousands.</td></tr>
+<tr><td>producerId</td><td>Internal identifier for this producer on this topic</td></tr>
+<tr><td>producerName</td><td>Internal identifier for this producer, generated by the client library</td></tr>
+<tr><td>address</td><td>IP address and source port for the connection of this producer</td></tr>
+<tr><td>connectedSince</td><td>Timestamp this producer was created or last reconnected</td></tr>
+<tr><td>subscriptions</td><td>The list of all local subscriptions to the topic</td></tr>
+<tr><td>my-subscription</td><td>The name of this subscription (client defined)</td></tr>
+<tr><td>msgBacklog</td><td>The count of messages in backlog for this subscription</td></tr>
+<tr><td>type</td><td>This subscription type</td></tr>
+<tr><td>msgRateExpired</td><td>The rate at which messages were discarded instead of dispatched from this subscription due to TTL</td></tr>
+<tr><td>consumers</td><td>The list of connected consumers for this subscription</td></tr>
+<tr><td>consumerName</td><td>Internal identifier for this consumer, generated by the client library</td></tr>
+<tr><td>availablePermits</td><td>The number of messages this consumer has space for in the client library’s listen queue. A value of 0 means the client library’s queue is full and receive() isn’t being called. A nonzero value means this consumer is ready to be dispatched messages.</td></tr>
+<tr><td>replication</td><td>This section gives the stats for cross-colo replication of this topic</td></tr>
+<tr><td>replicationBacklog</td><td>The outbound replication backlog in messages</td></tr>
+<tr><td>connected</td><td>Whether the outbound replicator is connected</td></tr>
+<tr><td>replicationDelayInSeconds</td><td>How long the oldest message has been waiting to be sent through the connection, if connected is true</td></tr>
+<tr><td>inboundConnection</td><td>The IP and port of the broker in the remote cluster’s publisher connection to this broker</td></tr>
+<tr><td>inboundConnectedSince</td><td>The TCP connection being used to publish messages to the remote cluster. If there are no local publishers connected, this connection is automatically closed after a minute.</td></tr>
+</tbody>
+</table>
+<h4><a class="anchor" aria-hidden="true" id="pulsar-admin-5"></a><a href="#pulsar-admin-5" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
+<p>The stats for the partitioned topic and its connected producers and consumers can be fetched by using the
+<a href="/staging/docs/pulsar-admin#partitioned-stats"><code>partitioned-stats</code></a> command, specifying the topic by name:</p>
+<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin topics partitioned-stats \</span>
+  persistent://test-tenant/namespace/topic \
+  --per-partition        
+</code></pre>
+<h4><a class="anchor" aria-hidden="true" id="rest-api-5"></a><a href="#rest-api-5" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1 [...]
+<pre><code class="hljs css languages- http">GET /admin/v2/persistent/:tenant/:namespace/:topic/partitioned-stats
+</code></pre>
+<p><a href="/staging/docs/reference-rest-api#/admin/v2/persistent/:tenant/:namespace/:topic/partitioned-stats">More info</a></p>
+<h4><a class="anchor" aria-hidden="true" id="java-5"></a><a href="#java-5" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
+<pre><code class="hljs css languages- java">admin.persistentTopics().getStats(persistentTopic);
+</code></pre>
+<h3><a class="anchor" aria-hidden="true" id="internal-stats"></a><a href="#internal-stats" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
+<p>It shows detailed statistics of a topic.</p>
+<table>
+<thead>
+<tr><th>Stat</th><th>Description</th></tr>
+</thead>
+<tbody>
+<tr><td>entriesAddedCounter</td><td>Messages published since this broker loaded this topic</td></tr>
+<tr><td>numberOfEntries</td><td>Total number of messages being tracked</td></tr>
+<tr><td>totalSize</td><td>Total storage size in bytes of all messages</td></tr>
+<tr><td>currentLedgerEntries</td><td>Count of messages written to the ledger currently open for writing</td></tr>
+<tr><td>currentLedgerSize</td><td>Size in bytes of messages written to ledger currently open for writing</td></tr>
+<tr><td>lastLedgerCreatedTimestamp</td><td>Time when last ledger was created</td></tr>
+<tr><td>lastLedgerCreationFailureTimestamp</td><td>time when last ledger was failed</td></tr>
+<tr><td>waitingCursorsCount</td><td>How many cursors are caught up and waiting for a new message to be published</td></tr>
+<tr><td>pendingAddEntriesCount</td><td>How many messages have (asynchronous) write requests we are waiting on completion</td></tr>
+<tr><td>lastConfirmedEntry</td><td>The ledgerid:entryid of the last message successfully written. If the entryid is -1, then the ledger has been opened or is currently being opened but has no entries written yet.</td></tr>
+<tr><td>state</td><td>The state of the cursor ledger. Open means we have a cursor ledger for saving updates of the markDeletePosition.</td></tr>
+<tr><td>ledgers</td><td>The ordered list of all ledgers for this topic holding its messages</td></tr>
+<tr><td>cursors</td><td>The list of all cursors on this topic. There will be one for every subscription you saw in the topic stats.</td></tr>
+<tr><td>markDeletePosition</td><td>The ack position: the last message the subscriber acknowledged receiving</td></tr>
+<tr><td>readPosition</td><td>The latest position of subscriber for reading message</td></tr>
+<tr><td>waitingReadOp</td><td>This is true when the subscription has read the latest message published to the topic and is waiting on new messages to be published.</td></tr>
+<tr><td>pendingReadOps</td><td>The counter for how many outstanding read requests to the BookKeepers we have in progress</td></tr>
+<tr><td>messagesConsumedCounter</td><td>Number of messages this cursor has acked since this broker loaded this topic</td></tr>
+<tr><td>cursorLedger</td><td>The ledger being used to persistently store the current markDeletePosition</td></tr>
+<tr><td>cursorLedgerLastEntry</td><td>The last entryid used to persistently store the current markDeletePosition</td></tr>
+<tr><td>individuallyDeletedMessages</td><td>If Acks are being done out of order, shows the ranges of messages Acked between the markDeletePosition and the read-position</td></tr>
+<tr><td>lastLedgerSwitchTimestamp</td><td>The last time the cursor ledger was rolled over</td></tr>
+</tbody>
+</table>
+<pre><code class="hljs css languages- json">{
+  <span class="hljs-attr">"entriesAddedCounter"</span>: <span class="hljs-number">20449518</span>,
+  <span class="hljs-attr">"numberOfEntries"</span>: <span class="hljs-number">3233</span>,
+  <span class="hljs-attr">"totalSize"</span>: <span class="hljs-number">331482</span>,
+  <span class="hljs-attr">"currentLedgerEntries"</span>: <span class="hljs-number">3233</span>,
+  <span class="hljs-attr">"currentLedgerSize"</span>: <span class="hljs-number">331482</span>,
+  <span class="hljs-attr">"lastLedgerCreatedTimestamp"</span>: <span class="hljs-string">"2016-06-29 03:00:23.825"</span>,
+  <span class="hljs-attr">"lastLedgerCreationFailureTimestamp"</span>: <span class="hljs-literal">null</span>,
+  <span class="hljs-attr">"waitingCursorsCount"</span>: <span class="hljs-number">1</span>,
+  <span class="hljs-attr">"pendingAddEntriesCount"</span>: <span class="hljs-number">0</span>,
+  <span class="hljs-attr">"lastConfirmedEntry"</span>: <span class="hljs-string">"324711539:3232"</span>,
+  <span class="hljs-attr">"state"</span>: <span class="hljs-string">"LedgerOpened"</span>,
+  <span class="hljs-attr">"ledgers"</span>: [
+    {
+      <span class="hljs-attr">"ledgerId"</span>: <span class="hljs-number">324711539</span>,
+      <span class="hljs-attr">"entries"</span>: <span class="hljs-number">0</span>,
+      <span class="hljs-attr">"size"</span>: <span class="hljs-number">0</span>
+    }
+  ],
+  <span class="hljs-attr">"cursors"</span>: {
+    <span class="hljs-attr">"my-subscription"</span>: {
+      <span class="hljs-attr">"markDeletePosition"</span>: <span class="hljs-string">"324711539:3133"</span>,
+      <span class="hljs-attr">"readPosition"</span>: <span class="hljs-string">"324711539:3233"</span>,
+      <span class="hljs-attr">"waitingReadOp"</span>: <span class="hljs-literal">true</span>,
+      <span class="hljs-attr">"pendingReadOps"</span>: <span class="hljs-number">0</span>,
+      <span class="hljs-attr">"messagesConsumedCounter"</span>: <span class="hljs-number">20449501</span>,
+      <span class="hljs-attr">"cursorLedger"</span>: <span class="hljs-number">324702104</span>,
+      <span class="hljs-attr">"cursorLedgerLastEntry"</span>: <span class="hljs-number">21</span>,
+      <span class="hljs-attr">"individuallyDeletedMessages"</span>: <span class="hljs-string">"[(324711539:3134‥324711539:3136], (324711539:3137‥324711539:3140], ]"</span>,
+      <span class="hljs-attr">"lastLedgerSwitchTimestamp"</span>: <span class="hljs-string">"2016-06-29 01:30:19.313"</span>,
+      <span class="hljs-attr">"state"</span>: <span class="hljs-string">"Open"</span>
+    }
+  }
+}
+</code></pre>
+<h4><a class="anchor" aria-hidden="true" id="pulsar-admin-6"></a><a href="#pulsar-admin-6" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
+<p>The internal stats for the partitioned topic can be fetched by using the
+<a href="/staging/docs/pulsar-admin#stats-internal"><code>stats-internal</code></a> command, specifying the topic by name:</p>
+<pre><code class="hljs css languages- shell"><span class="hljs-meta">$</span><span class="bash"> pulsar-admin topics stats-internal \</span>
+  persistent://test-tenant/namespace/topic
+</code></pre>
+<h4><a class="anchor" aria-hidden="true" id="rest-api-6"></a><a href="#rest-api-6" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1 [...]
+<pre><code class="hljs css languages- http">GET /admin/v2/persistent/:tenant/:namespace/:topic/internalStats
+</code></pre>
+<p><a href="/staging/docs/reference-rest-api#/admin/v2/persistent/:tenant/:namespace/:topic/internalStats">More info</a></p>
+<h4><a class="anchor" aria-hidden="true" id="java-6"></a><a href="#java-6" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
+<pre><code class="hljs css languages- java">admin.persistentTopics().getInternalStats(persistentTopic);
+</code></pre>
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/staging/docs/admin-api-non-persistent-topics">← Managing non-persistent topics</a><a class="docs-next button" href="/staging/docs/adaptors-kafka">Pulsar adaptor for Apache Kafka →</a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#partitioned-topics-resources">Partitioned topics resources</a><ul class="toc-headings"><li><a href="#create">Create</a></li><li><a href="# [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu = 
         '<li>' +
@@ -69,4 +328,11 @@
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/admin-api-permissions.html b/content/staging/docs/admin-api-permissions.html
index 2872c41..18e140f 100644
--- a/content/staging/docs/admin-api-permissions.html
+++ b/content/staging/docs/admin-api-permissions.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Managing permissions · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="## Permissions resources"/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Managing permissions · Apache Pulsar"/><meta property="og:type" content="website"/><meta [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Managing permissions · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="## Permissions resources"/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Managing permissions · Apache Pulsar"/><meta property="og:type" content="website"/><meta [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -66,4 +66,11 @@
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/admin-api-permissions/index.html b/content/staging/docs/admin-api-permissions/index.html
index 2872c41..18e140f 100644
--- a/content/staging/docs/admin-api-permissions/index.html
+++ b/content/staging/docs/admin-api-permissions/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Managing permissions · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="## Permissions resources"/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Managing permissions · Apache Pulsar"/><meta property="og:type" content="website"/><meta [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Managing permissions · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="## Permissions resources"/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Managing permissions · Apache Pulsar"/><meta property="og:type" content="website"/><meta [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -66,4 +66,11 @@
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/admin-api-persistent-topics.html b/content/staging/docs/admin-api-persistent-topics.html
index 0531322..725a626 100644
--- a/content/staging/docs/admin-api-persistent-topics.html
+++ b/content/staging/docs/admin-api-persistent-topics.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Managing persistent topics · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Persistent helps to access topic which is a logical endpoint for publishing and consuming messages. Producers publish messages to the topic and consumers subscribe to the topic, to consume m [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Managing persistent topics · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Persistent helps to access topic which is a logical endpoint for publishing and consuming messages. Producers publish messages to the topic and consumers subscribe to the topic, to consume m [...]
 <p>In all of the instructions and commands below, the topic name structure is:</p>
 <p>{% include topic.html ten=&quot;tenant&quot; n=&quot;namespace&quot; t=&quot;topic&quot; %}</p>
 <h2><a class="anchor" aria-hidden="true" id="persistent-topics-resources"></a><a href="#persistent-topics-resources" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 1 [...]
@@ -420,4 +420,11 @@ admin.persistentTopics().deleteSubscription(destination, subscriptionName);
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/admin-api-persistent-topics/index.html b/content/staging/docs/admin-api-persistent-topics/index.html
index 0531322..725a626 100644
--- a/content/staging/docs/admin-api-persistent-topics/index.html
+++ b/content/staging/docs/admin-api-persistent-topics/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Managing persistent topics · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Persistent helps to access topic which is a logical endpoint for publishing and consuming messages. Producers publish messages to the topic and consumers subscribe to the topic, to consume m [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Managing persistent topics · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Persistent helps to access topic which is a logical endpoint for publishing and consuming messages. Producers publish messages to the topic and consumers subscribe to the topic, to consume m [...]
 <p>In all of the instructions and commands below, the topic name structure is:</p>
 <p>{% include topic.html ten=&quot;tenant&quot; n=&quot;namespace&quot; t=&quot;topic&quot; %}</p>
 <h2><a class="anchor" aria-hidden="true" id="persistent-topics-resources"></a><a href="#persistent-topics-resources" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 1 [...]
@@ -420,4 +420,11 @@ admin.persistentTopics().deleteSubscription(destination, subscriptionName);
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/admin-api-tenants.html b/content/staging/docs/admin-api-tenants.html
index d582c2c..337a684 100644
--- a/content/staging/docs/admin-api-tenants.html
+++ b/content/staging/docs/admin-api-tenants.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Managing Tenants · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Tenants, like namespaces, can be managed using the [admin API](/staging/docs/admin-api-overview). There are currently two configurable aspects of tenants:"/><meta name="docsearch:language" content="en [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Managing Tenants · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Tenants, like namespaces, can be managed using the [admin API](/staging/docs/admin-api-overview). There are currently two configurable aspects of tenants:"/><meta name="docsearch:language" content="en [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -114,4 +114,11 @@ $</span><span class="bash"> pulsar-admin tenants create my-tenant \</span>
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/admin-api-tenants/index.html b/content/staging/docs/admin-api-tenants/index.html
index d582c2c..337a684 100644
--- a/content/staging/docs/admin-api-tenants/index.html
+++ b/content/staging/docs/admin-api-tenants/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Managing Tenants · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Tenants, like namespaces, can be managed using the [admin API](/staging/docs/admin-api-overview). There are currently two configurable aspects of tenants:"/><meta name="docsearch:language" content="en [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Managing Tenants · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Tenants, like namespaces, can be managed using the [admin API](/staging/docs/admin-api-overview). There are currently two configurable aspects of tenants:"/><meta name="docsearch:language" content="en [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -114,4 +114,11 @@ $</span><span class="bash"> pulsar-admin tenants create my-tenant \</span>
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/administration-auth.html b/content/staging/docs/administration-auth.html
index 1169221..aaa7afc 100644
--- a/content/staging/docs/administration-auth.html
+++ b/content/staging/docs/administration-auth.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Authentication and authorization in Pulsar · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar supports a pluggable authentication mechanism that Pulsar clients can use to authenticate with {% popover brokers %}. Pulsar can also be configured to support multiple [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Authentication and authorization in Pulsar · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar supports a pluggable authentication mechanism that Pulsar clients can use to authenticate with {% popover brokers %}. Pulsar can also be configured to support multiple [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -350,4 +350,11 @@ PulsarAdmin admin = <span class="hljs-keyword">new</span> PulsarAdmin(url, confi
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/administration-auth/index.html b/content/staging/docs/administration-auth/index.html
index 1169221..aaa7afc 100644
--- a/content/staging/docs/administration-auth/index.html
+++ b/content/staging/docs/administration-auth/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Authentication and authorization in Pulsar · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar supports a pluggable authentication mechanism that Pulsar clients can use to authenticate with {% popover brokers %}. Pulsar can also be configured to support multiple [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Authentication and authorization in Pulsar · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar supports a pluggable authentication mechanism that Pulsar clients can use to authenticate with {% popover brokers %}. Pulsar can also be configured to support multiple [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -350,4 +350,11 @@ PulsarAdmin admin = <span class="hljs-keyword">new</span> PulsarAdmin(url, confi
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/administration-dashboard.html b/content/staging/docs/administration-dashboard.html
index a7ecd1a..566ef71 100644
--- a/content/staging/docs/administration-dashboard.html
+++ b/content/staging/docs/administration-dashboard.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>The Pulsar dashboard · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="The Pulsar dashboard is a web application that enables users to monitor current stats for all {% popover topics %} in tabular form."/><meta name="docsearch:language" content="en"/><meta property=" [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>The Pulsar dashboard · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="The Pulsar dashboard is a web application that enables users to monitor current stats for all {% popover topics %} in tabular form."/><meta name="docsearch:language" content="en"/><meta property=" [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -82,4 +82,11 @@
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/administration-dashboard/index.html b/content/staging/docs/administration-dashboard/index.html
index a7ecd1a..566ef71 100644
--- a/content/staging/docs/administration-dashboard/index.html
+++ b/content/staging/docs/administration-dashboard/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>The Pulsar dashboard · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="The Pulsar dashboard is a web application that enables users to monitor current stats for all {% popover topics %} in tabular form."/><meta name="docsearch:language" content="en"/><meta property=" [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>The Pulsar dashboard · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="The Pulsar dashboard is a web application that enables users to monitor current stats for all {% popover topics %} in tabular form."/><meta name="docsearch:language" content="en"/><meta property=" [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -82,4 +82,11 @@
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/administration-geo.html b/content/staging/docs/administration-geo.html
index 965847b..525175a 100644
--- a/content/staging/docs/administration-geo.html
+++ b/content/staging/docs/administration-geo.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar geo-replication · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="*Geo-replication* is the replication of persistently stored message data across multiple clusters of a Pulsar instance."/><meta name="docsearch:language" content="en"/><meta property="og:title"  [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar geo-replication · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="*Geo-replication* is the replication of persistently stored message data across multiple clusters of a Pulsar instance."/><meta name="docsearch:language" content="en"/><meta property="og:title"  [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -24,7 +24,7 @@
         </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/incubator-pulsar/edit/master/site2/docs/administration-geo.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 class="postHeaderTitle">Pulsar geo-replication</h1></header><article><div><span><p><em>Geo-replication</em> is the replication of persistently stored message data across multiple [...]
 <h2><a class="anchor" aria-hidden="true" id="how-it-works"></a><a href="#how-it-works" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
 <p>The diagram below illustrates the process of geo-replication across Pulsar clusters:</p>
-<p><img src="/docs/assets/geo-replication.png" alt="Replication Diagram"></p>
+<p><img src="/staging/docs/assets/geo-replication.png" alt="Replication Diagram"></p>
 <p>In this diagram, whenever producers <strong>P1</strong>, <strong>P2</strong>, and <strong>P3</strong> publish messages to the topic <strong>T1</strong> on clusters <strong>Cluster-A</strong>, <strong>Cluster-B</strong>, and <strong>Cluster-C</strong>, respectively, those messages are instantly replicated across clusters. Once replicated, consumers <strong>C1</strong> and <strong>C2</strong> can consume those messages from their respective clusters.</p>
 <p>Without geo-replication, consumers <strong>C1</strong> and <strong>C2</strong> wouldn't be able to consume messages published by producer <strong>P3</strong>.</p>
 <h2><a class="anchor" aria-hidden="true" id="geo-replication-and-pulsar-properties"></a><a href="#geo-replication-and-pulsar-properties" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 [...]
@@ -136,4 +136,11 @@ producer.newMessage()
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/administration-geo/index.html b/content/staging/docs/administration-geo/index.html
index 965847b..525175a 100644
--- a/content/staging/docs/administration-geo/index.html
+++ b/content/staging/docs/administration-geo/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar geo-replication · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="*Geo-replication* is the replication of persistently stored message data across multiple clusters of a Pulsar instance."/><meta name="docsearch:language" content="en"/><meta property="og:title"  [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar geo-replication · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="*Geo-replication* is the replication of persistently stored message data across multiple clusters of a Pulsar instance."/><meta name="docsearch:language" content="en"/><meta property="og:title"  [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -24,7 +24,7 @@
         </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/incubator-pulsar/edit/master/site2/docs/administration-geo.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 class="postHeaderTitle">Pulsar geo-replication</h1></header><article><div><span><p><em>Geo-replication</em> is the replication of persistently stored message data across multiple [...]
 <h2><a class="anchor" aria-hidden="true" id="how-it-works"></a><a href="#how-it-works" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
 <p>The diagram below illustrates the process of geo-replication across Pulsar clusters:</p>
-<p><img src="/docs/assets/geo-replication.png" alt="Replication Diagram"></p>
+<p><img src="/staging/docs/assets/geo-replication.png" alt="Replication Diagram"></p>
 <p>In this diagram, whenever producers <strong>P1</strong>, <strong>P2</strong>, and <strong>P3</strong> publish messages to the topic <strong>T1</strong> on clusters <strong>Cluster-A</strong>, <strong>Cluster-B</strong>, and <strong>Cluster-C</strong>, respectively, those messages are instantly replicated across clusters. Once replicated, consumers <strong>C1</strong> and <strong>C2</strong> can consume those messages from their respective clusters.</p>
 <p>Without geo-replication, consumers <strong>C1</strong> and <strong>C2</strong> wouldn't be able to consume messages published by producer <strong>P3</strong>.</p>
 <h2><a class="anchor" aria-hidden="true" id="geo-replication-and-pulsar-properties"></a><a href="#geo-replication-and-pulsar-properties" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 [...]
@@ -136,4 +136,11 @@ producer.newMessage()
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/administration-load-distribution.html b/content/staging/docs/administration-load-distribution.html
index fc1eb01..92e2f7f 100644
--- a/content/staging/docs/administration-load-distribution.html
+++ b/content/staging/docs/administration-load-distribution.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar load distribution · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="## Load distribution across Pulsar brokers"/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Pulsar load distribution · Apache Pulsar"/><meta property="og:type [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar load distribution · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="## Load distribution across Pulsar brokers"/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Pulsar load distribution · Apache Pulsar"/><meta property="og:type [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -209,4 +209,11 @@ loadBalancerOverrideBrokerNicSpeedGbps=
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/administration-load-distribution/index.html b/content/staging/docs/administration-load-distribution/index.html
index fc1eb01..92e2f7f 100644
--- a/content/staging/docs/administration-load-distribution/index.html
+++ b/content/staging/docs/administration-load-distribution/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar load distribution · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="## Load distribution across Pulsar brokers"/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Pulsar load distribution · Apache Pulsar"/><meta property="og:type [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar load distribution · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="## Load distribution across Pulsar brokers"/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Pulsar load distribution · Apache Pulsar"/><meta property="og:type [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -209,4 +209,11 @@ loadBalancerOverrideBrokerNicSpeedGbps=
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/administration-proxy.html b/content/staging/docs/administration-proxy.html
index 40cfd4a..c12df37 100644
--- a/content/staging/docs/administration-proxy.html
+++ b/content/staging/docs/administration-proxy.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>The Pulsar proxy · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="The [Pulsar proxy](/staging/docs/concepts-architecture#pulsar-proxy) is an optional gateway that you can run over the brokers in a Pulsar cluster. We recommend running a Pulsar proxy in cases when dir [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>The Pulsar proxy · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="The [Pulsar proxy](/staging/docs/concepts-architecture#pulsar-proxy) is an optional gateway that you can run over the brokers in a Pulsar cluster. We recommend running a Pulsar proxy in cases when dir [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -115,4 +115,11 @@ $ bin/pulsar proxy \
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/administration-proxy/index.html b/content/staging/docs/administration-proxy/index.html
index 40cfd4a..c12df37 100644
--- a/content/staging/docs/administration-proxy/index.html
+++ b/content/staging/docs/administration-proxy/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>The Pulsar proxy · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="The [Pulsar proxy](/staging/docs/concepts-architecture#pulsar-proxy) is an optional gateway that you can run over the brokers in a Pulsar cluster. We recommend running a Pulsar proxy in cases when dir [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>The Pulsar proxy · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="The [Pulsar proxy](/staging/docs/concepts-architecture#pulsar-proxy) is an optional gateway that you can run over the brokers in a Pulsar cluster. We recommend running a Pulsar proxy in cases when dir [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -115,4 +115,11 @@ $ bin/pulsar proxy \
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/administration-stats.html b/content/staging/docs/administration-stats.html
index 95043ff..2773f0a 100644
--- a/content/staging/docs/administration-stats.html
+++ b/content/staging/docs/administration-stats.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar stats · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="## Partitioned topics"/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Pulsar stats · Apache Pulsar"/><meta property="og:type" content="website"/><meta property="og:url"  [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar stats · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="## Partitioned topics"/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Pulsar stats · Apache Pulsar"/><meta property="og:type" content="website"/><meta property="og:url"  [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -127,4 +127,11 @@
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/administration-stats/index.html b/content/staging/docs/administration-stats/index.html
index 95043ff..2773f0a 100644
--- a/content/staging/docs/administration-stats/index.html
+++ b/content/staging/docs/administration-stats/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar stats · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="## Partitioned topics"/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Pulsar stats · Apache Pulsar"/><meta property="og:type" content="website"/><meta property="og:url"  [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar stats · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="## Partitioned topics"/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Pulsar stats · Apache Pulsar"/><meta property="og:type" content="website"/><meta property="og:url"  [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -127,4 +127,11 @@
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/administration-zk-bk.html b/content/staging/docs/administration-zk-bk.html
index b072758..a7d9db4 100644
--- a/content/staging/docs/administration-zk-bk.html
+++ b/content/staging/docs/administration-zk-bk.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>ZooKeeper and BookKeeper administration · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar relies on two external systems for essential tasks:"/><meta name="docsearch:language" content="en"/><meta property="og:title" content="ZooKeeper and BookKeeper administra [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>ZooKeeper and BookKeeper administration · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar relies on two external systems for essential tasks:"/><meta name="docsearch:language" content="en"/><meta property="og:title" content="ZooKeeper and BookKeeper administra [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -245,7 +245,7 @@ admin.namespaces().setPersistence(namespace, policies);
 </code></pre>
 <h2><a class="anchor" aria-hidden="true" id="how-pulsar-uses-zookeeper-and-bookkeeper"></a><a href="#how-pulsar-uses-zookeeper-and-bookkeeper" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0  [...]
 <p>This diagram illustrates the role of ZooKeeper and BookKeeper in a Pulsar cluster:</p>
-<p><img src="/docs/assets/pulsar-system-architecture.png" alt="ZooKeeper and BookKeeper"></p>
+<p><img src="/staging/docs/assets/pulsar-system-architecture.png" alt="ZooKeeper and BookKeeper"></p>
 <p>Each Pulsar cluster consists of one or more message brokers. Each broker relies on an ensemble of bookies.</p>
 </span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/staging/docs/deploy-monitoring">← Monitoring</a><a class="docs-next button" href="/staging/docs/administration-geo">Pulsar geo-replication →</a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#zookeeper">ZooKeeper</a><ul class="toc-headings"><li><a href="#deploying-local-zookeeper">Deploying local ZooKeeper</a></li><li><a href="#deploying-the-configuration-store-confi [...]
       const community = document.querySelector("a[href='#community']").parentNode;
@@ -290,4 +290,11 @@ admin.namespaces().setPersistence(namespace, policies);
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/administration-zk-bk/index.html b/content/staging/docs/administration-zk-bk/index.html
index b072758..a7d9db4 100644
--- a/content/staging/docs/administration-zk-bk/index.html
+++ b/content/staging/docs/administration-zk-bk/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>ZooKeeper and BookKeeper administration · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar relies on two external systems for essential tasks:"/><meta name="docsearch:language" content="en"/><meta property="og:title" content="ZooKeeper and BookKeeper administra [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>ZooKeeper and BookKeeper administration · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar relies on two external systems for essential tasks:"/><meta name="docsearch:language" content="en"/><meta property="og:title" content="ZooKeeper and BookKeeper administra [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -245,7 +245,7 @@ admin.namespaces().setPersistence(namespace, policies);
 </code></pre>
 <h2><a class="anchor" aria-hidden="true" id="how-pulsar-uses-zookeeper-and-bookkeeper"></a><a href="#how-pulsar-uses-zookeeper-and-bookkeeper" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0  [...]
 <p>This diagram illustrates the role of ZooKeeper and BookKeeper in a Pulsar cluster:</p>
-<p><img src="/docs/assets/pulsar-system-architecture.png" alt="ZooKeeper and BookKeeper"></p>
+<p><img src="/staging/docs/assets/pulsar-system-architecture.png" alt="ZooKeeper and BookKeeper"></p>
 <p>Each Pulsar cluster consists of one or more message brokers. Each broker relies on an ensemble of bookies.</p>
 </span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/staging/docs/deploy-monitoring">← Monitoring</a><a class="docs-next button" href="/staging/docs/administration-geo">Pulsar geo-replication →</a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#zookeeper">ZooKeeper</a><ul class="toc-headings"><li><a href="#deploying-local-zookeeper">Deploying local ZooKeeper</a></li><li><a href="#deploying-the-configuration-store-confi [...]
       const community = document.querySelector("a[href='#community']").parentNode;
@@ -290,4 +290,11 @@ admin.namespaces().setPersistence(namespace, policies);
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/client-libraries-cpp.html b/content/staging/docs/client-libraries-cpp.html
index 724e81a..fa9ac47 100644
--- a/content/staging/docs/client-libraries-cpp.html
+++ b/content/staging/docs/client-libraries-cpp.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>The Pulsar C++ client · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="## Supported platforms"/><meta name="docsearch:language" content="en"/><meta property="og:title" content="The Pulsar C++ client · Apache Pulsar"/><meta property="og:type" content="website"/><meta [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>The Pulsar C++ client · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="## Supported platforms"/><meta name="docsearch:language" content="en"/><meta property="og:title" content="The Pulsar C++ client · Apache Pulsar"/><meta property="og:type" content="website"/><meta [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -170,4 +170,11 @@ config.setAuth(pulsar::AuthTls::create(
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/client-libraries-cpp/index.html b/content/staging/docs/client-libraries-cpp/index.html
index 724e81a..fa9ac47 100644
--- a/content/staging/docs/client-libraries-cpp/index.html
+++ b/content/staging/docs/client-libraries-cpp/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>The Pulsar C++ client · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="## Supported platforms"/><meta name="docsearch:language" content="en"/><meta property="og:title" content="The Pulsar C++ client · Apache Pulsar"/><meta property="og:type" content="website"/><meta [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>The Pulsar C++ client · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="## Supported platforms"/><meta name="docsearch:language" content="en"/><meta property="og:title" content="The Pulsar C++ client · Apache Pulsar"/><meta property="og:type" content="website"/><meta [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -170,4 +170,11 @@ config.setAuth(pulsar::AuthTls::create(
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/client-libraries-go.html b/content/staging/docs/client-libraries-go.html
index d7e8de9..db5daee 100644
--- a/content/staging/docs/client-libraries-go.html
+++ b/content/staging/docs/client-libraries-go.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>The Pulsar Go client · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="The Pulsar Go client can be used to create Pulsar [producers](#producers), [consumers](#consumers), and [readers](#readers) in Go (aka Golang)."/><meta name="docsearch:language" content="en"/><met [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>The Pulsar Go client · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="The Pulsar Go client can be used to create Pulsar [producers](#producers), [consumers](#consumers), and [readers](#readers) in Go (aka Golang)."/><meta name="docsearch:language" content="en"/><met [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -471,4 +471,11 @@ reader, err := client.CreateReader(pulsar.ReaderOptions{
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/client-libraries-go/index.html b/content/staging/docs/client-libraries-go/index.html
index d7e8de9..db5daee 100644
--- a/content/staging/docs/client-libraries-go/index.html
+++ b/content/staging/docs/client-libraries-go/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>The Pulsar Go client · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="The Pulsar Go client can be used to create Pulsar [producers](#producers), [consumers](#consumers), and [readers](#readers) in Go (aka Golang)."/><meta name="docsearch:language" content="en"/><met [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>The Pulsar Go client · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="The Pulsar Go client can be used to create Pulsar [producers](#producers), [consumers](#consumers), and [readers](#readers) in Go (aka Golang)."/><meta name="docsearch:language" content="en"/><met [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -471,4 +471,11 @@ reader, err := client.CreateReader(pulsar.ReaderOptions{
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/client-libraries-java.html b/content/staging/docs/client-libraries-java.html
index d46120e..28ee845 100644
--- a/content/staging/docs/client-libraries-java.html
+++ b/content/staging/docs/client-libraries-java.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>The Pulsar Java client · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="The Pulsar Java client can be used both to create Java producers, consumers, and [readers](#readers) of messages and to perform [administrative tasks](/staging/docs/admin-api-overview). The curr [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>The Pulsar Java client · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="The Pulsar Java client can be used both to create Java producers, consumers, and [readers](#readers) of messages and to perform [administrative tasks](/staging/docs/admin-api-overview). The curr [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -410,4 +410,11 @@ PulsarClient client = PulsarClient.builder()
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/client-libraries-java/index.html b/content/staging/docs/client-libraries-java/index.html
index d46120e..28ee845 100644
--- a/content/staging/docs/client-libraries-java/index.html
+++ b/content/staging/docs/client-libraries-java/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>The Pulsar Java client · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="The Pulsar Java client can be used both to create Java producers, consumers, and [readers](#readers) of messages and to perform [administrative tasks](/staging/docs/admin-api-overview). The curr [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>The Pulsar Java client · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="The Pulsar Java client can be used both to create Java producers, consumers, and [readers](#readers) of messages and to perform [administrative tasks](/staging/docs/admin-api-overview). The curr [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -410,4 +410,11 @@ PulsarClient client = PulsarClient.builder()
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/client-libraries-python.html b/content/staging/docs/client-libraries-python.html
index 8d3381c..0744827 100644
--- a/content/staging/docs/client-libraries-python.html
+++ b/content/staging/docs/client-libraries-python.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>The Pulsar Python client · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="The Pulsar Python client library is a wrapper over the existing [C++ client library](/staging/docs/client-libraries-cpp) and exposes all of the [same features](/api/cpp). You can find the code [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>The Pulsar Python client · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="The Pulsar Python client library is a wrapper over the existing [C++ client library](/staging/docs/client-libraries-cpp) and exposes all of the [same features](/api/cpp). You can find the code [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -128,4 +128,11 @@ reader = client.create_reader(<span class="hljs-string">'my-topic'</span>, msg_i
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/client-libraries-python/index.html b/content/staging/docs/client-libraries-python/index.html
index 8d3381c..0744827 100644
--- a/content/staging/docs/client-libraries-python/index.html
+++ b/content/staging/docs/client-libraries-python/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>The Pulsar Python client · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="The Pulsar Python client library is a wrapper over the existing [C++ client library](/staging/docs/client-libraries-cpp) and exposes all of the [same features](/api/cpp). You can find the code [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>The Pulsar Python client · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="The Pulsar Python client library is a wrapper over the existing [C++ client library](/staging/docs/client-libraries-cpp) and exposes all of the [same features](/api/cpp). You can find the code [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -128,4 +128,11 @@ reader = client.create_reader(<span class="hljs-string">'my-topic'</span>, msg_i
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/client-libraries-websocket.html b/content/staging/docs/client-libraries-websocket.html
index bcd8fe3..c9dd7fa 100644
--- a/content/staging/docs/client-libraries-websocket.html
+++ b/content/staging/docs/client-libraries-websocket.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar&#x27;s WebSocket API · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar&#x27;s [WebSocket](https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API) API is meant to provide a simple way to interact with Pulsar using languages that do not have an o [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar&#x27;s WebSocket API · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar&#x27;s [WebSocket](https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API) API is meant to provide a simple way to interact with Pulsar using languages that do not have an o [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -410,4 +410,11 @@ ws.on(<span class="hljs-string">'message'</span>, <span class="hljs-function"><s
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/client-libraries-websocket/index.html b/content/staging/docs/client-libraries-websocket/index.html
index bcd8fe3..c9dd7fa 100644
--- a/content/staging/docs/client-libraries-websocket/index.html
+++ b/content/staging/docs/client-libraries-websocket/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar&#x27;s WebSocket API · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar&#x27;s [WebSocket](https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API) API is meant to provide a simple way to interact with Pulsar using languages that do not have an o [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar&#x27;s WebSocket API · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar&#x27;s [WebSocket](https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API) API is meant to provide a simple way to interact with Pulsar using languages that do not have an o [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -410,4 +410,11 @@ ws.on(<span class="hljs-string">'message'</span>, <span class="hljs-function"><s
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/client-libraries.html b/content/staging/docs/client-libraries.html
index 4fc0107..6852e26 100644
--- a/content/staging/docs/client-libraries.html
+++ b/content/staging/docs/client-libraries.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar client libraries · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar currently has client libraries available for three languages:"/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Pulsar client libraries · Apache Pulsar"/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar client libraries · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar currently has client libraries available for three languages:"/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Pulsar client libraries · Apache Pulsar"/ [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -91,4 +91,11 @@
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/client-libraries/index.html b/content/staging/docs/client-libraries/index.html
index 4fc0107..6852e26 100644
--- a/content/staging/docs/client-libraries/index.html
+++ b/content/staging/docs/client-libraries/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar client libraries · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar currently has client libraries available for three languages:"/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Pulsar client libraries · Apache Pulsar"/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar client libraries · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar currently has client libraries available for three languages:"/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Pulsar client libraries · Apache Pulsar"/ [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -91,4 +91,11 @@
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/concepts-architecture.html b/content/staging/docs/concepts-architecture.html
index 6a30241..088d286 100644
--- a/content/staging/docs/concepts-architecture.html
+++ b/content/staging/docs/concepts-architecture.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar concepts and architecture · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar is a multi-tenant, high-performance solution for server-to-server messaging originally developed by [Yahoo](http://yahoo.github.io/) and now under the stewardship of the [Apache [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar concepts and architecture · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar is a multi-tenant, high-performance solution for server-to-server messaging originally developed by [Yahoo](http://yahoo.github.io/) and now under the stewardship of the [Apache [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -118,14 +118,14 @@
 <p>A namespace is a logical nomenclature within a tenant. A tenant can create multiple namespaces via the <a href="/staging/docs/admin-api-namespaces#create">admin API</a>. For instance, a tenant with different applications can create a separate namespace for each application. A namespace allows the application to create and manage a hierarchy of topics. The topic <code>my-tenant/app1</code> is a namespace for the application <code>app1</code> for <code>my-tenant</code>. You can create a [...]
 <h3><a class="anchor" aria-hidden="true" id="subscription-modes"></a><a href="#subscription-modes" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22- [...]
 <p>A subscription is a named configuration rule that determines how messages are delivered to consumers. There are three available subscription modes in Pulsar: <a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>. These modes are illustrated in the figure below.</p>
-<p><img src="/docs/assets/pulsar-subscription-modes.png" alt="Subscription modes"></p>
+<p><img src="/staging/docs/assets/pulsar-subscription-modes.png" alt="Subscription modes"></p>
 <h4><a class="anchor" aria-hidden="true" id="exclusive"></a><a href="#exclusive" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.6 [...]
 <p>In <em>exclusive</em> mode, only a single consumer is allowed to attach to the subscription. If more than one consumer attempts to subscribe to a topic using the same subscription, the consumer receives an error.</p>
 <p>In the diagram above, only <strong>Consumer-A</strong> is allowed to consume messages.</p>
 <blockquote>
 <p>Exclusive mode is the default subscription mode.</p>
 </blockquote>
-<p><img src="/docs/assets/pulsar-exclusive-subscriptions.png" alt="Exclusive subscriptions"></p>
+<p><img src="/staging/docs/assets/pulsar-exclusive-subscriptions.png" alt="Exclusive subscriptions"></p>
 <h4><a class="anchor" aria-hidden="true" id="shared"></a><a href="#shared" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
 <p>In <em>shared</em> or <em>round robin</em> mode, multiple consumers can attach to the same subscription. Messages are delivered in a round robin distribution across consumers, and any given message is delivered to only one consumer. When a consumer disconnects, all the messages that were sent to it and not acknowledged will be rescheduled for sending to the remaining consumers.</p>
 <p>In the diagram above, <strong>Consumer-B-1</strong> and <strong>Consumer-B-2</strong> are able to subscribe to the topic, but <strong>Consumer-C-1</strong> and others could as well.</p>
@@ -137,12 +137,12 @@
 <li>You cannot use cumulative acknowledgment with shared mode.</li>
 </ul>
 </blockquote>
-<p><img src="/docs/assets/pulsar-shared-subscriptions.png" alt="Shared subscriptions"></p>
+<p><img src="/staging/docs/assets/pulsar-shared-subscriptions.png" alt="Shared subscriptions"></p>
 <h4><a class="anchor" aria-hidden="true" id="failover"></a><a href="#failover" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64  [...]
 <p>In <em>failover</em> mode, multiple consumers can attach to the same subscription. The consumers will be lexically sorted by the consumer's name and the first consumer will initially be the only one receiving messages. This consumer is called the <em>master consumer</em>.</p>
 <p>When the master consumer disconnects, all (non-acked and subsequent) messages will be delivered to the next consumer in line.</p>
 <p>In the diagram above, Consumer-C-1 is the master consumer while Consumer-C-2 would be the next in line to receive messages if Consumer-C-2 disconnected.</p>
-<p><img src="/docs/assets/pulsar-failover-subscriptions.png" alt="Failover subscriptions"></p>
+<p><img src="/staging/docs/assets/pulsar-failover-subscriptions.png" alt="Failover subscriptions"></p>
 <h3><a class="anchor" aria-hidden="true" id="multi-topic-subscriptions"></a><a href="#multi-topic-subscriptions" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c [...]
 <p>When a consumer subscribes to a Pulsar topic, by default it subscribes to one specific topic, such as <code>persistent://public/default/my-topic</code>. As of Pulsar version 1.23.0-incubating, however, Pulsar consumers can simultaneously subscribe to multiple topics. You can define a list of topics in two ways:</p>
 <ul>
@@ -181,7 +181,7 @@ Consumer someTopicsConsumer = pulsarClient.subscribe(someTopicsInNamespace, <spa
 <p>Normal topics can be served only by a single broker, which limits the topic's maximum throughput. <em>Partitioned topics</em> are a special type of topic that be handled by multiple brokers, which allows for much higher throughput.</p>
 <p>Behind the scenes, a partitioned topic is actually implemented as N internal topics, where N is the number of partitions. When publishing messages to a partitioned topic, each message is routed to one of several brokers. The distribution of partitions across brokers is handled automatically by Pulsar.</p>
 <p>The diagram below illustrates this:</p>
-<p><img src="/docs/assets/partitioning.png" alt=""></p>
+<p><img src="/staging/docs/assets/partitioning.png" alt=""></p>
 <p>Here, the topic <strong>Topic1</strong> has five partitions (<strong>P0</strong> through <strong>P4</strong>) split across three brokers. Because there are more partitions than brokers, two brokers handle two partitions a piece, while the third handles only one (again, Pulsar handles this distribution of partitions automatically).</p>
 <p>Messages for this topic are broadcast to two consumers. The <a href="#routing-modes">routing mode</a> determines both which broker handles each partition, while the <a href="/staging/docs/concepts-architecture#subscription-modes">subscription mode</a> determines which messages go to which consumers.</p>
 <p>Decisions about routing and subscription modes can be made separately in most cases. In general, throughput concerns should guide partitioning/routing decisions while subscription decisions should be guided by application semantics.</p>
@@ -238,7 +238,7 @@ Consumer consumer = client.subscribe(npTopic, subscriptionName);
 <li>A ZooKeeper cluster specific to that cluster handles</li>
 </ul>
 <p>The diagram below provides an illustration of a Pulsar cluster:</p>
-<p><img src="/docs/assets/pulsar-system-architecture.png" alt="Pulsar architecture diagram"></p>
+<p><img src="/staging/docs/assets/pulsar-system-architecture.png" alt="Pulsar architecture diagram"></p>
 <p>At the broader instance level, an instance-wide ZooKeeper cluster called the configuration store handles coordination tasks involving multiple clusters, for example <a href="#replication">geo-replication</a>.</p>
 <h2><a class="anchor" aria-hidden="true" id="brokers"></a><a href="#brokers" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1- [...]
 <p>The Pulsar message broker is a stateless component that's primarily responsible for running two other components:</p>
@@ -289,7 +289,7 @@ Consumer consumer = client.subscribe(npTopic, subscriptionName);
 <p>Pulsar also supports ephemeral (<a href="#non-persistent-topics">non-persistent</a>) message storage.</p>
 </blockquote>
 <p>You can see an illustration of how brokers and bookies interact in the diagram below:</p>
-<p><img src="/docs/assets/broker-bookie.png" alt="Brokers and bookies"></p>
+<p><img src="/staging/docs/assets/broker-bookie.png" alt="Brokers and bookies"></p>
 <h3><a class="anchor" aria-hidden="true" id="ledgers"></a><a href="#ledgers" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1- [...]
 <p>A ledger is an append-only data structure with a single writer that is assigned to multiple BookKeeper storage nodes, or bookies. Ledger entries are replicated to multiple bookies. Ledgers themselves have very simple semantics:</p>
 <ul>
@@ -325,7 +325,7 @@ Consumer consumer = client.subscribe(npTopic, subscriptionName);
 <p>All message retention and expiry is managed at the <a href="#namespaces">namespace</a> level. For a how-to, see the <a href="/staging/docs/cookbooks-retention-expiry">Message retention and expiry</a> cookbook.</p>
 </blockquote>
 <p>The diagram below illustrates both concepts:</p>
-<p><img src="/docs/assets/retention-expiry.png" alt="Message retention and expiry"></p>
+<p><img src="/staging/docs/assets/retention-expiry.png" alt="Message retention and expiry"></p>
 <p>With message retention, shown at the top, a <span style="color: #89b557;">retention policy</span> applied to all topics in a namespace dicates that some messages are durably stored in Pulsar even though they've already been acknowledged. Acknowledged messages that are not covered by the retention policy are <span style="color: #bb3b3e;">deleted</span>. Without a retention policy, <em>all</em> of the <span style="color: #19967d;">acknowledged messages</span> would be deleted.</p>
 <p>With message expiry, shown at the bottom, some messages are <span style="color: #bb3b3e;">deleted</span>, even though they <span style="color: #337db6;">haven't been acknowledged</span>, because they've expired according to the <span style="color: #e39441;">TTL applied to the namespace</span> (for example because a TTL of 5 minutes has been applied and the messages haven't been acknowledged but are 10 minutes old).</p>
 <h2><a class="anchor" aria-hidden="true" id="pulsar-functions"></a><a href="#pulsar-functions" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2. [...]
@@ -335,7 +335,7 @@ Consumer consumer = client.subscribe(npTopic, subscriptionName);
 <h2><a class="anchor" aria-hidden="true" id="message-deduplication"></a><a href="#message-deduplication" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2 [...]
 <p>Message <strong>duplication</strong> occurs when a message is <a href="#persistent-storage">persisted</a> by Pulsar more than once. Message <strong><em>de</em>duplication</strong> is an optional Pulsar feature that prevents unnecessary message duplication by processing each message only once, <em>even if the message is received more than once</em>.</p>
 <p>The following diagram illustrates what happens when message deduplication is disabled vs. enabled:</p>
-<p><img src="/docs/assets/message-deduplication.png" alt="Pulsar message deduplication"></p>
+<p><img src="/staging/docs/assets/message-deduplication.png" alt="Pulsar message deduplication"></p>
 <p>Message deduplication is disabled in the scenario shown at the top. Here, a producer publishes message 1 on a topic; the message reaches a Pulsar broker and is <a href="#persistent-storage">persisted</a> to BookKeeper. The producer then sends message 1 again (in this case due to some retry logic), and the message is received by the broker and stored in BookKeeper again, which means that duplication has occurred.</p>
 <p>In the second scenario at the bottom, the producer publishes message 1, which is received by the broker and persisted, as in the first scenario. When the producer attempts to publish the message again, however, the broker knows that it has already seen message 1 and thus does not persist the message.</p>
 <blockquote>
@@ -416,7 +416,7 @@ persistent://tenant/app1/topic-3
 <p><a href="/staging/docs/client-libraries">Clients</a> connecting to Pulsar brokers need to be able to communicate with an entire Pulsar instance using a single URL. Pulsar provides a built-in service discovery mechanism that you can set up using the instructions in the <a href="/staging/docs/deploy-bare-metal#service-discovery-setup">Deploying a Pulsar instance</a> guide.</p>
 <p>You can use your own service discovery system if you'd like. If you use your own system, there is just one requirement: when a client performs an HTTP request to an endpoint, such as <code>http://pulsar.us-west.example.com:8080</code>, the client needs to be redirected to <em>some</em> active broker in the desired cluster, whether via DNS, an HTTP or IP redirect, or some other means.</p>
 <p>The diagram below illustrates Pulsar service discovery:</p>
-<p><img src="/docs/assets/pulsar-service-discovery.png" alt="alt-text"></p>
+<p><img src="/staging/docs/assets/pulsar-service-discovery.png" alt="alt-text"></p>
 <p>In this diagram, the Pulsar cluster is addressable via a single DNS name: <code>pulsar-cluster.acme.com</code>. A <a href="/staging/docs/client-libraries-python">Python client</a>, for example, could access this Pulsar cluster like this:</p>
 <pre><code class="hljs css languages- python"><span class="hljs-keyword">from</span> pulsar <span class="hljs-keyword">import</span> Client
 
@@ -431,7 +431,7 @@ client = Client(<span class="hljs-string">'pulsar://pulsar-cluster.acme.com:6650
 <li>Some other message between the earliest and the latest. If you select this option, you'll need to explicitly provide a message ID. Your application will be responsible for &quot;knowing&quot; this message ID in advance, perhaps fetching it from a persistent data store or cache.</li>
 </ul>
 <p>The reader interface is helpful for use cases like using Pulsar to provide <a href="https://streaml.io/blog/exactly-once/">effectively-once</a> processing semantics for a stream processing system. For this use case, it's essential that the stream processing system be able to &quot;rewind&quot; topics to a specific message and begin reading there. The reader interface provides Pulsar clients with the low-level abstraction necessary to &quot;manually position&quot; themselves within a t [...]
-<p><img src="/docs/assets/pulsar-reader-consumer-interfaces.png" alt="The Pulsar consumer and reader interfaces"></p>
+<p><img src="/staging/docs/assets/pulsar-reader-consumer-interfaces.png" alt="The Pulsar consumer and reader interfaces"></p>
 <blockquote>
 <h3><a class="anchor" aria-hidden="true" id="non-partitioned-topics-only"></a><a href="#non-partitioned-topics-only" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 1 [...]
 <p>The reader interface for Pulsar cannot currently be used with <a href="#partitioned-topics">partitioned topics</a>.</p>
@@ -498,7 +498,7 @@ Reader&lt;<span class="hljs-keyword">byte</span>[]&gt; reader = pulsarClient.new
 <h2><a class="anchor" aria-hidden="true" id="tiered-storage"></a><a href="#tiered-storage" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
 <p>Pulsar's segment oriented architecture allows for topic backlogs to grow very large, effectively without limit. However, this can become expensive over time.</p>
 <p>One way to alleviate this cost is to use Tiered Storage. With tiered storage, older messages in the backlog can be moved from bookkeeper to a cheaper storage mechanism, while still allowing clients to access the backlog as if nothing had changed.</p>
-<p><img src="/docs/assets/pulsar-tiered-storage.png" alt="Tiered Storage"></p>
+<p><img src="/staging/docs/assets/pulsar-tiered-storage.png" alt="Tiered Storage"></p>
 <blockquote>
 <p>Data written to bookkeeper is replicated to 3 physical machines by default. However, once a segment is sealed in bookkeeper is becomes immutable and can be copied to long term storage. Long term storage can achieve cost savings by using mechanisms such as <a href="https://en.wikipedia.org/wiki/Reed%E2%80%93Solomon_error_correction">Reed-Solomon error correction</a> to require fewer physical copies of data.</p>
 </blockquote>
@@ -519,7 +519,7 @@ Reader&lt;<span class="hljs-keyword">byte</span>[]&gt; reader = pulsarClient.new
 <li><strong>Sinks</strong> are fed data <em>from</em> Pulsar. Common sinks include other messaging systems and SQL and NoSQL databases.</li>
 </ul>
 <p>This diagram illustrates the relationship between sources, sinks, and Pulsar:</p>
-<p><img src="/docs/assets/pulsar-io.png" alt="Pulsar IO diagram" title="Pulsar IO connectors (sources and sinks)"></p>
+<p><img src="/staging/docs/assets/pulsar-io.png" alt="Pulsar IO diagram" title="Pulsar IO connectors (sources and sinks)"></p>
 <h3><a class="anchor" aria-hidden="true" id="working-with-connectors"></a><a href="#working-with-connectors" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 [...]
 <p>Pulsar IO connectors can be managed via the <a href="/staging/docs/pulsar-admin"><code>pulsar-admin</code></a> CLI tool, in particular the <a href="/staging/docs/pulsar-admin#source"><code>source</code></a> and <a href="/staging/docs/pulsar-admin#cooks"><code>sink</code></a> commands.</p>
 <blockquote>
@@ -650,4 +650,11 @@ Producer&lt;SensorReading&gt; producer = client.newProducer(JSONSchema.of(Sensor
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/concepts-architecture/index.html b/content/staging/docs/concepts-architecture/index.html
index 6a30241..088d286 100644
--- a/content/staging/docs/concepts-architecture/index.html
+++ b/content/staging/docs/concepts-architecture/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar concepts and architecture · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar is a multi-tenant, high-performance solution for server-to-server messaging originally developed by [Yahoo](http://yahoo.github.io/) and now under the stewardship of the [Apache [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar concepts and architecture · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar is a multi-tenant, high-performance solution for server-to-server messaging originally developed by [Yahoo](http://yahoo.github.io/) and now under the stewardship of the [Apache [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -118,14 +118,14 @@
 <p>A namespace is a logical nomenclature within a tenant. A tenant can create multiple namespaces via the <a href="/staging/docs/admin-api-namespaces#create">admin API</a>. For instance, a tenant with different applications can create a separate namespace for each application. A namespace allows the application to create and manage a hierarchy of topics. The topic <code>my-tenant/app1</code> is a namespace for the application <code>app1</code> for <code>my-tenant</code>. You can create a [...]
 <h3><a class="anchor" aria-hidden="true" id="subscription-modes"></a><a href="#subscription-modes" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22- [...]
 <p>A subscription is a named configuration rule that determines how messages are delivered to consumers. There are three available subscription modes in Pulsar: <a href="#exclusive">exclusive</a>, <a href="#shared">shared</a>, and <a href="#failover">failover</a>. These modes are illustrated in the figure below.</p>
-<p><img src="/docs/assets/pulsar-subscription-modes.png" alt="Subscription modes"></p>
+<p><img src="/staging/docs/assets/pulsar-subscription-modes.png" alt="Subscription modes"></p>
 <h4><a class="anchor" aria-hidden="true" id="exclusive"></a><a href="#exclusive" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.6 [...]
 <p>In <em>exclusive</em> mode, only a single consumer is allowed to attach to the subscription. If more than one consumer attempts to subscribe to a topic using the same subscription, the consumer receives an error.</p>
 <p>In the diagram above, only <strong>Consumer-A</strong> is allowed to consume messages.</p>
 <blockquote>
 <p>Exclusive mode is the default subscription mode.</p>
 </blockquote>
-<p><img src="/docs/assets/pulsar-exclusive-subscriptions.png" alt="Exclusive subscriptions"></p>
+<p><img src="/staging/docs/assets/pulsar-exclusive-subscriptions.png" alt="Exclusive subscriptions"></p>
 <h4><a class="anchor" aria-hidden="true" id="shared"></a><a href="#shared" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
 <p>In <em>shared</em> or <em>round robin</em> mode, multiple consumers can attach to the same subscription. Messages are delivered in a round robin distribution across consumers, and any given message is delivered to only one consumer. When a consumer disconnects, all the messages that were sent to it and not acknowledged will be rescheduled for sending to the remaining consumers.</p>
 <p>In the diagram above, <strong>Consumer-B-1</strong> and <strong>Consumer-B-2</strong> are able to subscribe to the topic, but <strong>Consumer-C-1</strong> and others could as well.</p>
@@ -137,12 +137,12 @@
 <li>You cannot use cumulative acknowledgment with shared mode.</li>
 </ul>
 </blockquote>
-<p><img src="/docs/assets/pulsar-shared-subscriptions.png" alt="Shared subscriptions"></p>
+<p><img src="/staging/docs/assets/pulsar-shared-subscriptions.png" alt="Shared subscriptions"></p>
 <h4><a class="anchor" aria-hidden="true" id="failover"></a><a href="#failover" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64  [...]
 <p>In <em>failover</em> mode, multiple consumers can attach to the same subscription. The consumers will be lexically sorted by the consumer's name and the first consumer will initially be the only one receiving messages. This consumer is called the <em>master consumer</em>.</p>
 <p>When the master consumer disconnects, all (non-acked and subsequent) messages will be delivered to the next consumer in line.</p>
 <p>In the diagram above, Consumer-C-1 is the master consumer while Consumer-C-2 would be the next in line to receive messages if Consumer-C-2 disconnected.</p>
-<p><img src="/docs/assets/pulsar-failover-subscriptions.png" alt="Failover subscriptions"></p>
+<p><img src="/staging/docs/assets/pulsar-failover-subscriptions.png" alt="Failover subscriptions"></p>
 <h3><a class="anchor" aria-hidden="true" id="multi-topic-subscriptions"></a><a href="#multi-topic-subscriptions" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c [...]
 <p>When a consumer subscribes to a Pulsar topic, by default it subscribes to one specific topic, such as <code>persistent://public/default/my-topic</code>. As of Pulsar version 1.23.0-incubating, however, Pulsar consumers can simultaneously subscribe to multiple topics. You can define a list of topics in two ways:</p>
 <ul>
@@ -181,7 +181,7 @@ Consumer someTopicsConsumer = pulsarClient.subscribe(someTopicsInNamespace, <spa
 <p>Normal topics can be served only by a single broker, which limits the topic's maximum throughput. <em>Partitioned topics</em> are a special type of topic that be handled by multiple brokers, which allows for much higher throughput.</p>
 <p>Behind the scenes, a partitioned topic is actually implemented as N internal topics, where N is the number of partitions. When publishing messages to a partitioned topic, each message is routed to one of several brokers. The distribution of partitions across brokers is handled automatically by Pulsar.</p>
 <p>The diagram below illustrates this:</p>
-<p><img src="/docs/assets/partitioning.png" alt=""></p>
+<p><img src="/staging/docs/assets/partitioning.png" alt=""></p>
 <p>Here, the topic <strong>Topic1</strong> has five partitions (<strong>P0</strong> through <strong>P4</strong>) split across three brokers. Because there are more partitions than brokers, two brokers handle two partitions a piece, while the third handles only one (again, Pulsar handles this distribution of partitions automatically).</p>
 <p>Messages for this topic are broadcast to two consumers. The <a href="#routing-modes">routing mode</a> determines both which broker handles each partition, while the <a href="/staging/docs/concepts-architecture#subscription-modes">subscription mode</a> determines which messages go to which consumers.</p>
 <p>Decisions about routing and subscription modes can be made separately in most cases. In general, throughput concerns should guide partitioning/routing decisions while subscription decisions should be guided by application semantics.</p>
@@ -238,7 +238,7 @@ Consumer consumer = client.subscribe(npTopic, subscriptionName);
 <li>A ZooKeeper cluster specific to that cluster handles</li>
 </ul>
 <p>The diagram below provides an illustration of a Pulsar cluster:</p>
-<p><img src="/docs/assets/pulsar-system-architecture.png" alt="Pulsar architecture diagram"></p>
+<p><img src="/staging/docs/assets/pulsar-system-architecture.png" alt="Pulsar architecture diagram"></p>
 <p>At the broader instance level, an instance-wide ZooKeeper cluster called the configuration store handles coordination tasks involving multiple clusters, for example <a href="#replication">geo-replication</a>.</p>
 <h2><a class="anchor" aria-hidden="true" id="brokers"></a><a href="#brokers" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1- [...]
 <p>The Pulsar message broker is a stateless component that's primarily responsible for running two other components:</p>
@@ -289,7 +289,7 @@ Consumer consumer = client.subscribe(npTopic, subscriptionName);
 <p>Pulsar also supports ephemeral (<a href="#non-persistent-topics">non-persistent</a>) message storage.</p>
 </blockquote>
 <p>You can see an illustration of how brokers and bookies interact in the diagram below:</p>
-<p><img src="/docs/assets/broker-bookie.png" alt="Brokers and bookies"></p>
+<p><img src="/staging/docs/assets/broker-bookie.png" alt="Brokers and bookies"></p>
 <h3><a class="anchor" aria-hidden="true" id="ledgers"></a><a href="#ledgers" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1- [...]
 <p>A ledger is an append-only data structure with a single writer that is assigned to multiple BookKeeper storage nodes, or bookies. Ledger entries are replicated to multiple bookies. Ledgers themselves have very simple semantics:</p>
 <ul>
@@ -325,7 +325,7 @@ Consumer consumer = client.subscribe(npTopic, subscriptionName);
 <p>All message retention and expiry is managed at the <a href="#namespaces">namespace</a> level. For a how-to, see the <a href="/staging/docs/cookbooks-retention-expiry">Message retention and expiry</a> cookbook.</p>
 </blockquote>
 <p>The diagram below illustrates both concepts:</p>
-<p><img src="/docs/assets/retention-expiry.png" alt="Message retention and expiry"></p>
+<p><img src="/staging/docs/assets/retention-expiry.png" alt="Message retention and expiry"></p>
 <p>With message retention, shown at the top, a <span style="color: #89b557;">retention policy</span> applied to all topics in a namespace dicates that some messages are durably stored in Pulsar even though they've already been acknowledged. Acknowledged messages that are not covered by the retention policy are <span style="color: #bb3b3e;">deleted</span>. Without a retention policy, <em>all</em> of the <span style="color: #19967d;">acknowledged messages</span> would be deleted.</p>
 <p>With message expiry, shown at the bottom, some messages are <span style="color: #bb3b3e;">deleted</span>, even though they <span style="color: #337db6;">haven't been acknowledged</span>, because they've expired according to the <span style="color: #e39441;">TTL applied to the namespace</span> (for example because a TTL of 5 minutes has been applied and the messages haven't been acknowledged but are 10 minutes old).</p>
 <h2><a class="anchor" aria-hidden="true" id="pulsar-functions"></a><a href="#pulsar-functions" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2. [...]
@@ -335,7 +335,7 @@ Consumer consumer = client.subscribe(npTopic, subscriptionName);
 <h2><a class="anchor" aria-hidden="true" id="message-deduplication"></a><a href="#message-deduplication" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2 [...]
 <p>Message <strong>duplication</strong> occurs when a message is <a href="#persistent-storage">persisted</a> by Pulsar more than once. Message <strong><em>de</em>duplication</strong> is an optional Pulsar feature that prevents unnecessary message duplication by processing each message only once, <em>even if the message is received more than once</em>.</p>
 <p>The following diagram illustrates what happens when message deduplication is disabled vs. enabled:</p>
-<p><img src="/docs/assets/message-deduplication.png" alt="Pulsar message deduplication"></p>
+<p><img src="/staging/docs/assets/message-deduplication.png" alt="Pulsar message deduplication"></p>
 <p>Message deduplication is disabled in the scenario shown at the top. Here, a producer publishes message 1 on a topic; the message reaches a Pulsar broker and is <a href="#persistent-storage">persisted</a> to BookKeeper. The producer then sends message 1 again (in this case due to some retry logic), and the message is received by the broker and stored in BookKeeper again, which means that duplication has occurred.</p>
 <p>In the second scenario at the bottom, the producer publishes message 1, which is received by the broker and persisted, as in the first scenario. When the producer attempts to publish the message again, however, the broker knows that it has already seen message 1 and thus does not persist the message.</p>
 <blockquote>
@@ -416,7 +416,7 @@ persistent://tenant/app1/topic-3
 <p><a href="/staging/docs/client-libraries">Clients</a> connecting to Pulsar brokers need to be able to communicate with an entire Pulsar instance using a single URL. Pulsar provides a built-in service discovery mechanism that you can set up using the instructions in the <a href="/staging/docs/deploy-bare-metal#service-discovery-setup">Deploying a Pulsar instance</a> guide.</p>
 <p>You can use your own service discovery system if you'd like. If you use your own system, there is just one requirement: when a client performs an HTTP request to an endpoint, such as <code>http://pulsar.us-west.example.com:8080</code>, the client needs to be redirected to <em>some</em> active broker in the desired cluster, whether via DNS, an HTTP or IP redirect, or some other means.</p>
 <p>The diagram below illustrates Pulsar service discovery:</p>
-<p><img src="/docs/assets/pulsar-service-discovery.png" alt="alt-text"></p>
+<p><img src="/staging/docs/assets/pulsar-service-discovery.png" alt="alt-text"></p>
 <p>In this diagram, the Pulsar cluster is addressable via a single DNS name: <code>pulsar-cluster.acme.com</code>. A <a href="/staging/docs/client-libraries-python">Python client</a>, for example, could access this Pulsar cluster like this:</p>
 <pre><code class="hljs css languages- python"><span class="hljs-keyword">from</span> pulsar <span class="hljs-keyword">import</span> Client
 
@@ -431,7 +431,7 @@ client = Client(<span class="hljs-string">'pulsar://pulsar-cluster.acme.com:6650
 <li>Some other message between the earliest and the latest. If you select this option, you'll need to explicitly provide a message ID. Your application will be responsible for &quot;knowing&quot; this message ID in advance, perhaps fetching it from a persistent data store or cache.</li>
 </ul>
 <p>The reader interface is helpful for use cases like using Pulsar to provide <a href="https://streaml.io/blog/exactly-once/">effectively-once</a> processing semantics for a stream processing system. For this use case, it's essential that the stream processing system be able to &quot;rewind&quot; topics to a specific message and begin reading there. The reader interface provides Pulsar clients with the low-level abstraction necessary to &quot;manually position&quot; themselves within a t [...]
-<p><img src="/docs/assets/pulsar-reader-consumer-interfaces.png" alt="The Pulsar consumer and reader interfaces"></p>
+<p><img src="/staging/docs/assets/pulsar-reader-consumer-interfaces.png" alt="The Pulsar consumer and reader interfaces"></p>
 <blockquote>
 <h3><a class="anchor" aria-hidden="true" id="non-partitioned-topics-only"></a><a href="#non-partitioned-topics-only" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 1 [...]
 <p>The reader interface for Pulsar cannot currently be used with <a href="#partitioned-topics">partitioned topics</a>.</p>
@@ -498,7 +498,7 @@ Reader&lt;<span class="hljs-keyword">byte</span>[]&gt; reader = pulsarClient.new
 <h2><a class="anchor" aria-hidden="true" id="tiered-storage"></a><a href="#tiered-storage" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
 <p>Pulsar's segment oriented architecture allows for topic backlogs to grow very large, effectively without limit. However, this can become expensive over time.</p>
 <p>One way to alleviate this cost is to use Tiered Storage. With tiered storage, older messages in the backlog can be moved from bookkeeper to a cheaper storage mechanism, while still allowing clients to access the backlog as if nothing had changed.</p>
-<p><img src="/docs/assets/pulsar-tiered-storage.png" alt="Tiered Storage"></p>
+<p><img src="/staging/docs/assets/pulsar-tiered-storage.png" alt="Tiered Storage"></p>
 <blockquote>
 <p>Data written to bookkeeper is replicated to 3 physical machines by default. However, once a segment is sealed in bookkeeper is becomes immutable and can be copied to long term storage. Long term storage can achieve cost savings by using mechanisms such as <a href="https://en.wikipedia.org/wiki/Reed%E2%80%93Solomon_error_correction">Reed-Solomon error correction</a> to require fewer physical copies of data.</p>
 </blockquote>
@@ -519,7 +519,7 @@ Reader&lt;<span class="hljs-keyword">byte</span>[]&gt; reader = pulsarClient.new
 <li><strong>Sinks</strong> are fed data <em>from</em> Pulsar. Common sinks include other messaging systems and SQL and NoSQL databases.</li>
 </ul>
 <p>This diagram illustrates the relationship between sources, sinks, and Pulsar:</p>
-<p><img src="/docs/assets/pulsar-io.png" alt="Pulsar IO diagram" title="Pulsar IO connectors (sources and sinks)"></p>
+<p><img src="/staging/docs/assets/pulsar-io.png" alt="Pulsar IO diagram" title="Pulsar IO connectors (sources and sinks)"></p>
 <h3><a class="anchor" aria-hidden="true" id="working-with-connectors"></a><a href="#working-with-connectors" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 [...]
 <p>Pulsar IO connectors can be managed via the <a href="/staging/docs/pulsar-admin"><code>pulsar-admin</code></a> CLI tool, in particular the <a href="/staging/docs/pulsar-admin#source"><code>source</code></a> and <a href="/staging/docs/pulsar-admin#cooks"><code>sink</code></a> commands.</p>
 <blockquote>
@@ -650,4 +650,11 @@ Producer&lt;SensorReading&gt; producer = client.newProducer(JSONSchema.of(Sensor
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/cookbooks-compaction.html b/content/staging/docs/cookbooks-compaction.html
index 85a4c0b..5030611 100644
--- a/content/staging/docs/cookbooks-compaction.html
+++ b/content/staging/docs/cookbooks-compaction.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Topic compaction · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar&#x27;s [topic compaction](/staging/docs/concepts-architecture#compaction) feature enables you to create **compacted** topics in which older, &quot;obscured&quot; entries are pruned from the top [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Topic compaction · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar&#x27;s [topic compaction](/staging/docs/concepts-architecture#compaction) feature enables you to create **compacted** topics in which older, &quot;obscured&quot; entries are pruned from the top [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -157,4 +157,11 @@ compactedTopicProducer.send(msg);
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/cookbooks-compaction/index.html b/content/staging/docs/cookbooks-compaction/index.html
index 85a4c0b..5030611 100644
--- a/content/staging/docs/cookbooks-compaction/index.html
+++ b/content/staging/docs/cookbooks-compaction/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Topic compaction · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar&#x27;s [topic compaction](/staging/docs/concepts-architecture#compaction) feature enables you to create **compacted** topics in which older, &quot;obscured&quot; entries are pruned from the top [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Topic compaction · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar&#x27;s [topic compaction](/staging/docs/concepts-architecture#compaction) feature enables you to create **compacted** topics in which older, &quot;obscured&quot; entries are pruned from the top [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -157,4 +157,11 @@ compactedTopicProducer.send(msg);
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/cookbooks-deduplication.html b/content/staging/docs/cookbooks-deduplication.html
index b7bc6c6..c0ce0a9 100644
--- a/content/staging/docs/cookbooks-deduplication.html
+++ b/content/staging/docs/cookbooks-deduplication.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Message deduplication · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="**Message deduplication** is a feature of Pulsar that, when enabled, ensures that each message produced on Pulsar topics is persisted to disk *only once*, even if the message is produced more tha [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Message deduplication · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="**Message deduplication** is a feature of Pulsar that, when enabled, ensures that each message produced on Pulsar topics is persisted to disk *only once*, even if the message is produced more tha [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -153,4 +153,11 @@ Result result = client.createProducer(topic, producerConfig, producer);
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/cookbooks-deduplication/index.html b/content/staging/docs/cookbooks-deduplication/index.html
index b7bc6c6..c0ce0a9 100644
--- a/content/staging/docs/cookbooks-deduplication/index.html
+++ b/content/staging/docs/cookbooks-deduplication/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Message deduplication · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="**Message deduplication** is a feature of Pulsar that, when enabled, ensures that each message produced on Pulsar topics is persisted to disk *only once*, even if the message is produced more tha [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Message deduplication · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="**Message deduplication** is a feature of Pulsar that, when enabled, ensures that each message produced on Pulsar topics is persisted to disk *only once*, even if the message is produced more tha [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -153,4 +153,11 @@ Result result = client.createProducer(topic, producerConfig, producer);
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/cookbooks-encryption.html b/content/staging/docs/cookbooks-encryption.html
index b2753fa..b878040 100644
--- a/content/staging/docs/cookbooks-encryption.html
+++ b/content/staging/docs/cookbooks-encryption.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar Encryption · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar encryption allows applications to encrypt messages at the producer and decrypt at the consumer. Encryption is performed using the public/private key pair configured by the application. Encrypt [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar Encryption · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar encryption allows applications to encrypt messages at the producer and decrypt at the consumer. Encryption is performed using the public/private key pair configured by the application. Encrypt [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -29,9 +29,9 @@
 <p>A message can be encrypted with more than one key.  Any one of the keys used for encrypting the message is sufficient to decrypt the message</p>
 <p>Pulsar does not store the encryption key anywhere in the pulsar service. If you lose/delete the private key, your message is irretrievably lost, and is unrecoverable</p>
 <h2><a class="anchor" aria-hidden="true" id="producer"></a><a href="#producer" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64  [...]
-<p><img src="/docs/assets/pulsar-encryption-producer.jpg" alt="alt text" title="Pulsar Encryption Producer"></p>
+<p><img src="/staging/docs/assets/pulsar-encryption-producer.jpg" alt="alt text" title="Pulsar Encryption Producer"></p>
 <h2><a class="anchor" aria-hidden="true" id="consumer"></a><a href="#consumer" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64  [...]
-<p><img src="/docs/assets/pulsar-encryption-consumer.jpg" alt="alt text" title="Pulsar Encryption Consumer"></p>
+<p><img src="/staging/docs/assets/pulsar-encryption-consumer.jpg" alt="alt text" title="Pulsar Encryption Consumer"></p>
 <h2><a class="anchor" aria-hidden="true" id="here-are-the-steps-to-get-started"></a><a href="#here-are-the-steps-to-get-started" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S1 [...]
 <ol>
 <li>Create your ECDSA or RSA public/private key pair.</li>
@@ -220,4 +220,11 @@ Application will never be able to decrypt the messages if the private key is per
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/cookbooks-encryption/index.html b/content/staging/docs/cookbooks-encryption/index.html
index b2753fa..b878040 100644
--- a/content/staging/docs/cookbooks-encryption/index.html
+++ b/content/staging/docs/cookbooks-encryption/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar Encryption · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar encryption allows applications to encrypt messages at the producer and decrypt at the consumer. Encryption is performed using the public/private key pair configured by the application. Encrypt [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar Encryption · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar encryption allows applications to encrypt messages at the producer and decrypt at the consumer. Encryption is performed using the public/private key pair configured by the application. Encrypt [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -29,9 +29,9 @@
 <p>A message can be encrypted with more than one key.  Any one of the keys used for encrypting the message is sufficient to decrypt the message</p>
 <p>Pulsar does not store the encryption key anywhere in the pulsar service. If you lose/delete the private key, your message is irretrievably lost, and is unrecoverable</p>
 <h2><a class="anchor" aria-hidden="true" id="producer"></a><a href="#producer" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64  [...]
-<p><img src="/docs/assets/pulsar-encryption-producer.jpg" alt="alt text" title="Pulsar Encryption Producer"></p>
+<p><img src="/staging/docs/assets/pulsar-encryption-producer.jpg" alt="alt text" title="Pulsar Encryption Producer"></p>
 <h2><a class="anchor" aria-hidden="true" id="consumer"></a><a href="#consumer" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64  [...]
-<p><img src="/docs/assets/pulsar-encryption-consumer.jpg" alt="alt text" title="Pulsar Encryption Consumer"></p>
+<p><img src="/staging/docs/assets/pulsar-encryption-consumer.jpg" alt="alt text" title="Pulsar Encryption Consumer"></p>
 <h2><a class="anchor" aria-hidden="true" id="here-are-the-steps-to-get-started"></a><a href="#here-are-the-steps-to-get-started" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S1 [...]
 <ol>
 <li>Create your ECDSA or RSA public/private key pair.</li>
@@ -220,4 +220,11 @@ Application will never be able to decrypt the messages if the private key is per
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/cookbooks-message-queue.html b/content/staging/docs/cookbooks-message-queue.html
index 9492a86..eac11b8 100644
--- a/content/staging/docs/cookbooks-message-queue.html
+++ b/content/staging/docs/cookbooks-message-queue.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Using Pulsar as a message queue · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Message queues are essential components of many large-scale data architectures. If every single work object that passes through your system absolutely *must* be processed in spite of th [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Using Pulsar as a message queue · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Message queues are essential components of many large-scale data architectures. If every single work object that passes through your system absolutely *must* be processed in spite of th [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -137,4 +137,11 @@ Result result = client.subscribe(topic, subscription, consumerConfig, consumer);
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/cookbooks-message-queue/index.html b/content/staging/docs/cookbooks-message-queue/index.html
index 9492a86..eac11b8 100644
--- a/content/staging/docs/cookbooks-message-queue/index.html
+++ b/content/staging/docs/cookbooks-message-queue/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Using Pulsar as a message queue · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Message queues are essential components of many large-scale data architectures. If every single work object that passes through your system absolutely *must* be processed in spite of th [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Using Pulsar as a message queue · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Message queues are essential components of many large-scale data architectures. If every single work object that passes through your system absolutely *must* be processed in spite of th [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -137,4 +137,11 @@ Result result = client.subscribe(topic, subscription, consumerConfig, consumer);
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/cookbooks-non-persistent.html b/content/staging/docs/cookbooks-non-persistent.html
index 6afe1e0..270a652 100644
--- a/content/staging/docs/cookbooks-non-persistent.html
+++ b/content/staging/docs/cookbooks-non-persistent.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Non-persistent messaging · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="**Non-persistent topics** are Pulsar topics in which message data is *never* [persistently stored](/staging/docs/concepts-architecture#persistent-storage) and kept only in memory. This cookboo [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Non-persistent messaging · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="**Non-persistent topics** are Pulsar topics in which message data is *never* [persistently stored](/staging/docs/concepts-architecture#persistent-storage) and kept only in memory. This cookboo [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -102,4 +102,11 @@
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/cookbooks-non-persistent/index.html b/content/staging/docs/cookbooks-non-persistent/index.html
index 6afe1e0..270a652 100644
--- a/content/staging/docs/cookbooks-non-persistent/index.html
+++ b/content/staging/docs/cookbooks-non-persistent/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Non-persistent messaging · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="**Non-persistent topics** are Pulsar topics in which message data is *never* [persistently stored](/staging/docs/concepts-architecture#persistent-storage) and kept only in memory. This cookboo [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Non-persistent messaging · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="**Non-persistent topics** are Pulsar topics in which message data is *never* [persistently stored](/staging/docs/concepts-architecture#persistent-storage) and kept only in memory. This cookboo [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -102,4 +102,11 @@
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/cookbooks-partitioned.html b/content/staging/docs/cookbooks-partitioned.html
index b7988d4..d11af0c 100644
--- a/content/staging/docs/cookbooks-partitioned.html
+++ b/content/staging/docs/cookbooks-partitioned.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Non-persistent messaging · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="By default, Pulsar topics are served by a single broker. Using only a single broker, however, limits a topic&#x27;s maximum throughput. *Partitioned topics* are a special type of topic that ca [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Non-persistent messaging · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="By default, Pulsar topics are served by a single broker. Using only a single broker, however, limits a topic&#x27;s maximum throughput. *Partitioned topics* are a special type of topic that ca [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -116,4 +116,11 @@ producer.send(<span class="hljs-string">"Partitioned topic message"</span>.getBy
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/cookbooks-partitioned/index.html b/content/staging/docs/cookbooks-partitioned/index.html
index b7988d4..d11af0c 100644
--- a/content/staging/docs/cookbooks-partitioned/index.html
+++ b/content/staging/docs/cookbooks-partitioned/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Non-persistent messaging · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="By default, Pulsar topics are served by a single broker. Using only a single broker, however, limits a topic&#x27;s maximum throughput. *Partitioned topics* are a special type of topic that ca [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Non-persistent messaging · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="By default, Pulsar topics are served by a single broker. Using only a single broker, however, limits a topic&#x27;s maximum throughput. *Partitioned topics* are a special type of topic that ca [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -116,4 +116,11 @@ producer.send(<span class="hljs-string">"Partitioned topic message"</span>.getBy
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/cookbooks-retention-expiry.html b/content/staging/docs/cookbooks-retention-expiry.html
index 9fb7555..05fac23 100644
--- a/content/staging/docs/cookbooks-retention-expiry.html
+++ b/content/staging/docs/cookbooks-retention-expiry.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Message retention and expiry · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar brokers are responsible for handling messages that pass through Pulsar, including [persistent storage](/staging/docs/concepts-architecture#persistent-storage) of messages. By defaul [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Message retention and expiry · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar brokers are responsible for handling messages that pass through Pulsar, including [persistent storage](/staging/docs/concepts-architecture#persistent-storage) of messages. By defaul [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -253,4 +253,11 @@ admin.namespaces().setBacklogQuota(namespace, quota);
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/cookbooks-retention-expiry/index.html b/content/staging/docs/cookbooks-retention-expiry/index.html
index 9fb7555..05fac23 100644
--- a/content/staging/docs/cookbooks-retention-expiry/index.html
+++ b/content/staging/docs/cookbooks-retention-expiry/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Message retention and expiry · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar brokers are responsible for handling messages that pass through Pulsar, including [persistent storage](/staging/docs/concepts-architecture#persistent-storage) of messages. By defaul [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Message retention and expiry · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar brokers are responsible for handling messages that pass through Pulsar, including [persistent storage](/staging/docs/concepts-architecture#persistent-storage) of messages. By defaul [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -253,4 +253,11 @@ admin.namespaces().setBacklogQuota(namespace, quota);
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/cookbooks-tiered-storage.html b/content/staging/docs/cookbooks-tiered-storage.html
index bb644a9..af214d3 100644
--- a/content/staging/docs/cookbooks-tiered-storage.html
+++ b/content/staging/docs/cookbooks-tiered-storage.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Tiered Storage · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="lsar&#x27;s **Tiered Storage** feature allows older backlog data to be offloaded to long term storage, thereby freeing up space in BookKeeper and reducing storage costs. This cookbook walks you through  [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Tiered Storage · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="lsar&#x27;s **Tiered Storage** feature allows older backlog data to be offloaded to long term storage, thereby freeing up space in BookKeeper and reducing storage costs. This cookbook walks you through  [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -26,7 +26,7 @@
 <p>Tiered storage should be used when you have a topic for which you want to keep a very long backlog for a long time. For example, if you have a topic containing user actions which you use to train your recommendation systems, you may want to keep that data for a long time, so that if you change your recommendation algorithm you can rerun it against your full user history.</p>
 <h2><a class="anchor" aria-hidden="true" id="the-offloading-mechanism"></a><a href="#the-offloading-mechanism" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-. [...]
 <p>A topic in Pulsar is backed by a log, known as a managed ledger. This log is composed of an ordered list of segments. Pulsar only every writes to the final segment of the log. All previous segments are sealed. The data within the segment is immutable. This is known as a segment oriented architecture.</p>
-<p><img src="/docs/assets/pulsar-tiered-storage.png" alt="Tiered storage" title="Tiered Storage"></p>
+<p><img src="/staging/docs/assets/pulsar-tiered-storage.png" alt="Tiered storage" title="Tiered Storage"></p>
 <p>{% include figure.html src=&quot;/img/pulsar-tiered-storage.png&quot; alt=&quot;Tiered Storage&quot; width=&quot;80&quot; %}</p>
 <p>The Tiered Storage offloading mechanism takes advantage of this segment oriented architecture. When offloading is requested, the segments of the log are copied, one-by-one, to tiered storage. All segments of the log, apart from the segment currently being written to can be offloaded.</p>
 <h2><a class="anchor" aria-hidden="true" id="amazon-s3"></a><a href="#amazon-s3" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.6 [...]
@@ -155,4 +155,11 @@ Reason: Error offloading: org.apache.bookkeeper.mledger.ManagedLedgerException:
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/cookbooks-tiered-storage/index.html b/content/staging/docs/cookbooks-tiered-storage/index.html
index bb644a9..af214d3 100644
--- a/content/staging/docs/cookbooks-tiered-storage/index.html
+++ b/content/staging/docs/cookbooks-tiered-storage/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Tiered Storage · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="lsar&#x27;s **Tiered Storage** feature allows older backlog data to be offloaded to long term storage, thereby freeing up space in BookKeeper and reducing storage costs. This cookbook walks you through  [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Tiered Storage · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="lsar&#x27;s **Tiered Storage** feature allows older backlog data to be offloaded to long term storage, thereby freeing up space in BookKeeper and reducing storage costs. This cookbook walks you through  [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -26,7 +26,7 @@
 <p>Tiered storage should be used when you have a topic for which you want to keep a very long backlog for a long time. For example, if you have a topic containing user actions which you use to train your recommendation systems, you may want to keep that data for a long time, so that if you change your recommendation algorithm you can rerun it against your full user history.</p>
 <h2><a class="anchor" aria-hidden="true" id="the-offloading-mechanism"></a><a href="#the-offloading-mechanism" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-. [...]
 <p>A topic in Pulsar is backed by a log, known as a managed ledger. This log is composed of an ordered list of segments. Pulsar only every writes to the final segment of the log. All previous segments are sealed. The data within the segment is immutable. This is known as a segment oriented architecture.</p>
-<p><img src="/docs/assets/pulsar-tiered-storage.png" alt="Tiered storage" title="Tiered Storage"></p>
+<p><img src="/staging/docs/assets/pulsar-tiered-storage.png" alt="Tiered storage" title="Tiered Storage"></p>
 <p>{% include figure.html src=&quot;/img/pulsar-tiered-storage.png&quot; alt=&quot;Tiered Storage&quot; width=&quot;80&quot; %}</p>
 <p>The Tiered Storage offloading mechanism takes advantage of this segment oriented architecture. When offloading is requested, the segments of the log are copied, one-by-one, to tiered storage. All segments of the log, apart from the segment currently being written to can be offloaded.</p>
 <h2><a class="anchor" aria-hidden="true" id="amazon-s3"></a><a href="#amazon-s3" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.6 [...]
@@ -155,4 +155,11 @@ Reason: Error offloading: org.apache.bookkeeper.mledger.ManagedLedgerException:
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/deploy-aws.html b/content/staging/docs/deploy-aws.html
index fe5f3e6..43031ed 100644
--- a/content/staging/docs/deploy-aws.html
+++ b/content/staging/docs/deploy-aws.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Deploying a Pulsar cluster on AWS using Terraform and Ansible · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&gt; For instructions on deploying a single Pulsar cluster manually rather than using Terraform and Ansible, see [Deploying a Pulsar cluster on bare metal] [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Deploying a Pulsar cluster on AWS using Terraform and Ansible · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&gt; For instructions on deploying a single Pulsar cluster manually rather than using Terraform and Ansible, see [Deploying a Pulsar cluster on bare metal] [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -185,4 +185,11 @@ id_rsa               id_rsa.pub
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/deploy-aws/index.html b/content/staging/docs/deploy-aws/index.html
index fe5f3e6..43031ed 100644
--- a/content/staging/docs/deploy-aws/index.html
+++ b/content/staging/docs/deploy-aws/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Deploying a Pulsar cluster on AWS using Terraform and Ansible · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&gt; For instructions on deploying a single Pulsar cluster manually rather than using Terraform and Ansible, see [Deploying a Pulsar cluster on bare metal] [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Deploying a Pulsar cluster on AWS using Terraform and Ansible · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&gt; For instructions on deploying a single Pulsar cluster manually rather than using Terraform and Ansible, see [Deploying a Pulsar cluster on bare metal] [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -185,4 +185,11 @@ id_rsa               id_rsa.pub
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/deploy-bare-metal-multi-cluster.html b/content/staging/docs/deploy-bare-metal-multi-cluster.html
index f2ee303..d63db52 100644
--- a/content/staging/docs/deploy-bare-metal-multi-cluster.html
+++ b/content/staging/docs/deploy-bare-metal-multi-cluster.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Deploying a multi-cluster on bare metal · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&gt; Single-cluster Pulsar installations should be sufficient for all but the most ambitious use cases. If you&#x27;re interested in experimenting with Pulsar or using it in a s [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Deploying a multi-cluster on bare metal · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&gt; Single-cluster Pulsar installations should be sufficient for all but the most ambitious use cases. If you&#x27;re interested in experimenting with Pulsar or using it in a s [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -329,4 +329,11 @@ for messages:</p>
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/deploy-bare-metal-multi-cluster/index.html b/content/staging/docs/deploy-bare-metal-multi-cluster/index.html
index f2ee303..d63db52 100644
--- a/content/staging/docs/deploy-bare-metal-multi-cluster/index.html
+++ b/content/staging/docs/deploy-bare-metal-multi-cluster/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Deploying a multi-cluster on bare metal · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&gt; Single-cluster Pulsar installations should be sufficient for all but the most ambitious use cases. If you&#x27;re interested in experimenting with Pulsar or using it in a s [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Deploying a multi-cluster on bare metal · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&gt; Single-cluster Pulsar installations should be sufficient for all but the most ambitious use cases. If you&#x27;re interested in experimenting with Pulsar or using it in a s [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -329,4 +329,11 @@ for messages:</p>
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/deploy-bare-metal.html b/content/staging/docs/deploy-bare-metal.html
index 628a86f..51f22cf 100644
--- a/content/staging/docs/deploy-bare-metal.html
+++ b/content/staging/docs/deploy-bare-metal.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Deploying a cluster on bare metal · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&gt; Single-cluster Pulsar installations should be sufficient for all but the most ambitious use cases. If you&#x27;re interested in experimenting with Pulsar or using it in a startup [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Deploying a cluster on bare metal · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&gt; Single-cluster Pulsar installations should be sufficient for all but the most ambitious use cases. If you&#x27;re interested in experimenting with Pulsar or using it in a startup [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -43,7 +43,7 @@
 </ul>
 <p>Each machine in your cluster will need to have <a href="http://www.oracle.com/technetwork/java/javase/downloads/index.html">Java 8</a> or higher installed.</p>
 <p>Here's a diagram showing the basic setup:</p>
-<p><img src="/docs/assets/pulsar-basic-setup.png" alt="alt-text"></p>
+<p><img src="/staging/docs/assets/pulsar-basic-setup.png" alt="alt-text"></p>
 <p>In this diagram, connecting clients need to be able to communicate with the Pulsar cluster using a single URL, in this case <code>pulsar-cluster.acme.com</code>, that abstracts over all of the message-handling brokers. Pulsar message brokers run on machines alongside BookKeeper bookies; brokers and bookies, in turn, rely on ZooKeeper.</p>
 <h3><a class="anchor" aria-hidden="true" id="hardware-considerations"></a><a href="#hardware-considerations" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 [...]
 <p>When deploying a Pulsar cluster, we have some basic recommendations that you should keep in mind when capacity planning.</p>
@@ -225,4 +225,11 @@ brokerServiceurl=<span class="hljs-string">pulsar:</span><span class="hljs-comme
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/deploy-bare-metal/index.html b/content/staging/docs/deploy-bare-metal/index.html
index 628a86f..51f22cf 100644
--- a/content/staging/docs/deploy-bare-metal/index.html
+++ b/content/staging/docs/deploy-bare-metal/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Deploying a cluster on bare metal · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&gt; Single-cluster Pulsar installations should be sufficient for all but the most ambitious use cases. If you&#x27;re interested in experimenting with Pulsar or using it in a startup [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Deploying a cluster on bare metal · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&gt; Single-cluster Pulsar installations should be sufficient for all but the most ambitious use cases. If you&#x27;re interested in experimenting with Pulsar or using it in a startup [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -43,7 +43,7 @@
 </ul>
 <p>Each machine in your cluster will need to have <a href="http://www.oracle.com/technetwork/java/javase/downloads/index.html">Java 8</a> or higher installed.</p>
 <p>Here's a diagram showing the basic setup:</p>
-<p><img src="/docs/assets/pulsar-basic-setup.png" alt="alt-text"></p>
+<p><img src="/staging/docs/assets/pulsar-basic-setup.png" alt="alt-text"></p>
 <p>In this diagram, connecting clients need to be able to communicate with the Pulsar cluster using a single URL, in this case <code>pulsar-cluster.acme.com</code>, that abstracts over all of the message-handling brokers. Pulsar message brokers run on machines alongside BookKeeper bookies; brokers and bookies, in turn, rely on ZooKeeper.</p>
 <h3><a class="anchor" aria-hidden="true" id="hardware-considerations"></a><a href="#hardware-considerations" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 [...]
 <p>When deploying a Pulsar cluster, we have some basic recommendations that you should keep in mind when capacity planning.</p>
@@ -225,4 +225,11 @@ brokerServiceurl=<span class="hljs-string">pulsar:</span><span class="hljs-comme
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/deploy-dcos.html b/content/staging/docs/deploy-dcos.html
index c162b73..01e02a7 100644
--- a/content/staging/docs/deploy-dcos.html
+++ b/content/staging/docs/deploy-dcos.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Deploying Pulsar on DC/OS · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="[DC/OS](https://dcos.io/) (the &lt;strong&gt;D&lt;/strong&gt;ata&lt;strong&gt;C&lt;/strong&gt;enter &lt;strong&gt;O&lt;/strong&gt;perating &lt;strong&gt;S&lt;/strong&gt;ystem) is a distribute [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Deploying Pulsar on DC/OS · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="[DC/OS](https://dcos.io/) (the &lt;strong&gt;D&lt;/strong&gt;ata&lt;strong&gt;C&lt;/strong&gt;enter &lt;strong&gt;O&lt;/strong&gt;perating &lt;strong&gt;S&lt;/strong&gt;ystem) is a distribute [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -54,38 +54,38 @@
 <p>When running DC/OS, a ZooKeeper cluster is already running at <code>master.mesos:2181</code>, thus there's no need to install or start up ZooKeeper separately.</p>
 </blockquote>
 <p>After executing the <code>dcos</code> command above, click on the <strong>Services</strong> tab in the DC/OS <a href="https://docs.mesosphere.com/latest/gui/">GUI interface</a>, which you can access at <a href="http://m1.dcos">http://m1.dcos</a> in this example. You should see several applications in the process of deploying.</p>
-<p><img src="/docs/assets/dcos_command_execute.png" alt="DC/OS command executed"></p>
-<p><img src="/docs/assets/dcos_command_execute2.png" alt="DC/OS command executed2"></p>
+<p><img src="/staging/docs/assets/dcos_command_execute.png" alt="DC/OS command executed"></p>
+<p><img src="/staging/docs/assets/dcos_command_execute2.png" alt="DC/OS command executed2"></p>
 <h2><a class="anchor" aria-hidden="true" id="the-bookkeeper-group"></a><a href="#the-bookkeeper-group" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1 [...]
 <p>To monitor the status of the BookKeeper cluster deployment, click on the <strong>bookkeeper</strong> group in the parent <strong>pulsar</strong> group.</p>
-<p><img src="/docs/assets/dcos_bookkeeper_status.png" alt="DC/OS bookkeeper status"></p>
+<p><img src="/staging/docs/assets/dcos_bookkeeper_status.png" alt="DC/OS bookkeeper status"></p>
 <p>At this point, 3 {% popover bookies %} should be shown as green, which means that they have been deployed successfully and are now running.</p>
-<p><img src="/docs/assets/dcos_bookkeeper_run.png" alt="DC/OS bookkeeper running"></p>
+<p><img src="/staging/docs/assets/dcos_bookkeeper_run.png" alt="DC/OS bookkeeper running"></p>
 <p>You can also click into each bookie instance to get more detailed info, such as the bookie running log.</p>
-<p><img src="/docs/assets/dcos_bookie_log.png" alt="DC/OS bookie log"></p>
+<p><img src="/staging/docs/assets/dcos_bookie_log.png" alt="DC/OS bookie log"></p>
 <p>To display information about the BookKeeper in ZooKeeper, you can visit <a href="http://m1.dcos/exhibitor">http://m1.dcos/exhibitor</a>. In this example, there are 3 bookies under the <code>available</code> directory.</p>
-<p><img src="/docs/assets/dcos_bookkeeper_in_zookeeper.png" alt="DC/OS bookkeeper in zk"></p>
+<p><img src="/staging/docs/assets/dcos_bookkeeper_in_zookeeper.png" alt="DC/OS bookkeeper in zk"></p>
 <h2><a class="anchor" aria-hidden="true" id="the-pulsar-broker-group"></a><a href="#the-pulsar-broker-group" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 [...]
 <p>Similar to the BookKeeper group above, click into the <strong>brokers</strong> to check the status of the Pulsar brokers.</p>
-<p><img src="/docs/assets/dcos_broker_status.png" alt="DC/OS broker status"></p>
-<p><img src="/docs/assets/dcos_broker_run.png" alt="DC/OS broker running"></p>
+<p><img src="/staging/docs/assets/dcos_broker_status.png" alt="DC/OS broker status"></p>
+<p><img src="/staging/docs/assets/dcos_broker_run.png" alt="DC/OS broker running"></p>
 <p>You can also click into each broker instance to get more detailed info, such as the broker running log.</p>
-<p><img src="/docs/assets/dcos_broker_log.png" alt="DC/OS broker log"></p>
+<p><img src="/staging/docs/assets/dcos_broker_log.png" alt="DC/OS broker log"></p>
 <p>Broker cluster information in Zookeeper is also available through the web UI. In this example, you can see that that the <code>loadbalance</code> and <code>managed-ledgers</code> directories have been created.</p>
-<p><img src="/docs/assets/dcos_broker_in_zookeeper.png" alt="DC/OS broker in zk"></p>
+<p><img src="/staging/docs/assets/dcos_broker_in_zookeeper.png" alt="DC/OS broker in zk"></p>
 <h2><a class="anchor" aria-hidden="true" id="monitor-group"></a><a href="#monitor-group" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.8 [...]
 <p>The <strong>monitory</strong> group consists of Prometheus and Grafana.</p>
-<p><img src="/docs/assets/dcos_monitor_status.png" alt="DC/OS monitor status"></p>
+<p><img src="/staging/docs/assets/dcos_monitor_status.png" alt="DC/OS monitor status"></p>
 <h3><a class="anchor" aria-hidden="true" id="prometheus"></a><a href="#prometheus" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1 [...]
 <p>Click into the instance of <code>prom</code> to get the endpoint of Prometheus, which is <code>192.168.65.121:9090</code> in this example.</p>
-<p><img src="/docs/assets/dcos_prom_endpoint.png" alt="DC/OS prom endpoint"></p>
+<p><img src="/staging/docs/assets/dcos_prom_endpoint.png" alt="DC/OS prom endpoint"></p>
 <p>If you click that endpoint, you'll see the Prometheus dashboard. The <a href="http://192.168.65.121:9090/targets">http://192.168.65.121:9090/targets</a> URL will display all the bookies and brokers.</p>
-<p><img src="/docs/assets/dcos_prom_targets.png" alt="DC/OS prom targets"></p>
+<p><img src="/staging/docs/assets/dcos_prom_targets.png" alt="DC/OS prom targets"></p>
 <h3><a class="anchor" aria-hidden="true" id="grafana"></a><a href="#grafana" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1- [...]
 <p>Click into <code>grafana</code> to get the endpoint for Grafana, which is <code>192.168.65.121:3000</code> in this example.</p>
-<p><img src="/docs/assets/dcos_grafana_endpoint.png" alt="DC/OS grafana endpoint"></p>
+<p><img src="/staging/docs/assets/dcos_grafana_endpoint.png" alt="DC/OS grafana endpoint"></p>
 <p>If you click that endpoint, you can access the Grafana dashbaord.</p>
-<p><img src="/docs/assets/dcos_grafana_dashboard.png" alt="DC/OS grafana targets"></p>
+<p><img src="/staging/docs/assets/dcos_grafana_dashboard.png" alt="DC/OS grafana targets"></p>
 <h2><a class="anchor" aria-hidden="true" id="run-a-simple-pulsar-consumer-and-producer-on-dc-os"></a><a href="#run-a-simple-pulsar-consumer-and-producer-on-dc-os" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9  [...]
 <p>Now that we have a fully deployed Pulsar cluster, we can run a simple consumer and producer to show Pulsar on DC/OS in action.</p>
 <h3><a class="anchor" aria-hidden="true" id="download-and-prepare-the-pulsar-java-tutorial"></a><a href="#download-and-prepare-the-pulsar-java-tutorial" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h- [...]
@@ -106,16 +106,16 @@ The <code>pulsar://a1.dcos:6650</code> endpoint is for the broker service. Endpo
 <pre><code class="hljs css languages- bash">$ mvn <span class="hljs-built_in">exec</span>:java -Dexec.mainClass=<span class="hljs-string">"tutorial.ProducerTutorial"</span>
 </code></pre>
 <p>You can see the producer producing messages and the consumer consuming messages through the DC/OS GUI.</p>
-<p><img src="/docs/assets/dcos_producer.png" alt="DC/OS pulsar producer"></p>
-<p><img src="/docs/assets/dcos_consumer.png" alt="DC/OS pulsar consumer"></p>
+<p><img src="/staging/docs/assets/dcos_producer.png" alt="DC/OS pulsar producer"></p>
+<p><img src="/staging/docs/assets/dcos_consumer.png" alt="DC/OS pulsar consumer"></p>
 <h3><a class="anchor" aria-hidden="true" id="view-grafana-metric-output"></a><a href="#view-grafana-metric-output" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H [...]
 <p>While the producer and consumer are running, you can access running metrics information from Grafana.</p>
-<p><img src="/docs/assets/dcos_metrics.png" alt="DC/OS pulsar dashboard"></p>
+<p><img src="/staging/docs/assets/dcos_metrics.png" alt="DC/OS pulsar dashboard"></p>
 <h2><a class="anchor" aria-hidden="true" id="uninstall-pulsar"></a><a href="#uninstall-pulsar" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2. [...]
 <p>You can shut down and uninstall the <code>pulsar</code> application from DC/OS at any time in two ways:</p>
 <ol>
 <li><p>Using the DC/OS GUI, you can choose <strong>Delete</strong> at the right end of Pulsar group.</p>
-<p><img src="/docs/assets/dcos_uninstall.png" alt="DC/OS pulsar uninstall"></p></li>
+<p><img src="/staging/docs/assets/dcos_uninstall.png" alt="DC/OS pulsar uninstall"></p></li>
 <li><p>You can use the following command:</p>
 <pre><code class="hljs css languages- bash">$ dcos marathon group remove /pulsar
 </code></pre></li>
@@ -163,4 +163,11 @@ The <code>pulsar://a1.dcos:6650</code> endpoint is for the broker service. Endpo
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/deploy-dcos/index.html b/content/staging/docs/deploy-dcos/index.html
index c162b73..01e02a7 100644
--- a/content/staging/docs/deploy-dcos/index.html
+++ b/content/staging/docs/deploy-dcos/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Deploying Pulsar on DC/OS · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="[DC/OS](https://dcos.io/) (the &lt;strong&gt;D&lt;/strong&gt;ata&lt;strong&gt;C&lt;/strong&gt;enter &lt;strong&gt;O&lt;/strong&gt;perating &lt;strong&gt;S&lt;/strong&gt;ystem) is a distribute [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Deploying Pulsar on DC/OS · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="[DC/OS](https://dcos.io/) (the &lt;strong&gt;D&lt;/strong&gt;ata&lt;strong&gt;C&lt;/strong&gt;enter &lt;strong&gt;O&lt;/strong&gt;perating &lt;strong&gt;S&lt;/strong&gt;ystem) is a distribute [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -54,38 +54,38 @@
 <p>When running DC/OS, a ZooKeeper cluster is already running at <code>master.mesos:2181</code>, thus there's no need to install or start up ZooKeeper separately.</p>
 </blockquote>
 <p>After executing the <code>dcos</code> command above, click on the <strong>Services</strong> tab in the DC/OS <a href="https://docs.mesosphere.com/latest/gui/">GUI interface</a>, which you can access at <a href="http://m1.dcos">http://m1.dcos</a> in this example. You should see several applications in the process of deploying.</p>
-<p><img src="/docs/assets/dcos_command_execute.png" alt="DC/OS command executed"></p>
-<p><img src="/docs/assets/dcos_command_execute2.png" alt="DC/OS command executed2"></p>
+<p><img src="/staging/docs/assets/dcos_command_execute.png" alt="DC/OS command executed"></p>
+<p><img src="/staging/docs/assets/dcos_command_execute2.png" alt="DC/OS command executed2"></p>
 <h2><a class="anchor" aria-hidden="true" id="the-bookkeeper-group"></a><a href="#the-bookkeeper-group" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1 [...]
 <p>To monitor the status of the BookKeeper cluster deployment, click on the <strong>bookkeeper</strong> group in the parent <strong>pulsar</strong> group.</p>
-<p><img src="/docs/assets/dcos_bookkeeper_status.png" alt="DC/OS bookkeeper status"></p>
+<p><img src="/staging/docs/assets/dcos_bookkeeper_status.png" alt="DC/OS bookkeeper status"></p>
 <p>At this point, 3 {% popover bookies %} should be shown as green, which means that they have been deployed successfully and are now running.</p>
-<p><img src="/docs/assets/dcos_bookkeeper_run.png" alt="DC/OS bookkeeper running"></p>
+<p><img src="/staging/docs/assets/dcos_bookkeeper_run.png" alt="DC/OS bookkeeper running"></p>
 <p>You can also click into each bookie instance to get more detailed info, such as the bookie running log.</p>
-<p><img src="/docs/assets/dcos_bookie_log.png" alt="DC/OS bookie log"></p>
+<p><img src="/staging/docs/assets/dcos_bookie_log.png" alt="DC/OS bookie log"></p>
 <p>To display information about the BookKeeper in ZooKeeper, you can visit <a href="http://m1.dcos/exhibitor">http://m1.dcos/exhibitor</a>. In this example, there are 3 bookies under the <code>available</code> directory.</p>
-<p><img src="/docs/assets/dcos_bookkeeper_in_zookeeper.png" alt="DC/OS bookkeeper in zk"></p>
+<p><img src="/staging/docs/assets/dcos_bookkeeper_in_zookeeper.png" alt="DC/OS bookkeeper in zk"></p>
 <h2><a class="anchor" aria-hidden="true" id="the-pulsar-broker-group"></a><a href="#the-pulsar-broker-group" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 [...]
 <p>Similar to the BookKeeper group above, click into the <strong>brokers</strong> to check the status of the Pulsar brokers.</p>
-<p><img src="/docs/assets/dcos_broker_status.png" alt="DC/OS broker status"></p>
-<p><img src="/docs/assets/dcos_broker_run.png" alt="DC/OS broker running"></p>
+<p><img src="/staging/docs/assets/dcos_broker_status.png" alt="DC/OS broker status"></p>
+<p><img src="/staging/docs/assets/dcos_broker_run.png" alt="DC/OS broker running"></p>
 <p>You can also click into each broker instance to get more detailed info, such as the broker running log.</p>
-<p><img src="/docs/assets/dcos_broker_log.png" alt="DC/OS broker log"></p>
+<p><img src="/staging/docs/assets/dcos_broker_log.png" alt="DC/OS broker log"></p>
 <p>Broker cluster information in Zookeeper is also available through the web UI. In this example, you can see that that the <code>loadbalance</code> and <code>managed-ledgers</code> directories have been created.</p>
-<p><img src="/docs/assets/dcos_broker_in_zookeeper.png" alt="DC/OS broker in zk"></p>
+<p><img src="/staging/docs/assets/dcos_broker_in_zookeeper.png" alt="DC/OS broker in zk"></p>
 <h2><a class="anchor" aria-hidden="true" id="monitor-group"></a><a href="#monitor-group" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.8 [...]
 <p>The <strong>monitory</strong> group consists of Prometheus and Grafana.</p>
-<p><img src="/docs/assets/dcos_monitor_status.png" alt="DC/OS monitor status"></p>
+<p><img src="/staging/docs/assets/dcos_monitor_status.png" alt="DC/OS monitor status"></p>
 <h3><a class="anchor" aria-hidden="true" id="prometheus"></a><a href="#prometheus" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1 [...]
 <p>Click into the instance of <code>prom</code> to get the endpoint of Prometheus, which is <code>192.168.65.121:9090</code> in this example.</p>
-<p><img src="/docs/assets/dcos_prom_endpoint.png" alt="DC/OS prom endpoint"></p>
+<p><img src="/staging/docs/assets/dcos_prom_endpoint.png" alt="DC/OS prom endpoint"></p>
 <p>If you click that endpoint, you'll see the Prometheus dashboard. The <a href="http://192.168.65.121:9090/targets">http://192.168.65.121:9090/targets</a> URL will display all the bookies and brokers.</p>
-<p><img src="/docs/assets/dcos_prom_targets.png" alt="DC/OS prom targets"></p>
+<p><img src="/staging/docs/assets/dcos_prom_targets.png" alt="DC/OS prom targets"></p>
 <h3><a class="anchor" aria-hidden="true" id="grafana"></a><a href="#grafana" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1- [...]
 <p>Click into <code>grafana</code> to get the endpoint for Grafana, which is <code>192.168.65.121:3000</code> in this example.</p>
-<p><img src="/docs/assets/dcos_grafana_endpoint.png" alt="DC/OS grafana endpoint"></p>
+<p><img src="/staging/docs/assets/dcos_grafana_endpoint.png" alt="DC/OS grafana endpoint"></p>
 <p>If you click that endpoint, you can access the Grafana dashbaord.</p>
-<p><img src="/docs/assets/dcos_grafana_dashboard.png" alt="DC/OS grafana targets"></p>
+<p><img src="/staging/docs/assets/dcos_grafana_dashboard.png" alt="DC/OS grafana targets"></p>
 <h2><a class="anchor" aria-hidden="true" id="run-a-simple-pulsar-consumer-and-producer-on-dc-os"></a><a href="#run-a-simple-pulsar-consumer-and-producer-on-dc-os" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9  [...]
 <p>Now that we have a fully deployed Pulsar cluster, we can run a simple consumer and producer to show Pulsar on DC/OS in action.</p>
 <h3><a class="anchor" aria-hidden="true" id="download-and-prepare-the-pulsar-java-tutorial"></a><a href="#download-and-prepare-the-pulsar-java-tutorial" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h- [...]
@@ -106,16 +106,16 @@ The <code>pulsar://a1.dcos:6650</code> endpoint is for the broker service. Endpo
 <pre><code class="hljs css languages- bash">$ mvn <span class="hljs-built_in">exec</span>:java -Dexec.mainClass=<span class="hljs-string">"tutorial.ProducerTutorial"</span>
 </code></pre>
 <p>You can see the producer producing messages and the consumer consuming messages through the DC/OS GUI.</p>
-<p><img src="/docs/assets/dcos_producer.png" alt="DC/OS pulsar producer"></p>
-<p><img src="/docs/assets/dcos_consumer.png" alt="DC/OS pulsar consumer"></p>
+<p><img src="/staging/docs/assets/dcos_producer.png" alt="DC/OS pulsar producer"></p>
+<p><img src="/staging/docs/assets/dcos_consumer.png" alt="DC/OS pulsar consumer"></p>
 <h3><a class="anchor" aria-hidden="true" id="view-grafana-metric-output"></a><a href="#view-grafana-metric-output" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H [...]
 <p>While the producer and consumer are running, you can access running metrics information from Grafana.</p>
-<p><img src="/docs/assets/dcos_metrics.png" alt="DC/OS pulsar dashboard"></p>
+<p><img src="/staging/docs/assets/dcos_metrics.png" alt="DC/OS pulsar dashboard"></p>
 <h2><a class="anchor" aria-hidden="true" id="uninstall-pulsar"></a><a href="#uninstall-pulsar" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2. [...]
 <p>You can shut down and uninstall the <code>pulsar</code> application from DC/OS at any time in two ways:</p>
 <ol>
 <li><p>Using the DC/OS GUI, you can choose <strong>Delete</strong> at the right end of Pulsar group.</p>
-<p><img src="/docs/assets/dcos_uninstall.png" alt="DC/OS pulsar uninstall"></p></li>
+<p><img src="/staging/docs/assets/dcos_uninstall.png" alt="DC/OS pulsar uninstall"></p></li>
 <li><p>You can use the following command:</p>
 <pre><code class="hljs css languages- bash">$ dcos marathon group remove /pulsar
 </code></pre></li>
@@ -163,4 +163,11 @@ The <code>pulsar://a1.dcos:6650</code> endpoint is for the broker service. Endpo
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/deploy-kubernetes.html b/content/staging/docs/deploy-kubernetes.html
index 7efbe3f..f5cc353 100644
--- a/content/staging/docs/deploy-kubernetes.html
+++ b/content/staging/docs/deploy-kubernetes.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Deploying Pulsar on Kubernetes · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar can be easily deployed in [Kubernetes](https://kubernetes.io/) clusters, either in managed clusters on [Google Kubernetes Engine](#pulsar-on-google-kubernetes-engine) or [Amazon W [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Deploying Pulsar on Kubernetes · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar can be easily deployed in [Kubernetes](https://kubernetes.io/) clusters, either in managed clusters on [Google Kubernetes Engine](#pulsar-on-google-kubernetes-engine) or [Amazon W [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -256,4 +256,11 @@ ns
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/deploy-kubernetes/index.html b/content/staging/docs/deploy-kubernetes/index.html
index 7efbe3f..f5cc353 100644
--- a/content/staging/docs/deploy-kubernetes/index.html
+++ b/content/staging/docs/deploy-kubernetes/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Deploying Pulsar on Kubernetes · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar can be easily deployed in [Kubernetes](https://kubernetes.io/) clusters, either in managed clusters on [Google Kubernetes Engine](#pulsar-on-google-kubernetes-engine) or [Amazon W [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Deploying Pulsar on Kubernetes · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar can be easily deployed in [Kubernetes](https://kubernetes.io/) clusters, either in managed clusters on [Google Kubernetes Engine](#pulsar-on-google-kubernetes-engine) or [Amazon W [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -256,4 +256,11 @@ ns
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/deploy-monitoring.html b/content/staging/docs/deploy-monitoring.html
index 4b1b74a..1ab967f 100644
--- a/content/staging/docs/deploy-monitoring.html
+++ b/content/staging/docs/deploy-monitoring.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Monitoring · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="There are different ways to monitor a Pulsar cluster, exposing both metrics relative to the usage of topics and the overall health of the individual components of the cluster."/><meta name="docsearch:langua [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Monitoring · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="There are different ways to monitor a Pulsar cluster, exposing both metrics relative to the usage of topics and the overall health of the individual components of the cluster."/><meta name="docsearch:langua [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -119,4 +119,11 @@ in place. This is enabled by default when deploying Pulsar on Kubernetes.</p>
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/deploy-monitoring/index.html b/content/staging/docs/deploy-monitoring/index.html
index 4b1b74a..1ab967f 100644
--- a/content/staging/docs/deploy-monitoring/index.html
+++ b/content/staging/docs/deploy-monitoring/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Monitoring · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="There are different ways to monitor a Pulsar cluster, exposing both metrics relative to the usage of topics and the overall health of the individual components of the cluster."/><meta name="docsearch:langua [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Monitoring · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="There are different ways to monitor a Pulsar cluster, exposing both metrics relative to the usage of topics and the overall health of the individual components of the cluster."/><meta name="docsearch:langua [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -119,4 +119,11 @@ in place. This is enabled by default when deploying Pulsar on Kubernetes.</p>
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/develop-binary-protocol.html b/content/staging/docs/develop-binary-protocol.html
index f5c5162..a0191d5 100644
--- a/content/staging/docs/develop-binary-protocol.html
+++ b/content/staging/docs/develop-binary-protocol.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar binary protocol specification · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar uses a custom binary protocol for communications between producers/consumers and brokers. This protocol is designed to support required features, such as acknowledgements an [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar binary protocol specification · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar uses a custom binary protocol for communications between producers/consumers and brokers. This protocol is designed to support required features, such as acknowledgements an [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -117,7 +117,7 @@ object.</p>
 <h3><a class="anchor" aria-hidden="true" id="connection-establishment"></a><a href="#connection-establishment" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-. [...]
 <p>After opening a TCP connection to a broker, typically on port 6650, the client
 is responsible to initiate the session.</p>
-<p><img src="/docs/assets/binary-protocol-connect.png" alt="Connect interaction"></p>
+<p><img src="/staging/docs/assets/binary-protocol-connect.png" alt="Connect interaction"></p>
 <p>After receiving a <code>Connected</code> response from the broker, the client can
 consider the connection ready to use. Alternatively, if the broker doesn't
 validate the client authentication, it will reply with an <code>Error</code> command and
@@ -169,7 +169,7 @@ a producer, the broker will first verify that this particular client is
 authorized to publish on the topic.</p>
 <p>Once the client gets confirmation of the producer creation, it can publish
 messages to the broker, referring to the producer id negotiated before.</p>
-<p><img src="/docs/assets/binary-protocol-producer.png" alt="Producer interaction"></p>
+<p><img src="/staging/docs/assets/binary-protocol-producer.png" alt="Producer interaction"></p>
 <h5><a class="anchor" aria-hidden="true" id="command-producer"></a><a href="#command-producer" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2. [...]
 <pre><code class="hljs css languages- protobuf"><span class="hljs-class"><span class="hljs-keyword">message</span> <span class="hljs-title">CommandProducer</span> </span>{
   <span class="hljs-string">"topic"</span> : <span class="hljs-string">"persistent://my-property/my-cluster/my-namespace/my-topic"</span>,
@@ -261,7 +261,7 @@ connection is not affected.</p>
 <p>A consumer is used to attach to a subscription and consume messages from it.
 After every reconnection, a client needs to subscribe to the topic. If a
 subscription is not already there, a new one will be created.</p>
-<p><img src="/docs/assets/binary-protocol-consumer.png" alt="Consumer"></p>
+<p><img src="/staging/docs/assets/binary-protocol-consumer.png" alt="Consumer"></p>
 <h4><a class="anchor" aria-hidden="true" id="flow-control"></a><a href="#flow-control" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
 <p>After the consumer is ready, the client needs to <em>give permission</em> to the
 broker to push messages. This is done with the <code>Flow</code> command.</p>
@@ -399,7 +399,7 @@ running at <code>pulsar://broker.example.com:6650</code></p>
 connect to, or a broker hostname to which retry the lookup.</p>
 <p>The <code>LookupTopic</code> command has to be used in a connection that has already
 gone through the <code>Connect</code> / <code>Connected</code> initial handshake.</p>
-<p><img src="/docs/assets/binary-protocol-topic-lookup.png" alt="Topic lookup"></p>
+<p><img src="/staging/docs/assets/binary-protocol-topic-lookup.png" alt="Topic lookup"></p>
 <pre><code class="hljs css languages- protobuf"><span class="hljs-class"><span class="hljs-keyword">message</span> <span class="hljs-title">CommandLookupTopic</span> </span>{
   <span class="hljs-string">"topic"</span> : <span class="hljs-string">"persistent://my-property/my-cluster/my-namespace/my-topic"</span>,
   <span class="hljs-string">"request_id"</span> : <span class="hljs-number">1</span>,
@@ -511,4 +511,11 @@ response will contain actual metadata.</p>
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/develop-binary-protocol/index.html b/content/staging/docs/develop-binary-protocol/index.html
index f5c5162..a0191d5 100644
--- a/content/staging/docs/develop-binary-protocol/index.html
+++ b/content/staging/docs/develop-binary-protocol/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar binary protocol specification · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar uses a custom binary protocol for communications between producers/consumers and brokers. This protocol is designed to support required features, such as acknowledgements an [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar binary protocol specification · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar uses a custom binary protocol for communications between producers/consumers and brokers. This protocol is designed to support required features, such as acknowledgements an [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -117,7 +117,7 @@ object.</p>
 <h3><a class="anchor" aria-hidden="true" id="connection-establishment"></a><a href="#connection-establishment" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-. [...]
 <p>After opening a TCP connection to a broker, typically on port 6650, the client
 is responsible to initiate the session.</p>
-<p><img src="/docs/assets/binary-protocol-connect.png" alt="Connect interaction"></p>
+<p><img src="/staging/docs/assets/binary-protocol-connect.png" alt="Connect interaction"></p>
 <p>After receiving a <code>Connected</code> response from the broker, the client can
 consider the connection ready to use. Alternatively, if the broker doesn't
 validate the client authentication, it will reply with an <code>Error</code> command and
@@ -169,7 +169,7 @@ a producer, the broker will first verify that this particular client is
 authorized to publish on the topic.</p>
 <p>Once the client gets confirmation of the producer creation, it can publish
 messages to the broker, referring to the producer id negotiated before.</p>
-<p><img src="/docs/assets/binary-protocol-producer.png" alt="Producer interaction"></p>
+<p><img src="/staging/docs/assets/binary-protocol-producer.png" alt="Producer interaction"></p>
 <h5><a class="anchor" aria-hidden="true" id="command-producer"></a><a href="#command-producer" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2. [...]
 <pre><code class="hljs css languages- protobuf"><span class="hljs-class"><span class="hljs-keyword">message</span> <span class="hljs-title">CommandProducer</span> </span>{
   <span class="hljs-string">"topic"</span> : <span class="hljs-string">"persistent://my-property/my-cluster/my-namespace/my-topic"</span>,
@@ -261,7 +261,7 @@ connection is not affected.</p>
 <p>A consumer is used to attach to a subscription and consume messages from it.
 After every reconnection, a client needs to subscribe to the topic. If a
 subscription is not already there, a new one will be created.</p>
-<p><img src="/docs/assets/binary-protocol-consumer.png" alt="Consumer"></p>
+<p><img src="/staging/docs/assets/binary-protocol-consumer.png" alt="Consumer"></p>
 <h4><a class="anchor" aria-hidden="true" id="flow-control"></a><a href="#flow-control" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
 <p>After the consumer is ready, the client needs to <em>give permission</em> to the
 broker to push messages. This is done with the <code>Flow</code> command.</p>
@@ -399,7 +399,7 @@ running at <code>pulsar://broker.example.com:6650</code></p>
 connect to, or a broker hostname to which retry the lookup.</p>
 <p>The <code>LookupTopic</code> command has to be used in a connection that has already
 gone through the <code>Connect</code> / <code>Connected</code> initial handshake.</p>
-<p><img src="/docs/assets/binary-protocol-topic-lookup.png" alt="Topic lookup"></p>
+<p><img src="/staging/docs/assets/binary-protocol-topic-lookup.png" alt="Topic lookup"></p>
 <pre><code class="hljs css languages- protobuf"><span class="hljs-class"><span class="hljs-keyword">message</span> <span class="hljs-title">CommandLookupTopic</span> </span>{
   <span class="hljs-string">"topic"</span> : <span class="hljs-string">"persistent://my-property/my-cluster/my-namespace/my-topic"</span>,
   <span class="hljs-string">"request_id"</span> : <span class="hljs-number">1</span>,
@@ -511,4 +511,11 @@ response will contain actual metadata.</p>
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/develop-codebase.html b/content/staging/docs/develop-codebase.html
index 0b094a0..0e5ccfe 100644
--- a/content/staging/docs/develop-codebase.html
+++ b/content/staging/docs/develop-codebase.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>The Pulsar codebase · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="The panels below describe some of the core directories in the [Pulsar codebase](https://github.com/apache/incubator-pulsar)."/><meta name="docsearch:language" content="en"/><meta property="og:title [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>The Pulsar codebase · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="The panels below describe some of the core directories in the [Pulsar codebase](https://github.com/apache/incubator-pulsar)."/><meta name="docsearch:language" content="en"/><meta property="og:title [...]
 <p>{% include codebase.html %}</p>
 </span></div></article></div><div class="docs-prevnext"></div></div></div><nav class="onPageNav"></nav></div><footer class="nav-footer" id="footer"><section class="copyright">Copyright © 2018 The Apache Software Foundation. All Rights Reserved. Apache, Apache Pulsar and the Apache feather logo are trademarks of The Apache Software Foundation.</section><span><script>
       const community = document.querySelector("a[href='#community']").parentNode;
@@ -43,4 +43,11 @@
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/develop-codebase/index.html b/content/staging/docs/develop-codebase/index.html
index 0b094a0..0e5ccfe 100644
--- a/content/staging/docs/develop-codebase/index.html
+++ b/content/staging/docs/develop-codebase/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>The Pulsar codebase · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="The panels below describe some of the core directories in the [Pulsar codebase](https://github.com/apache/incubator-pulsar)."/><meta name="docsearch:language" content="en"/><meta property="og:title [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>The Pulsar codebase · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="The panels below describe some of the core directories in the [Pulsar codebase](https://github.com/apache/incubator-pulsar)."/><meta name="docsearch:language" content="en"/><meta property="og:title [...]
 <p>{% include codebase.html %}</p>
 </span></div></article></div><div class="docs-prevnext"></div></div></div><nav class="onPageNav"></nav></div><footer class="nav-footer" id="footer"><section class="copyright">Copyright © 2018 The Apache Software Foundation. All Rights Reserved. Apache, Apache Pulsar and the Apache feather logo are trademarks of The Apache Software Foundation.</section><span><script>
       const community = document.querySelector("a[href='#community']").parentNode;
@@ -43,4 +43,11 @@
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/develop-cpp.html b/content/staging/docs/develop-cpp.html
index 09c7548..f7efa97 100644
--- a/content/staging/docs/develop-cpp.html
+++ b/content/staging/docs/develop-cpp.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Building Pulsar C++ client · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="## Supported platforms"/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Building Pulsar C++ client · Apache Pulsar"/><meta property="og:type" content="websi [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Building Pulsar C++ client · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="## Supported platforms"/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Building Pulsar C++ client · Apache Pulsar"/><meta property="og:type" content="websi [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -134,4 +134,11 @@ $</span><span class="bash"> <span class="hljs-built_in">cd</span> /usr/src/gmock
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/develop-cpp/index.html b/content/staging/docs/develop-cpp/index.html
index 09c7548..f7efa97 100644
--- a/content/staging/docs/develop-cpp/index.html
+++ b/content/staging/docs/develop-cpp/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Building Pulsar C++ client · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="## Supported platforms"/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Building Pulsar C++ client · Apache Pulsar"/><meta property="og:type" content="websi [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Building Pulsar C++ client · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="## Supported platforms"/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Building Pulsar C++ client · Apache Pulsar"/><meta property="og:type" content="websi [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -134,4 +134,11 @@ $</span><span class="bash"> <span class="hljs-built_in">cd</span> /usr/src/gmock
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/develop-load-manager.html b/content/staging/docs/develop-load-manager.html
index 139ed79..7bd193d 100644
--- a/content/staging/docs/develop-load-manager.html
+++ b/content/staging/docs/develop-load-manager.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Modular load manager · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="The *modular load manager*, implemented in  [`ModularLoadManagerImpl`](https://github.com/apache/incubator-pulsar/blob/master/pulsar-broker/src/main/java/org/apache/pulsar/broker/loadbalance/impl/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Modular load manager · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="The *modular load manager*, implemented in  [`ModularLoadManagerImpl`](https://github.com/apache/incubator-pulsar/blob/master/pulsar-broker/src/main/java/org/apache/pulsar/broker/loadbalance/impl/ [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -233,4 +233,11 @@ assigned.</p>
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/develop-load-manager/index.html b/content/staging/docs/develop-load-manager/index.html
index 139ed79..7bd193d 100644
--- a/content/staging/docs/develop-load-manager/index.html
+++ b/content/staging/docs/develop-load-manager/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Modular load manager · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="The *modular load manager*, implemented in  [`ModularLoadManagerImpl`](https://github.com/apache/incubator-pulsar/blob/master/pulsar-broker/src/main/java/org/apache/pulsar/broker/loadbalance/impl/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Modular load manager · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="The *modular load manager*, implemented in  [`ModularLoadManagerImpl`](https://github.com/apache/incubator-pulsar/blob/master/pulsar-broker/src/main/java/org/apache/pulsar/broker/loadbalance/impl/ [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -233,4 +233,11 @@ assigned.</p>
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/develop-schema.html b/content/staging/docs/develop-schema.html
index 12950c8..cc89dad 100644
--- a/content/staging/docs/develop-schema.html
+++ b/content/staging/docs/develop-schema.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Custom schema storage · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="By default, Pulsar stores data type [schemas](/staging/docs/concepts-architecture#schema-registry) in [Apache BookKeeper](https://bookkeeper.apache.org) (which is deployed alongside Pulsar). You  [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Custom schema storage · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="By default, Pulsar stores data type [schemas](/staging/docs/concepts-architecture#schema-registry) in [Apache BookKeeper](https://bookkeeper.apache.org) (which is deployed alongside Pulsar). You  [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -108,4 +108,11 @@
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/develop-schema/index.html b/content/staging/docs/develop-schema/index.html
index 12950c8..cc89dad 100644
--- a/content/staging/docs/develop-schema/index.html
+++ b/content/staging/docs/develop-schema/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Custom schema storage · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="By default, Pulsar stores data type [schemas](/staging/docs/concepts-architecture#schema-registry) in [Apache BookKeeper](https://bookkeeper.apache.org) (which is deployed alongside Pulsar). You  [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Custom schema storage · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="By default, Pulsar stores data type [schemas](/staging/docs/concepts-architecture#schema-registry) in [Apache BookKeeper](https://bookkeeper.apache.org) (which is deployed alongside Pulsar). You  [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -108,4 +108,11 @@
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/develop-tools.html b/content/staging/docs/develop-tools.html
index 10d157d..9ee0c75 100644
--- a/content/staging/docs/develop-tools.html
+++ b/content/staging/docs/develop-tools.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Simulation tools · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="It is sometimes necessary create an test environment and incur artificial load to observe how well load managers"/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Simu [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Simulation tools · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="It is sometimes necessary create an test environment and incur artificial load to observe how well load managers"/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Simu [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -157,4 +157,11 @@ console as it is updated using watchers.</p>
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/develop-tools/index.html b/content/staging/docs/develop-tools/index.html
index 10d157d..9ee0c75 100644
--- a/content/staging/docs/develop-tools/index.html
+++ b/content/staging/docs/develop-tools/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Simulation tools · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="It is sometimes necessary create an test environment and incur artificial load to observe how well load managers"/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Simu [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Simulation tools · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="It is sometimes necessary create an test environment and incur artificial load to observe how well load managers"/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Simu [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -157,4 +157,11 @@ console as it is updated using watchers.</p>
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/functions-api.html b/content/staging/docs/functions-api.html
index 2bc1671..964704d 100644
--- a/content/staging/docs/functions-api.html
+++ b/content/staging/docs/functions-api.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>The Pulsar Functions API · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="[Pulsar Functions](/staging/docs/functions-overview) provides an easy-to-use API that developers can use to create and manage processing logic for the Apache Pulsar messaging system. With Puls [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>The Pulsar Functions API · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="[Pulsar Functions](/staging/docs/functions-overview) provides an easy-to-use API that developers can use to create and manage processing logic for the Apache Pulsar messaging system. With Puls [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -186,7 +186,7 @@
 <h4><a class="anchor" aria-hidden="true" id="java-native-examples"></a><a href="#java-native-examples" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1 [...]
 <p>There is one example Java native function in <a href="https://github.com/apache/incubator-pulsar/tree/master/pulsar-functions/java-examples/src/main/java/org/apache/pulsar/functions/api/examples">this folder</a>:</p>
 <ul>
-<li><a href="https://github.com/apache/incubator-pulsar/blob/master/pulsar-functions/java-examples/src/main/java/org/apache/pulsar/functions/api/examples/JavaNativeExclmationFunction.java"><code>JavaNativeExclmationFunction</code></a></li>
+<li><a href="https://github.com/apache/incubator-pulsar/blob/master/pulsar-functions/java-examples/src/main/java/org/apache/pulsar/functions/api/examples/JavaNativeExclamationFunction.java"><code>JavaNativeExclamationFunction</code></a></li>
 </ul>
 <h3><a class="anchor" aria-hidden="true" id="java-sdk-functions"></a><a href="#java-sdk-functions" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22- [...]
 <p>To get started developing Pulsar Functions using the Java SDK, you'll need to add a dependency on the <code>pulsar-functions-api</code> artifact to your project. Instructions can be found <a href="#java-dependencies">above</a>.</p>
@@ -646,4 +646,11 @@ String wotd = context.getUserConfigValueOrDefault(<span class="hljs-string">"wor
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/functions-api/index.html b/content/staging/docs/functions-api/index.html
index 2bc1671..964704d 100644
--- a/content/staging/docs/functions-api/index.html
+++ b/content/staging/docs/functions-api/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>The Pulsar Functions API · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="[Pulsar Functions](/staging/docs/functions-overview) provides an easy-to-use API that developers can use to create and manage processing logic for the Apache Pulsar messaging system. With Puls [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>The Pulsar Functions API · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="[Pulsar Functions](/staging/docs/functions-overview) provides an easy-to-use API that developers can use to create and manage processing logic for the Apache Pulsar messaging system. With Puls [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -186,7 +186,7 @@
 <h4><a class="anchor" aria-hidden="true" id="java-native-examples"></a><a href="#java-native-examples" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1 [...]
 <p>There is one example Java native function in <a href="https://github.com/apache/incubator-pulsar/tree/master/pulsar-functions/java-examples/src/main/java/org/apache/pulsar/functions/api/examples">this folder</a>:</p>
 <ul>
-<li><a href="https://github.com/apache/incubator-pulsar/blob/master/pulsar-functions/java-examples/src/main/java/org/apache/pulsar/functions/api/examples/JavaNativeExclmationFunction.java"><code>JavaNativeExclmationFunction</code></a></li>
+<li><a href="https://github.com/apache/incubator-pulsar/blob/master/pulsar-functions/java-examples/src/main/java/org/apache/pulsar/functions/api/examples/JavaNativeExclamationFunction.java"><code>JavaNativeExclamationFunction</code></a></li>
 </ul>
 <h3><a class="anchor" aria-hidden="true" id="java-sdk-functions"></a><a href="#java-sdk-functions" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22- [...]
 <p>To get started developing Pulsar Functions using the Java SDK, you'll need to add a dependency on the <code>pulsar-functions-api</code> artifact to your project. Instructions can be found <a href="#java-dependencies">above</a>.</p>
@@ -646,4 +646,11 @@ String wotd = context.getUserConfigValueOrDefault(<span class="hljs-string">"wor
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/functions-deploying.html b/content/staging/docs/functions-deploying.html
index d558d4f..dcb53d6 100644
--- a/content/staging/docs/functions-deploying.html
+++ b/content/staging/docs/functions-deploying.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Deploying and managing Pulsar Functions · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="At the moment, there are two deployment modes available for Pulsar Functions:"/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Deploying and ma [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Deploying and managing Pulsar Functions · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="At the moment, there are two deployment modes available for Pulsar Functions:"/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Deploying and ma [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -243,4 +243,11 @@ This <span class="hljs-keyword">function</span> <span class="hljs-title">has</sp
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/functions-deploying/index.html b/content/staging/docs/functions-deploying/index.html
index d558d4f..dcb53d6 100644
--- a/content/staging/docs/functions-deploying/index.html
+++ b/content/staging/docs/functions-deploying/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Deploying and managing Pulsar Functions · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="At the moment, there are two deployment modes available for Pulsar Functions:"/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Deploying and ma [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Deploying and managing Pulsar Functions · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="At the moment, there are two deployment modes available for Pulsar Functions:"/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Deploying and ma [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -243,4 +243,11 @@ This <span class="hljs-keyword">function</span> <span class="hljs-title">has</sp
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/functions-guarantees.html b/content/staging/docs/functions-guarantees.html
index ef1e7bd..914f20f 100644
--- a/content/staging/docs/functions-guarantees.html
+++ b/content/staging/docs/functions-guarantees.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Processing guarantees · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar Functions provides three different messaging semantics that you can apply to any function:"/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Processing gua [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Processing guarantees · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar Functions provides three different messaging semantics that you can apply to any function:"/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Processing gua [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -96,4 +96,11 @@
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/functions-guarantees/index.html b/content/staging/docs/functions-guarantees/index.html
index ef1e7bd..914f20f 100644
--- a/content/staging/docs/functions-guarantees/index.html
+++ b/content/staging/docs/functions-guarantees/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Processing guarantees · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar Functions provides three different messaging semantics that you can apply to any function:"/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Processing gua [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Processing guarantees · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar Functions provides three different messaging semantics that you can apply to any function:"/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Processing gua [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -96,4 +96,11 @@
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/functions-metrics.html b/content/staging/docs/functions-metrics.html
index ba392db..6896ac4 100644
--- a/content/staging/docs/functions-metrics.html
+++ b/content/staging/docs/functions-metrics.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Metrics for Pulsar Functions · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar Functions can publish arbitrary metrics to the metrics interface which can then be queried. This doc contains instructions for publishing metrics using the [Java](#java-sdk) and [Py [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Metrics for Pulsar Functions · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar Functions can publish arbitrary metrics to the metrics interface which can then be queried. This doc contains instructions for publishing metrics using the [Java](#java-sdk) and [Py [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -90,4 +90,11 @@
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/functions-metrics/index.html b/content/staging/docs/functions-metrics/index.html
index ba392db..6896ac4 100644
--- a/content/staging/docs/functions-metrics/index.html
+++ b/content/staging/docs/functions-metrics/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Metrics for Pulsar Functions · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar Functions can publish arbitrary metrics to the metrics interface which can then be queried. This doc contains instructions for publishing metrics using the [Java](#java-sdk) and [Py [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Metrics for Pulsar Functions · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar Functions can publish arbitrary metrics to the metrics interface which can then be queried. This doc contains instructions for publishing metrics using the [Java](#java-sdk) and [Py [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -90,4 +90,11 @@
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/functions-overview.html b/content/staging/docs/functions-overview.html
index 61d616d..d75fbfe 100644
--- a/content/staging/docs/functions-overview.html
+++ b/content/staging/docs/functions-overview.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar Functions overview · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="**Pulsar Functions** are lightweight compute processes that"/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Pulsar Functions overview · Apache Pulsar"/><met [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar Functions overview · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="**Pulsar Functions** are lightweight compute processes that"/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Pulsar Functions overview · Apache Pulsar"/><met [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -72,10 +72,10 @@
 <li>Increment a <a href="#counters">counter</a></li>
 </ul></li>
 </ul>
-<p><img src="/docs/assets/pulsar-functions-overview.png" alt="Pulsar Functions core programming model"></p>
+<p><img src="/staging/docs/assets/pulsar-functions-overview.png" alt="Pulsar Functions core programming model"></p>
 <h3><a class="anchor" aria-hidden="true" id="word-count-example"></a><a href="#word-count-example" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22- [...]
 <p>If you were to implement the classic word count example using Pulsar Functions, it might look something like this:</p>
-<p><img src="/docs/assets/pulsar-functions-word-count.png" alt="Pulsar Functions word count example"></p>
+<p><img src="/staging/docs/assets/pulsar-functions-word-count.png" alt="Pulsar Functions word count example"></p>
 <p>If you were writing the function in <a href="/staging/docs/functions-api#java">Java</a> using the <a href="/staging/docs/functions-api#java-sdk">Pulsar Functions SDK for Java</a>, you could write the function like this...</p>
 <pre><code class="hljs css languages- java"><span class="hljs-keyword">package</span> org.example.functions;
 
@@ -109,7 +109,7 @@
 <h3><a class="anchor" aria-hidden="true" id="content-based-routing-example"></a><a href="#content-based-routing-example" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12  [...]
 <p>The use cases for Pulsar Functions are essentially endless, but let's dig into a more sophisticated example that involves content-based routing.</p>
 <p>Imagine a function that takes items (strings) as input and publishes them to either a fruits or vegetables topic, depending on the item. Or, if an item is neither a fruit nor a vegetable, a warning is logged to a <a href="#logging">log topic</a>. Here's a visual representation:</p>
-<p><img src="/docs/assets/pulsar-functions-routing-example.png" alt="Pulsar Functions routing example"></p>
+<p><img src="/staging/docs/assets/pulsar-functions-routing-example.png" alt="Pulsar Functions routing example"></p>
 <p>If you were implementing this routing functionality in Python, it might look something like this:</p>
 <pre><code class="hljs css languages- python"><span class="hljs-keyword">from</span> pulsar <span class="hljs-keyword">import</span> Function
 
@@ -415,4 +415,11 @@
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/functions-overview/index.html b/content/staging/docs/functions-overview/index.html
index 61d616d..d75fbfe 100644
--- a/content/staging/docs/functions-overview/index.html
+++ b/content/staging/docs/functions-overview/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar Functions overview · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="**Pulsar Functions** are lightweight compute processes that"/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Pulsar Functions overview · Apache Pulsar"/><met [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar Functions overview · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="**Pulsar Functions** are lightweight compute processes that"/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Pulsar Functions overview · Apache Pulsar"/><met [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -72,10 +72,10 @@
 <li>Increment a <a href="#counters">counter</a></li>
 </ul></li>
 </ul>
-<p><img src="/docs/assets/pulsar-functions-overview.png" alt="Pulsar Functions core programming model"></p>
+<p><img src="/staging/docs/assets/pulsar-functions-overview.png" alt="Pulsar Functions core programming model"></p>
 <h3><a class="anchor" aria-hidden="true" id="word-count-example"></a><a href="#word-count-example" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22- [...]
 <p>If you were to implement the classic word count example using Pulsar Functions, it might look something like this:</p>
-<p><img src="/docs/assets/pulsar-functions-word-count.png" alt="Pulsar Functions word count example"></p>
+<p><img src="/staging/docs/assets/pulsar-functions-word-count.png" alt="Pulsar Functions word count example"></p>
 <p>If you were writing the function in <a href="/staging/docs/functions-api#java">Java</a> using the <a href="/staging/docs/functions-api#java-sdk">Pulsar Functions SDK for Java</a>, you could write the function like this...</p>
 <pre><code class="hljs css languages- java"><span class="hljs-keyword">package</span> org.example.functions;
 
@@ -109,7 +109,7 @@
 <h3><a class="anchor" aria-hidden="true" id="content-based-routing-example"></a><a href="#content-based-routing-example" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12  [...]
 <p>The use cases for Pulsar Functions are essentially endless, but let's dig into a more sophisticated example that involves content-based routing.</p>
 <p>Imagine a function that takes items (strings) as input and publishes them to either a fruits or vegetables topic, depending on the item. Or, if an item is neither a fruit nor a vegetable, a warning is logged to a <a href="#logging">log topic</a>. Here's a visual representation:</p>
-<p><img src="/docs/assets/pulsar-functions-routing-example.png" alt="Pulsar Functions routing example"></p>
+<p><img src="/staging/docs/assets/pulsar-functions-routing-example.png" alt="Pulsar Functions routing example"></p>
 <p>If you were implementing this routing functionality in Python, it might look something like this:</p>
 <pre><code class="hljs css languages- python"><span class="hljs-keyword">from</span> pulsar <span class="hljs-keyword">import</span> Function
 
@@ -415,4 +415,11 @@
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/functions-quickstart.html b/content/staging/docs/functions-quickstart.html
index 2a91849..5e255f2 100644
--- a/content/staging/docs/functions-quickstart.html
+++ b/content/staging/docs/functions-quickstart.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Getting started with Pulsar Functions · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="This tutorial will walk you through running a {% popover standalone %} Pulsar {% popover cluster %} on your machine and then running your first Pulsar Functions using that cluster [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Getting started with Pulsar Functions · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="This tutorial will walk you through running a {% popover standalone %} Pulsar {% popover cluster %} on your machine and then running your first Pulsar Functions using that cluster [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -252,4 +252,11 @@ $ bin/pulsar standalone \
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/functions-quickstart/index.html b/content/staging/docs/functions-quickstart/index.html
index 2a91849..5e255f2 100644
--- a/content/staging/docs/functions-quickstart/index.html
+++ b/content/staging/docs/functions-quickstart/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Getting started with Pulsar Functions · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="This tutorial will walk you through running a {% popover standalone %} Pulsar {% popover cluster %} on your machine and then running your first Pulsar Functions using that cluster [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Getting started with Pulsar Functions · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="This tutorial will walk you through running a {% popover standalone %} Pulsar {% popover cluster %} on your machine and then running your first Pulsar Functions using that cluster [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -252,4 +252,11 @@ $ bin/pulsar standalone \
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/io-overview.html b/content/staging/docs/io-overview.html
index 49955f7..6ce0975 100644
--- a/content/staging/docs/io-overview.html
+++ b/content/staging/docs/io-overview.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar IO Overview · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Messaging systems are most powerful when you can easily use them in conjunction with external systems like databases and other messaging systems. **Pulsar IO** is a feature of Pulsar that enables yo [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar IO Overview · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Messaging systems are most powerful when you can easily use them in conjunction with external systems like databases and other messaging systems. **Pulsar IO** is a feature of Pulsar that enables yo [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -33,7 +33,7 @@
 <li><strong>Sinks</strong> are fed data <em>from</em> Pulsar. Common sinks include other messaging systems and SQL and NoSQL databases.</li>
 </ul>
 <p>This diagram illustrates the relationship between sources, sinks, and Pulsar:</p>
-<p><img src="/docs/assets/pulsar-io.png" alt="Pulsar IO diagram" title="Pulsar IO connectors (sources and sinks"></p>
+<p><img src="/staging/docs/assets/pulsar-io.png" alt="Pulsar IO diagram" title="Pulsar IO connectors (sources and sinks"></p>
 <h2><a class="anchor" aria-hidden="true" id="working-with-connectors"></a><a href="#working-with-connectors" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 [...]
 <p>Pulsar IO connectors can be managed via the <a href="/staging/docs/pulsar-admin"><code>pulsar-admin</code></a> CLI tool, in particular the <a href="/staging/docs/pulsar-admin#source"><code>source</code></a> and <a href="/staging/docs/pulsar-admin#sink"><code>sink</code></a> commands.</p>
 <blockquote>
@@ -96,4 +96,11 @@
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/io-overview/index.html b/content/staging/docs/io-overview/index.html
index 49955f7..6ce0975 100644
--- a/content/staging/docs/io-overview/index.html
+++ b/content/staging/docs/io-overview/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar IO Overview · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Messaging systems are most powerful when you can easily use them in conjunction with external systems like databases and other messaging systems. **Pulsar IO** is a feature of Pulsar that enables yo [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar IO Overview · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Messaging systems are most powerful when you can easily use them in conjunction with external systems like databases and other messaging systems. **Pulsar IO** is a feature of Pulsar that enables yo [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -33,7 +33,7 @@
 <li><strong>Sinks</strong> are fed data <em>from</em> Pulsar. Common sinks include other messaging systems and SQL and NoSQL databases.</li>
 </ul>
 <p>This diagram illustrates the relationship between sources, sinks, and Pulsar:</p>
-<p><img src="/docs/assets/pulsar-io.png" alt="Pulsar IO diagram" title="Pulsar IO connectors (sources and sinks"></p>
+<p><img src="/staging/docs/assets/pulsar-io.png" alt="Pulsar IO diagram" title="Pulsar IO connectors (sources and sinks"></p>
 <h2><a class="anchor" aria-hidden="true" id="working-with-connectors"></a><a href="#working-with-connectors" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 [...]
 <p>Pulsar IO connectors can be managed via the <a href="/staging/docs/pulsar-admin"><code>pulsar-admin</code></a> CLI tool, in particular the <a href="/staging/docs/pulsar-admin#source"><code>source</code></a> and <a href="/staging/docs/pulsar-admin#sink"><code>sink</code></a> commands.</p>
 <blockquote>
@@ -96,4 +96,11 @@
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/io-quickstart.html b/content/staging/docs/io-quickstart.html
index 6f34b4c..cb20603 100644
--- a/content/staging/docs/io-quickstart.html
+++ b/content/staging/docs/io-quickstart.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar IO Overview · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="[Pulsar IO](/staging/docs/concepts-architecture#pulsar-io) is a feature of Pulsar that enables you to easily create and manage **connectors** that interface with external systems, such as databases  [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar IO Overview · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="[Pulsar IO](/staging/docs/concepts-architecture#pulsar-io) is a feature of Pulsar that enables you to easily create and manage **connectors** that interface with external systems, such as databases  [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -105,4 +105,11 @@
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/io-quickstart/index.html b/content/staging/docs/io-quickstart/index.html
index 6f34b4c..cb20603 100644
--- a/content/staging/docs/io-quickstart/index.html
+++ b/content/staging/docs/io-quickstart/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar IO Overview · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="[Pulsar IO](/staging/docs/concepts-architecture#pulsar-io) is a feature of Pulsar that enables you to easily create and manage **connectors** that interface with external systems, such as databases  [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar IO Overview · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="[Pulsar IO](/staging/docs/concepts-architecture#pulsar-io) is a feature of Pulsar that enables you to easily create and manage **connectors** that interface with external systems, such as databases  [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -105,4 +105,11 @@
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/pulsar-2.0.html b/content/staging/docs/pulsar-2.0.html
index a8af542..28adc6f 100644
--- a/content/staging/docs/pulsar-2.0.html
+++ b/content/staging/docs/pulsar-2.0.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar 2.0 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar 2.0 is a major new release for Pulsar that brings some bold changes to the platform, including [simplified topic names](#topic-names), the addition of the [Pulsar Functions](/staging/docs/functions-o [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar 2.0 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar 2.0 is a major new release for Pulsar that brings some bold changes to the platform, including [simplified topic names](#topic-names), the addition of the [Pulsar Functions](/staging/docs/functions-o [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -120,4 +120,11 @@
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/pulsar-2.0/index.html b/content/staging/docs/pulsar-2.0/index.html
index a8af542..28adc6f 100644
--- a/content/staging/docs/pulsar-2.0/index.html
+++ b/content/staging/docs/pulsar-2.0/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar 2.0 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar 2.0 is a major new release for Pulsar that brings some bold changes to the platform, including [simplified topic names](#topic-names), the addition of the [Pulsar Functions](/staging/docs/functions-o [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar 2.0 · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar 2.0 is a major new release for Pulsar that brings some bold changes to the platform, including [simplified topic names](#topic-names), the addition of the [Pulsar Functions](/staging/docs/functions-o [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -120,4 +120,11 @@
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/pulsar-admin.html b/content/staging/docs/pulsar-admin.html
index b3df4cb..9969bd0 100644
--- a/content/staging/docs/pulsar-admin.html
+++ b/content/staging/docs/pulsar-admin.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar admin CLI · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="The `pulsar-admin` tool enables you to manage Pulsar installations, including clusters, brokers, namespaces, tenants, and more."/><meta name="docsearch:language" content="en"/><meta property="og:title [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar admin CLI · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="The `pulsar-admin` tool enables you to manage Pulsar installations, including clusters, brokers, namespaces, tenants, and more."/><meta name="docsearch:language" content="en"/><meta property="og:title [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -990,6 +990,7 @@
 <li><code>create-partitioned-topic</code></li>
 <li><code>delete-partitioned-topic</code></li>
 <li><code>get-partitioned-topic-metadata</code></li>
+<li><code>update-partitioned-topic</code></li>
 <li><code>list</code></li>
 <li><code>list-in-bundle</code></li>
 <li><code>terminate</code></li>
@@ -1084,6 +1085,20 @@
 <p>Usage</p>
 <pre><code class="hljs css languages- bash">$ pulsar-admin topics get-partitioned-topic-metadata {persistent|non-persistent}://tenant/namespace/topic
 </code></pre>
+<h3><a class="anchor" aria-hidden="true" id="update-partitioned-topic"></a><a href="#update-partitioned-topic" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-. [...]
+<p>Update existing non-global partitioned topic. New updating number of partitions must be greater than existing number of partitions.</p>
+<p>Usage</p>
+<pre><code class="hljs css languages- bash">$ pulsar-admin topics update-partitioned-topic {persistent|non-persistent}://tenant/namespace/topic options
+</code></pre>
+<p>Options</p>
+<table>
+<thead>
+<tr><th>Flag</th><th>Description</th><th>Default</th></tr>
+</thead>
+<tbody>
+<tr><td><code>-p</code>, <code>--partitions</code></td><td>The number of partitions for the topic</td><td>0</td></tr>
+</tbody>
+</table>
 <h3><a class="anchor" aria-hidden="true" id="list-5"></a><a href="#list-5" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
 <p>Get the list of topics under a namespace</p>
 <p>Usage</p>
@@ -1453,7 +1468,7 @@
 <tr><td><code>--version</code></td><td>The version of the schema definition to retrive for a topic.</td><td></td></tr>
 </tbody>
 </table>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/staging/docs/reference-cli-tools">← Pulsar command-line tools</a><a class="docs-next button" href="/staging/docs/reference-configuration">Pulsar configuration →</a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#broker-stats"><code>broker-stats</code></a><ul class="toc-headings"><li><a href="#allocator-stats"><code>allocator-stats</code></a></li><li><a href="#desinat [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/staging/docs/reference-cli-tools">← Pulsar command-line tools</a><a class="docs-next button" href="/staging/docs/reference-configuration">Pulsar configuration →</a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#broker-stats"><code>broker-stats</code></a><ul class="toc-headings"><li><a href="#allocator-stats"><code>allocator-stats</code></a></li><li><a href="#desinat [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu = 
         '<li>' +
@@ -1496,4 +1511,11 @@
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/pulsar-admin/index.html b/content/staging/docs/pulsar-admin/index.html
index b3df4cb..9969bd0 100644
--- a/content/staging/docs/pulsar-admin/index.html
+++ b/content/staging/docs/pulsar-admin/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar admin CLI · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="The `pulsar-admin` tool enables you to manage Pulsar installations, including clusters, brokers, namespaces, tenants, and more."/><meta name="docsearch:language" content="en"/><meta property="og:title [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar admin CLI · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="The `pulsar-admin` tool enables you to manage Pulsar installations, including clusters, brokers, namespaces, tenants, and more."/><meta name="docsearch:language" content="en"/><meta property="og:title [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -990,6 +990,7 @@
 <li><code>create-partitioned-topic</code></li>
 <li><code>delete-partitioned-topic</code></li>
 <li><code>get-partitioned-topic-metadata</code></li>
+<li><code>update-partitioned-topic</code></li>
 <li><code>list</code></li>
 <li><code>list-in-bundle</code></li>
 <li><code>terminate</code></li>
@@ -1084,6 +1085,20 @@
 <p>Usage</p>
 <pre><code class="hljs css languages- bash">$ pulsar-admin topics get-partitioned-topic-metadata {persistent|non-persistent}://tenant/namespace/topic
 </code></pre>
+<h3><a class="anchor" aria-hidden="true" id="update-partitioned-topic"></a><a href="#update-partitioned-topic" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-. [...]
+<p>Update existing non-global partitioned topic. New updating number of partitions must be greater than existing number of partitions.</p>
+<p>Usage</p>
+<pre><code class="hljs css languages- bash">$ pulsar-admin topics update-partitioned-topic {persistent|non-persistent}://tenant/namespace/topic options
+</code></pre>
+<p>Options</p>
+<table>
+<thead>
+<tr><th>Flag</th><th>Description</th><th>Default</th></tr>
+</thead>
+<tbody>
+<tr><td><code>-p</code>, <code>--partitions</code></td><td>The number of partitions for the topic</td><td>0</td></tr>
+</tbody>
+</table>
 <h3><a class="anchor" aria-hidden="true" id="list-5"></a><a href="#list-5" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
 <p>Get the list of topics under a namespace</p>
 <p>Usage</p>
@@ -1453,7 +1468,7 @@
 <tr><td><code>--version</code></td><td>The version of the schema definition to retrive for a topic.</td><td></td></tr>
 </tbody>
 </table>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/staging/docs/reference-cli-tools">← Pulsar command-line tools</a><a class="docs-next button" href="/staging/docs/reference-configuration">Pulsar configuration →</a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#broker-stats"><code>broker-stats</code></a><ul class="toc-headings"><li><a href="#allocator-stats"><code>allocator-stats</code></a></li><li><a href="#desinat [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/staging/docs/reference-cli-tools">← Pulsar command-line tools</a><a class="docs-next button" href="/staging/docs/reference-configuration">Pulsar configuration →</a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#broker-stats"><code>broker-stats</code></a><ul class="toc-headings"><li><a href="#allocator-stats"><code>allocator-stats</code></a></li><li><a href="#desinat [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu = 
         '<li>' +
@@ -1496,4 +1511,11 @@
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/reference-auth.html b/content/staging/docs/reference-auth.html
index b6cad7a..5cfe3bc 100644
--- a/content/staging/docs/reference-auth.html
+++ b/content/staging/docs/reference-auth.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Extending Authentication and Authorization in Pulsar · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar provides a way to use custom authentication and authorization mechanisms"/><meta name="docsearch:language" content="en"/><meta property="og:title" content="E [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Extending Authentication and Authorization in Pulsar · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar provides a way to use custom authentication and authorization mechanisms"/><meta name="docsearch:language" content="en"/><meta property="og:title" content="E [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -239,4 +239,11 @@ authorizationProvider=org.apache.pulsar.broker.authorization.PulsarAuthorization
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/reference-auth/index.html b/content/staging/docs/reference-auth/index.html
index b6cad7a..5cfe3bc 100644
--- a/content/staging/docs/reference-auth/index.html
+++ b/content/staging/docs/reference-auth/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Extending Authentication and Authorization in Pulsar · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar provides a way to use custom authentication and authorization mechanisms"/><meta name="docsearch:language" content="en"/><meta property="og:title" content="E [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Extending Authentication and Authorization in Pulsar · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar provides a way to use custom authentication and authorization mechanisms"/><meta name="docsearch:language" content="en"/><meta property="og:title" content="E [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -239,4 +239,11 @@ authorizationProvider=org.apache.pulsar.broker.authorization.PulsarAuthorization
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/reference-cli-tools.html b/content/staging/docs/reference-cli-tools.html
index a10113d..215b8f3 100644
--- a/content/staging/docs/reference-cli-tools.html
+++ b/content/staging/docs/reference-cli-tools.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar command-line tools · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar offers several command-line tools that you can use for managing Pulsar installations, performance testing, using command-line producers and consumers, and more."/><meta name="docsearch [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar command-line tools · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar offers several command-line tools that you can use for managing Pulsar installations, performance testing, using command-line producers and consumers, and more."/><meta name="docsearch [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -610,4 +610,11 @@ The table below lists the environment variables that you can use to configure th
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/reference-cli-tools/index.html b/content/staging/docs/reference-cli-tools/index.html
index a10113d..215b8f3 100644
--- a/content/staging/docs/reference-cli-tools/index.html
+++ b/content/staging/docs/reference-cli-tools/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar command-line tools · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar offers several command-line tools that you can use for managing Pulsar installations, performance testing, using command-line producers and consumers, and more."/><meta name="docsearch [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar command-line tools · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar offers several command-line tools that you can use for managing Pulsar installations, performance testing, using command-line producers and consumers, and more."/><meta name="docsearch [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -610,4 +610,11 @@ The table below lists the environment variables that you can use to configure th
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/reference-configuration.html b/content/staging/docs/reference-configuration.html
index a940d4c..21a9bde 100644
--- a/content/staging/docs/reference-configuration.html
+++ b/content/staging/docs/reference-configuration.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar configuration · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;style type=&quot;text/css&quot;&gt;"/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Pulsar configuration · Apache Pulsar"/><meta property="og:type" content=" [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar configuration · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;style type=&quot;text/css&quot;&gt;"/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Pulsar configuration · Apache Pulsar"/><meta property="og:type" content=" [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -524,4 +524,11 @@ server.<span class="hljs-number">3</span>=zk3<span class="hljs-selector-class">.
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/reference-configuration/index.html b/content/staging/docs/reference-configuration/index.html
index a940d4c..21a9bde 100644
--- a/content/staging/docs/reference-configuration/index.html
+++ b/content/staging/docs/reference-configuration/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar configuration · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;style type=&quot;text/css&quot;&gt;"/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Pulsar configuration · Apache Pulsar"/><meta property="og:type" content=" [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar configuration · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;style type=&quot;text/css&quot;&gt;"/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Pulsar configuration · Apache Pulsar"/><meta property="og:type" content=" [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -524,4 +524,11 @@ server.<span class="hljs-number">3</span>=zk3<span class="hljs-selector-class">.
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/reference-rest-api.html b/content/staging/docs/reference-rest-api.html
index 20d1141..f7c6164 100644
--- a/content/staging/docs/reference-rest-api.html
+++ b/content/staging/docs/reference-rest-api.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar Admin Rest API · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="# [Pulsar Admin REST API](/staging/admin-rest-api)"/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Pulsar Admin Rest API · Apache Pulsar"/><meta property="og:ty [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar Admin Rest API · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="# [Pulsar Admin REST API](/staging/admin-rest-api)"/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Pulsar Admin Rest API · Apache Pulsar"/><meta property="og:ty [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -65,4 +65,11 @@
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/reference-rest-api/index.html b/content/staging/docs/reference-rest-api/index.html
index 20d1141..f7c6164 100644
--- a/content/staging/docs/reference-rest-api/index.html
+++ b/content/staging/docs/reference-rest-api/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar Admin Rest API · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="# [Pulsar Admin REST API](/staging/admin-rest-api)"/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Pulsar Admin Rest API · Apache Pulsar"/><meta property="og:ty [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar Admin Rest API · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="# [Pulsar Admin REST API](/staging/admin-rest-api)"/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Pulsar Admin Rest API · Apache Pulsar"/><meta property="og:ty [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -65,4 +65,11 @@
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/security-athenz.html b/content/staging/docs/security-athenz.html
index 4904a56..6d62778 100644
--- a/content/staging/docs/security-athenz.html
+++ b/content/staging/docs/security-athenz.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Authentication using Athenz · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="[Athenz](https://github.com/yahoo/athenz) is a role-based authentication/authorization system. In Pulsar, Athenz role tokens (aka *z-tokens*) can be used to establish the identify of the cl [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Authentication using Athenz · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="[Athenz](https://github.com/yahoo/athenz) is a role-based authentication/authorization system. In Pulsar, Athenz role tokens (aka *z-tokens*) can be used to establish the identify of the cl [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -121,4 +121,11 @@
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/security-athenz/index.html b/content/staging/docs/security-athenz/index.html
index 4904a56..6d62778 100644
--- a/content/staging/docs/security-athenz/index.html
+++ b/content/staging/docs/security-athenz/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Authentication using Athenz · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="[Athenz](https://github.com/yahoo/athenz) is a role-based authentication/authorization system. In Pulsar, Athenz role tokens (aka *z-tokens*) can be used to establish the identify of the cl [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Authentication using Athenz · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="[Athenz](https://github.com/yahoo/athenz) is a role-based authentication/authorization system. In Pulsar, Athenz role tokens (aka *z-tokens*) can be used to establish the identify of the cl [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -121,4 +121,11 @@
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/security-authorization.html b/content/staging/docs/security-authorization.html
index cae6c29..5b2306b 100644
--- a/content/staging/docs/security-authorization.html
+++ b/content/staging/docs/security-authorization.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Authentication and authorization in Pulsar · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="n Pulsar, the [authentication provider](/staging/docs/security-overview#authentication-providers) is charged with properly identifying clients and"/><meta name="docsearch:lan [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Authentication and authorization in Pulsar · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="n Pulsar, the [authentication provider](/staging/docs/security-overview#authentication-providers) is charged with properly identifying clients and"/><meta name="docsearch:lan [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -121,4 +121,11 @@ PulsarAdmin admin = <span class="hljs-keyword">new</span> PulsarAdmin(url, confi
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/security-authorization/index.html b/content/staging/docs/security-authorization/index.html
index cae6c29..5b2306b 100644
--- a/content/staging/docs/security-authorization/index.html
+++ b/content/staging/docs/security-authorization/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Authentication and authorization in Pulsar · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="n Pulsar, the [authentication provider](/staging/docs/security-overview#authentication-providers) is charged with properly identifying clients and"/><meta name="docsearch:lan [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Authentication and authorization in Pulsar · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="n Pulsar, the [authentication provider](/staging/docs/security-overview#authentication-providers) is charged with properly identifying clients and"/><meta name="docsearch:lan [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -121,4 +121,11 @@ PulsarAdmin admin = <span class="hljs-keyword">new</span> PulsarAdmin(url, confi
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/security-encryption.html b/content/staging/docs/security-encryption.html
index 3df6da5..1fb7761 100644
--- a/content/staging/docs/security-encryption.html
+++ b/content/staging/docs/security-encryption.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar Encryption · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar encryption allows applications to encrypt messages at the producer and decrypt at the consumer. Encryption is performed using the public/private key pair configured by the application. Encrypt [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar Encryption · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar encryption allows applications to encrypt messages at the producer and decrypt at the consumer. Encryption is performed using the public/private key pair configured by the application. Encrypt [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -29,9 +29,9 @@
 <p>A message can be encrypted with more than one key.  Any one of the keys used for encrypting the message is sufficient to decrypt the message</p>
 <p>Pulsar does not store the encryption key anywhere in the pulsar service. If you lose/delete the private key, your message is irretrievably lost, and is unrecoverable</p>
 <h2><a class="anchor" aria-hidden="true" id="producer"></a><a href="#producer" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64  [...]
-<p><img src="/docs/assets/pulsar-encryption-producer.jpg" alt="alt text" title="Pulsar Encryption Producer"></p>
+<p><img src="/staging/docs/assets/pulsar-encryption-producer.jpg" alt="alt text" title="Pulsar Encryption Producer"></p>
 <h2><a class="anchor" aria-hidden="true" id="consumer"></a><a href="#consumer" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64  [...]
-<p><img src="/docs/assets/pulsar-encryption-consumer.jpg" alt="alt text" title="Pulsar Encryption Consumer"></p>
+<p><img src="/staging/docs/assets/pulsar-encryption-consumer.jpg" alt="alt text" title="Pulsar Encryption Consumer"></p>
 <h2><a class="anchor" aria-hidden="true" id="here-are-the-steps-to-get-started"></a><a href="#here-are-the-steps-to-get-started" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S1 [...]
 <ol>
 <li>Create your ECDSA or RSA public/private key pair.</li>
@@ -220,4 +220,11 @@ Application will never be able to decrypt the messages if the private key is per
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/security-encryption/index.html b/content/staging/docs/security-encryption/index.html
index 3df6da5..1fb7761 100644
--- a/content/staging/docs/security-encryption/index.html
+++ b/content/staging/docs/security-encryption/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar Encryption · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar encryption allows applications to encrypt messages at the producer and decrypt at the consumer. Encryption is performed using the public/private key pair configured by the application. Encrypt [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar Encryption · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar encryption allows applications to encrypt messages at the producer and decrypt at the consumer. Encryption is performed using the public/private key pair configured by the application. Encrypt [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -29,9 +29,9 @@
 <p>A message can be encrypted with more than one key.  Any one of the keys used for encrypting the message is sufficient to decrypt the message</p>
 <p>Pulsar does not store the encryption key anywhere in the pulsar service. If you lose/delete the private key, your message is irretrievably lost, and is unrecoverable</p>
 <h2><a class="anchor" aria-hidden="true" id="producer"></a><a href="#producer" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64  [...]
-<p><img src="/docs/assets/pulsar-encryption-producer.jpg" alt="alt text" title="Pulsar Encryption Producer"></p>
+<p><img src="/staging/docs/assets/pulsar-encryption-producer.jpg" alt="alt text" title="Pulsar Encryption Producer"></p>
 <h2><a class="anchor" aria-hidden="true" id="consumer"></a><a href="#consumer" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64  [...]
-<p><img src="/docs/assets/pulsar-encryption-consumer.jpg" alt="alt text" title="Pulsar Encryption Consumer"></p>
+<p><img src="/staging/docs/assets/pulsar-encryption-consumer.jpg" alt="alt text" title="Pulsar Encryption Consumer"></p>
 <h2><a class="anchor" aria-hidden="true" id="here-are-the-steps-to-get-started"></a><a href="#here-are-the-steps-to-get-started" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S1 [...]
 <ol>
 <li>Create your ECDSA or RSA public/private key pair.</li>
@@ -220,4 +220,11 @@ Application will never be able to decrypt the messages if the private key is per
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/security-extending.html b/content/staging/docs/security-extending.html
index e56ae7e..7d25049 100644
--- a/content/staging/docs/security-extending.html
+++ b/content/staging/docs/security-extending.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Extending Authentication and Authorization in Pulsar · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar provides a way to use custom authentication and authorization mechanisms"/><meta name="docsearch:language" content="en"/><meta property="og:title" content="E [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Extending Authentication and Authorization in Pulsar · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar provides a way to use custom authentication and authorization mechanisms"/><meta name="docsearch:language" content="en"/><meta property="og:title" content="E [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -239,4 +239,11 @@ authorizationProvider=org.apache.pulsar.broker.authorization.PulsarAuthorization
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/security-extending/index.html b/content/staging/docs/security-extending/index.html
index e56ae7e..7d25049 100644
--- a/content/staging/docs/security-extending/index.html
+++ b/content/staging/docs/security-extending/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Extending Authentication and Authorization in Pulsar · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar provides a way to use custom authentication and authorization mechanisms"/><meta name="docsearch:language" content="en"/><meta property="og:title" content="E [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Extending Authentication and Authorization in Pulsar · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Pulsar provides a way to use custom authentication and authorization mechanisms"/><meta name="docsearch:language" content="en"/><meta property="og:title" content="E [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -239,4 +239,11 @@ authorizationProvider=org.apache.pulsar.broker.authorization.PulsarAuthorization
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/security-overview.html b/content/staging/docs/security-overview.html
index 25a8c89..0e7c349 100644
--- a/content/staging/docs/security-overview.html
+++ b/content/staging/docs/security-overview.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar Security Overview · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Apache Pulsar is the central message bus for a business. It is frequently used to store mission-critical data, and therefore enabling security features are crucial."/><meta name="docsearch:lan [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar Security Overview · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Apache Pulsar is the central message bus for a business. It is frequently used to store mission-critical data, and therefore enabling security features are crucial."/><meta name="docsearch:lan [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -89,4 +89,11 @@ role token is then used for <a href="/staging/docs/security-authorization">Autho
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/security-overview/index.html b/content/staging/docs/security-overview/index.html
index 25a8c89..0e7c349 100644
--- a/content/staging/docs/security-overview/index.html
+++ b/content/staging/docs/security-overview/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar Security Overview · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Apache Pulsar is the central message bus for a business. It is frequently used to store mission-critical data, and therefore enabling security features are crucial."/><meta name="docsearch:lan [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Pulsar Security Overview · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Apache Pulsar is the central message bus for a business. It is frequently used to store mission-critical data, and therefore enabling security features are crucial."/><meta name="docsearch:lan [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -89,4 +89,11 @@ role token is then used for <a href="/staging/docs/security-authorization">Autho
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/security-tls.html b/content/staging/docs/security-tls.html
index 9163157..2c0a714 100644
--- a/content/staging/docs/security-tls.html
+++ b/content/staging/docs/security-tls.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Encryption and Authentication using TLS · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="With [TLS](https://en.wikipedia.org/wiki/Transport_Layer_Security) authentication, the server authenticates the client (also called “2-way authentication”)."/><meta name="docsea [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Encryption and Authentication using TLS · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="With [TLS](https://en.wikipedia.org/wiki/Transport_Layer_Security) authentication, the server authenticates the client (also called “2-way authentication”)."/><meta name="docsea [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -156,4 +156,11 @@ referring to 2-way authentication in which the broker also authenticates the cli
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/security-tls/index.html b/content/staging/docs/security-tls/index.html
index 9163157..2c0a714 100644
--- a/content/staging/docs/security-tls/index.html
+++ b/content/staging/docs/security-tls/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Encryption and Authentication using TLS · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="With [TLS](https://en.wikipedia.org/wiki/Transport_Layer_Security) authentication, the server authenticates the client (also called “2-way authentication”)."/><meta name="docsea [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Encryption and Authentication using TLS · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="With [TLS](https://en.wikipedia.org/wiki/Transport_Layer_Security) authentication, the server authenticates the client (also called “2-way authentication”)."/><meta name="docsea [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -156,4 +156,11 @@ referring to 2-way authentication in which the broker also authenticates the cli
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/standalone-docker.html b/content/staging/docs/standalone-docker.html
index 2145127..c1e3c71 100644
--- a/content/staging/docs/standalone-docker.html
+++ b/content/staging/docs/standalone-docker.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Start a standalone cluster with Docker · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="For the purposes of local development and testing, you can run Pulsar in standalone"/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Start a sta [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Start a standalone cluster with Docker · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="For the purposes of local development and testing, you can run Pulsar in standalone"/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Start a sta [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -186,4 +186,11 @@ You can find detailed documentation of all the APIs in the <a href="/staging/doc
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/standalone-docker/index.html b/content/staging/docs/standalone-docker/index.html
index 2145127..c1e3c71 100644
--- a/content/staging/docs/standalone-docker/index.html
+++ b/content/staging/docs/standalone-docker/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Start a standalone cluster with Docker · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="For the purposes of local development and testing, you can run Pulsar in standalone"/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Start a sta [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Start a standalone cluster with Docker · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="For the purposes of local development and testing, you can run Pulsar in standalone"/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Start a sta [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -186,4 +186,11 @@ You can find detailed documentation of all the APIs in the <a href="/staging/doc
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/standalone.html b/content/staging/docs/standalone.html
index a1dab2b..e741fb5 100644
--- a/content/staging/docs/standalone.html
+++ b/content/staging/docs/standalone.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Setting up a local standalone cluster · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="For the purposes of local development and testing, you can run Pulsar in standalone mode on your own machine. Standalone mode includes a Pulsar broker as well as the necessary Zoo [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Setting up a local standalone cluster · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="For the purposes of local development and testing, you can run Pulsar in standalone mode on your own machine. Standalone mode includes a Pulsar broker as well as the necessary Zoo [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -164,4 +164,11 @@ Result result = client.createProducer(<span class="hljs-string">"my-topic"</span
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/docs/standalone/index.html b/content/staging/docs/standalone/index.html
index a1dab2b..e741fb5 100644
--- a/content/staging/docs/standalone/index.html
+++ b/content/staging/docs/standalone/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Setting up a local standalone cluster · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="For the purposes of local development and testing, you can run Pulsar in standalone mode on your own machine. Standalone mode includes a Pulsar broker as well as the necessary Zoo [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Setting up a local standalone cluster · Apache Pulsar</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="For the purposes of local development and testing, you can run Pulsar in standalone mode on your own machine. Standalone mode includes a Pulsar broker as well as the necessary Zoo [...]
             document.addEventListener('DOMContentLoaded', function() {
               createToggler('#navToggler', '#docsNav', 'docsSliderActive');
               createToggler('#tocToggler', 'body', 'tocActive');
@@ -164,4 +164,11 @@ Result result = client.createProducer(<span class="hljs-string">"my-topic"</span
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/download.html b/content/staging/download.html
index ed9c476..4327a6a 100644
--- a/content/staging/download.html
+++ b/content/staging/download.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/staging/index.html"/><meta property="og:description" con [...]
+<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/staging/index.html"/><meta property="og:description" con [...]
 </span></div><h2>Release notes</h2><div><span><p><a href="/release-notes">Release notes</a> for all Pulsar's versions</p>
 </span></div><h2>Getting started</h2><div><span><p>Once you've downloaded a Pulsar release, instructions on getting up and running with a standalone cluster that you can run on your laptop can be found in the <a href="/docs/standalone">Run Pulsar locally</a> tutorial.</p>
 </span></div><p>If you need to connect to an existing Pulsar cluster or instance using an officially supported client, see the client docs for these languages:</p><table class="clients"><thead><tr><th>Client guide</th><th>API docs</th></tr></thead><tbody><tr><td><a href="docs/client-libraries-java">The Pulsar java client</a></td><td>The Pulsar java client</td></tr><tr><td><a href="docs/client-libraries-go">The Pulsar go client</a></td><td>The Pulsar go client</td></tr><tr><td><a href="do [...]
@@ -44,4 +44,11 @@
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/download/index.html b/content/staging/download/index.html
index ed9c476..4327a6a 100644
--- a/content/staging/download/index.html
+++ b/content/staging/download/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/staging/index.html"/><meta property="og:description" con [...]
+<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/staging/index.html"/><meta property="og:description" con [...]
 </span></div><h2>Release notes</h2><div><span><p><a href="/release-notes">Release notes</a> for all Pulsar's versions</p>
 </span></div><h2>Getting started</h2><div><span><p>Once you've downloaded a Pulsar release, instructions on getting up and running with a standalone cluster that you can run on your laptop can be found in the <a href="/docs/standalone">Run Pulsar locally</a> tutorial.</p>
 </span></div><p>If you need to connect to an existing Pulsar cluster or instance using an officially supported client, see the client docs for these languages:</p><table class="clients"><thead><tr><th>Client guide</th><th>API docs</th></tr></thead><tbody><tr><td><a href="docs/client-libraries-java">The Pulsar java client</a></td><td>The Pulsar java client</td></tr><tr><td><a href="docs/client-libraries-go">The Pulsar go client</a></td><td>The Pulsar go client</td></tr><tr><td><a href="do [...]
@@ -44,4 +44,11 @@
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/en/admin-rest-api.html b/content/staging/en/admin-rest-api.html
index a553cbb..7fd805a 100644
--- a/content/staging/en/admin-rest-api.html
+++ b/content/staging/en/admin-rest-api.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/ [...]
       const ui = SwaggerUIBundle({
         url: "/staging/swagger/swagger.json",
         dom_id: '#swagger-ui',
@@ -58,4 +58,11 @@
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/en/admin-rest-api/index.html b/content/staging/en/admin-rest-api/index.html
index a553cbb..7fd805a 100644
--- a/content/staging/en/admin-rest-api/index.html
+++ b/content/staging/en/admin-rest-api/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/ [...]
       const ui = SwaggerUIBundle({
         url: "/staging/swagger/swagger.json",
         dom_id: '#swagger-ui',
@@ -58,4 +58,11 @@
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/en/contact.html b/content/staging/en/contact.html
index 3dd6b57..6347ed4 100644
--- a/content/staging/en/contact.html
+++ b/content/staging/en/contact.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/ [...]
 </span></div><div><span><p>You can self-register at <a href="https://apache-pulsar.herokuapp.com/">https://apache-pulsar.herokuapp.com/</a></p>
 </span></div></div></div></div></div><footer class="nav-footer" id="footer"><section class="copyright">Copyright © 2018 The Apache Software Foundation. All Rights Reserved. Apache, Apache Pulsar and the Apache feather logo are trademarks of The Apache Software Foundation.</section><span><script>
       const community = document.querySelector("a[href='#community']").parentNode;
@@ -43,4 +43,11 @@
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/en/contact/index.html b/content/staging/en/contact/index.html
index 3dd6b57..6347ed4 100644
--- a/content/staging/en/contact/index.html
+++ b/content/staging/en/contact/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/ [...]
 </span></div><div><span><p>You can self-register at <a href="https://apache-pulsar.herokuapp.com/">https://apache-pulsar.herokuapp.com/</a></p>
 </span></div></div></div></div></div><footer class="nav-footer" id="footer"><section class="copyright">Copyright © 2018 The Apache Software Foundation. All Rights Reserved. Apache, Apache Pulsar and the Apache feather logo are trademarks of The Apache Software Foundation.</section><span><script>
       const community = document.querySelector("a[href='#community']").parentNode;
@@ -43,4 +43,11 @@
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/en/download.html b/content/staging/en/download.html
index da360dc..390e67c 100644
--- a/content/staging/en/download.html
+++ b/content/staging/en/download.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/ [...]
 </span></div><h2>Release notes</h2><div><span><p><a href="/release-notes">Release notes</a> for all Pulsar's versions</p>
 </span></div><h2>Getting started</h2><div><span><p>Once you've downloaded a Pulsar release, instructions on getting up and running with a standalone cluster that you can run on your laptop can be found in the <a href="/docs/standalone">Run Pulsar locally</a> tutorial.</p>
 </span></div><p>If you need to connect to an existing Pulsar cluster or instance using an officially supported client, see the client docs for these languages:</p><table class="clients"><thead><tr><th>Client guide</th><th>API docs</th></tr></thead><tbody><tr><td><a href="docs/client-libraries-java">The Pulsar java client</a></td><td>The Pulsar java client</td></tr><tr><td><a href="docs/client-libraries-go">The Pulsar go client</a></td><td>The Pulsar go client</td></tr><tr><td><a href="do [...]
@@ -44,4 +44,11 @@
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/en/download/index.html b/content/staging/en/download/index.html
index da360dc..390e67c 100644
--- a/content/staging/en/download/index.html
+++ b/content/staging/en/download/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/ [...]
 </span></div><h2>Release notes</h2><div><span><p><a href="/release-notes">Release notes</a> for all Pulsar's versions</p>
 </span></div><h2>Getting started</h2><div><span><p>Once you've downloaded a Pulsar release, instructions on getting up and running with a standalone cluster that you can run on your laptop can be found in the <a href="/docs/standalone">Run Pulsar locally</a> tutorial.</p>
 </span></div><p>If you need to connect to an existing Pulsar cluster or instance using an officially supported client, see the client docs for these languages:</p><table class="clients"><thead><tr><th>Client guide</th><th>API docs</th></tr></thead><tbody><tr><td><a href="docs/client-libraries-java">The Pulsar java client</a></td><td>The Pulsar java client</td></tr><tr><td><a href="docs/client-libraries-go">The Pulsar go client</a></td><td>The Pulsar go client</td></tr><tr><td><a href="do [...]
@@ -44,4 +44,11 @@
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/en/events.html b/content/staging/en/events.html
index 569ec53..341ee9d 100644
--- a/content/staging/en/events.html
+++ b/content/staging/en/events.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/ [...]
 <li><a href="https://www.meetup.com/Apache-Pulsar-Meetup-Group/">Apache Pulsar Bay Area Meetup Group</a></li>
 </ul>
 </span></div><div><span><ul>
@@ -47,4 +47,11 @@
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/en/events/index.html b/content/staging/en/events/index.html
index 569ec53..341ee9d 100644
--- a/content/staging/en/events/index.html
+++ b/content/staging/en/events/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/ [...]
 <li><a href="https://www.meetup.com/Apache-Pulsar-Meetup-Group/">Apache Pulsar Bay Area Meetup Group</a></li>
 </ul>
 </span></div><div><span><ul>
@@ -47,4 +47,11 @@
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/en/index.html b/content/staging/en/index.html
index 6262782..5090d27 100644
--- a/content/staging/en/index.html
+++ b/content/staging/en/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/ [...]
     Apache Pulsar is an open-source distributed pub-sub messaging system originally 
     created at Yahoo and now part of the Apache Software Foundation
   </small></h2><div class="section promoSection"><div class="promoRow"><div class="pluginRowBlock"><div class="pluginWrapper buttonWrapper"><a class="button" href="/staging/docs/en/standalone" target="_self">Read the docs</a></div><div class="pluginWrapper buttonWrapper"><a class="button" href="https://github.com/apache/incubator-pulsar" target="_self">GitHub</a></div></div></div></div></div></div></div></div><div class="mainContainer"><div class="container paddingBottom" id="key-feature [...]
@@ -62,4 +62,11 @@
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/en/release-notes.html b/content/staging/en/release-notes.html
index fd977e8..debc3d6 100644
--- a/content/staging/en/release-notes.html
+++ b/content/staging/en/release-notes.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/ [...]
 <h3><a class="anchor" aria-hidden="true" id="201-incubating-mdash-2018-06-18-a-id-201-incubating-a"></a><a href="#201-incubating-mdash-2018-06-18-a-id-201-incubating-a" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2. [...]
 <p>This release fixes issues reported for 2.0.0-rc1-incubating.</p>
 <ul>
@@ -385,4 +385,11 @@ environment with 1.14 and 1.15 brokers</li>
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/en/release-notes/index.html b/content/staging/en/release-notes/index.html
index fd977e8..debc3d6 100644
--- a/content/staging/en/release-notes/index.html
+++ b/content/staging/en/release-notes/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/ [...]
 <h3><a class="anchor" aria-hidden="true" id="201-incubating-mdash-2018-06-18-a-id-201-incubating-a"></a><a href="#201-incubating-mdash-2018-06-18-a-id-201-incubating-a" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2. [...]
 <p>This release fixes issues reported for 2.0.0-rc1-incubating.</p>
 <ul>
@@ -385,4 +385,11 @@ environment with 1.14 and 1.15 brokers</li>
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/en/resources.html b/content/staging/en/resources.html
index 07a9a84..b722a56 100644
--- a/content/staging/en/resources.html
+++ b/content/staging/en/resources.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/ [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu = 
         '<li>' +
@@ -41,4 +41,11 @@
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/en/resources/index.html b/content/staging/en/resources/index.html
index 07a9a84..b722a56 100644
--- a/content/staging/en/resources/index.html
+++ b/content/staging/en/resources/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/ [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu = 
         '<li>' +
@@ -41,4 +41,11 @@
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/en/team.html b/content/staging/en/team.html
index aae4a98..9e42b45 100644
--- a/content/staging/en/team.html
+++ b/content/staging/en/team.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/ [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu = 
         '<li>' +
@@ -41,4 +41,11 @@
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/en/team/index.html b/content/staging/en/team/index.html
index aae4a98..9e42b45 100644
--- a/content/staging/en/team/index.html
+++ b/content/staging/en/team/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/ [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu = 
         '<li>' +
@@ -41,4 +41,11 @@
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/en/versions.html b/content/staging/en/versions.html
index d7b03c2..a189ecb 100644
--- a/content/staging/en/versions.html
+++ b/content/staging/en/versions.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/ [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu = 
         '<li>' +
@@ -41,4 +41,11 @@
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/en/versions/index.html b/content/staging/en/versions/index.html
index d7b03c2..a189ecb 100644
--- a/content/staging/en/versions/index.html
+++ b/content/staging/en/versions/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/ [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/ [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu = 
         '<li>' +
@@ -41,4 +41,11 @@
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/events.html b/content/staging/events.html
index 9483ae3..78f7b2b 100644
--- a/content/staging/events.html
+++ b/content/staging/events.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/staging/index.html"/><meta property="og:description" con [...]
+<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/staging/index.html"/><meta property="og:description" con [...]
 <li><a href="https://www.meetup.com/Apache-Pulsar-Meetup-Group/">Apache Pulsar Bay Area Meetup Group</a></li>
 </ul>
 </span></div><div><span><ul>
@@ -47,4 +47,11 @@
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/events/index.html b/content/staging/events/index.html
index 9483ae3..78f7b2b 100644
--- a/content/staging/events/index.html
+++ b/content/staging/events/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/staging/index.html"/><meta property="og:description" con [...]
+<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/staging/index.html"/><meta property="og:description" con [...]
 <li><a href="https://www.meetup.com/Apache-Pulsar-Meetup-Group/">Apache Pulsar Bay Area Meetup Group</a></li>
 </ul>
 </span></div><div><span><ul>
@@ -47,4 +47,11 @@
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/index.html b/content/staging/index.html
index c8512f0..a797750 100644
--- a/content/staging/index.html
+++ b/content/staging/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/staging/index.html"/><meta property="og:description" con [...]
+<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/staging/index.html"/><meta property="og:description" con [...]
     Apache Pulsar is an open-source distributed pub-sub messaging system originally 
     created at Yahoo and now part of the Apache Software Foundation
   </small></h2><div class="section promoSection"><div class="promoRow"><div class="pluginRowBlock"><div class="pluginWrapper buttonWrapper"><a class="button" href="/staging/docs/standalone" target="_self">Read the docs</a></div><div class="pluginWrapper buttonWrapper"><a class="button" href="https://github.com/apache/incubator-pulsar" target="_self">GitHub</a></div></div></div></div></div></div></div></div><div class="mainContainer"><div class="container paddingBottom" id="key-features"> [...]
@@ -62,4 +62,11 @@
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/release-notes.html b/content/staging/release-notes.html
index 9fe06ed..e5a5350 100644
--- a/content/staging/release-notes.html
+++ b/content/staging/release-notes.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/staging/index.html"/><meta property="og:description" con [...]
+<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/staging/index.html"/><meta property="og:description" con [...]
 <h3><a class="anchor" aria-hidden="true" id="201-incubating-mdash-2018-06-18-a-id-201-incubating-a"></a><a href="#201-incubating-mdash-2018-06-18-a-id-201-incubating-a" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2. [...]
 <p>This release fixes issues reported for 2.0.0-rc1-incubating.</p>
 <ul>
@@ -385,4 +385,11 @@ environment with 1.14 and 1.15 brokers</li>
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/release-notes/index.html b/content/staging/release-notes/index.html
index 9fe06ed..e5a5350 100644
--- a/content/staging/release-notes/index.html
+++ b/content/staging/release-notes/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/staging/index.html"/><meta property="og:description" con [...]
+<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/staging/index.html"/><meta property="og:description" con [...]
 <h3><a class="anchor" aria-hidden="true" id="201-incubating-mdash-2018-06-18-a-id-201-incubating-a"></a><a href="#201-incubating-mdash-2018-06-18-a-id-201-incubating-a" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2. [...]
 <p>This release fixes issues reported for 2.0.0-rc1-incubating.</p>
 <ul>
@@ -385,4 +385,11 @@ environment with 1.14 and 1.15 brokers</li>
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/resources.html b/content/staging/resources.html
index 622fc47..1cd215c 100644
--- a/content/staging/resources.html
+++ b/content/staging/resources.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/staging/index.html"/><meta property="og:description" con [...]
+<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/staging/index.html"/><meta property="og:description" con [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu = 
         '<li>' +
@@ -41,4 +41,11 @@
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/resources/index.html b/content/staging/resources/index.html
index 622fc47..1cd215c 100644
--- a/content/staging/resources/index.html
+++ b/content/staging/resources/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/staging/index.html"/><meta property="og:description" con [...]
+<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/staging/index.html"/><meta property="og:description" con [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu = 
         '<li>' +
@@ -41,4 +41,11 @@
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/team.html b/content/staging/team.html
index d16084e..0a5bc6b 100644
--- a/content/staging/team.html
+++ b/content/staging/team.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/staging/index.html"/><meta property="og:description" con [...]
+<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/staging/index.html"/><meta property="og:description" con [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu = 
         '<li>' +
@@ -41,4 +41,11 @@
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/team/index.html b/content/staging/team/index.html
index d16084e..0a5bc6b 100644
--- a/content/staging/team/index.html
+++ b/content/staging/team/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/staging/index.html"/><meta property="og:description" con [...]
+<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/staging/index.html"/><meta property="og:description" con [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu = 
         '<li>' +
@@ -41,4 +41,11 @@
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/versions.html b/content/staging/versions.html
index 0c1fde8..860677e 100644
--- a/content/staging/versions.html
+++ b/content/staging/versions.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/staging/index.html"/><meta property="og:description" con [...]
+<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/staging/index.html"/><meta property="og:description" con [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu = 
         '<li>' +
@@ -41,4 +41,11 @@
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/content/staging/versions/index.html b/content/staging/versions/index.html
index 0c1fde8..860677e 100644
--- a/content/staging/versions/index.html
+++ b/content/staging/versions/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/staging/index.html"/><meta property="og:description" con [...]
+<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Pulsar · </title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content=""/><meta property="og:title" content="Apache Pulsar · "/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.incubator.apache.org/staging/index.html"/><meta property="og:description" con [...]
       const community = document.querySelector("a[href='#community']").parentNode;
       const communityMenu = 
         '<li>' +
@@ -41,4 +41,11 @@
               script: false,
             }
           });
-        </script></span></footer></div></body></html>
\ No newline at end of file
+        </script></span></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>
+              var search = docsearch({
+                
+                apiKey: 'd226a455cecdd4bc18a554c1b47e5b52',
+                indexName: 'apache_pulsar',
+                inputSelector: '#search_input_react'
+              });
+            </script></body></html>
\ No newline at end of file